KR102218188B1 - Node device for performing certificate management based on a block chain and operating method thereof - Google Patents

Node device for performing certificate management based on a block chain and operating method thereof Download PDF

Info

Publication number
KR102218188B1
KR102218188B1 KR1020190053077A KR20190053077A KR102218188B1 KR 102218188 B1 KR102218188 B1 KR 102218188B1 KR 1020190053077 A KR1020190053077 A KR 1020190053077A KR 20190053077 A KR20190053077 A KR 20190053077A KR 102218188 B1 KR102218188 B1 KR 102218188B1
Authority
KR
South Korea
Prior art keywords
certificate
relay server
received
vector
node device
Prior art date
Application number
KR1020190053077A
Other languages
Korean (ko)
Other versions
KR20200128918A (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 KR1020190053077A priority Critical patent/KR102218188B1/en
Publication of KR20200128918A publication Critical patent/KR20200128918A/en
Application granted granted Critical
Publication of KR102218188B1 publication Critical patent/KR102218188B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

블록체인 기반의 인증서 관리를 수행하는 노드 장치 및 그 동작 방법이 개시된다. 본 발명은 인증서가 포함된 블록체인 데이터를 메모리 상에 각각 저장하고 있는 복수의 노드 장치들 중 어느 하나의 노드 장치로 인증서 발급 요청이 수신되는 경우, 상기 노드 장치가 인증서를 생성한 후 상기 인증서가 포함된 블록을 생성하여 블록체인 네트워크에 존재하는 다른 노드 장치들로 전파함으로써, 전자 서명에 사용되는 인증서가 블록체인을 통해 분산 저장 관리될 수 있도록 지원할 수 있다.Disclosed are a node device for performing blockchain-based certificate management and an operation method thereof. In the present invention, when a certificate issuance request is received by any one of a plurality of node devices each storing block chain data including a certificate in a memory, the node device generates a certificate and then the certificate is By creating an included block and propagating it to other node devices in the blockchain network, it is possible to support distributed storage and management of the certificate used for electronic signature through the blockchain.

Description

블록체인 기반의 인증서 관리를 수행하는 노드 장치 및 그 동작 방법{NODE DEVICE FOR PERFORMING CERTIFICATE MANAGEMENT BASED ON A BLOCK CHAIN AND OPERATING METHOD THEREOF}Node device that performs blockchain-based certificate management and its operation method {NODE DEVICE FOR PERFORMING CERTIFICATE MANAGEMENT BASED ON A BLOCK CHAIN AND OPERATING METHOD THEREOF}

본 발명은 블록체인을 기반으로 인증서의 발급 및 검증 등의 관리를 수행할 수 있는 블록체인 네트워크에 포함되는 노드 장치 및 그 동작 방법에 대한 것이다.The present invention relates to a node device included in a blockchain network capable of performing management such as issuance and verification of certificates based on a blockchain and a method of operation thereof.

최근, 인터넷 등이 널리 보급됨에 따라, 회원제로 운영되는 웹 사이트가 증가하고 있고, 전자 결제나 온라인 기반의 뱅킹 서비스 사용도 급증하고 있다.2. Description of the Related Art Recently, as the Internet and the like are widely spread, membership-based web sites are increasing, and the use of electronic payment or online-based banking services is also increasing rapidly.

일반적인 온라인 뱅킹 서비스나 결제 시스템에서 도입하고 있는 사용자 확인 서비스는 공개키 기반의 암호화 방식(Public Key Infrastructure: PKI)을 이용한 전자 서명 시스템이 주를 이루고 있다.User verification services introduced in general online banking services or payment systems are mainly electronic signature systems using a public key infrastructure (PKI).

공개키 기반의 암호화 방식의 전자 서명 시스템이란 메시지를 전달하는 측에서 해당 메시지에 대한 해시 값에 대해 자신의 개인키로 암호화를 수행하여 전자 서명 값을 생성한 후 상기 메시지와 상기 전자 서명 값을 메시지 수신측에 전달하면, 메시지 수신측에서 상기 개인키에 대응하는 공개키로 상기 전자 서명 값을 복호화하고, 메시지 전송측으로부터 수신한 상기 메시지에 대한 해시 값을 연산한 후 상기 공개키로 복호화한 값과 상기 메시지에 대한 해시 값을 비교하여 두 값이 서로 동일한 것으로 판단되면, 메시지 전송측으로부터 수신된 상기 전자 서명 값이 상기 메시지 전송측의 개인키에 의해서 정말로 암호화된 값임이 입증됨에 따라, 상기 메시지가 진정한 메시지 전송측으로부터 전달된 메시지임을 확인하는 시스템이다.In the case of a public key-based encryption method, the electronic signature system generates an electronic signature value by encrypting the hash value of the message with its own private key at the side that delivers the message, and then receives the message and the electronic signature value. When delivered to the side, the message receiving side decrypts the electronic signature value with the public key corresponding to the private key, calculates a hash value for the message received from the message sending side, and then decrypts the value with the public key and the message If it is determined that the two values are equal to each other by comparing the hash values for, as it is proved that the digital signature value received from the message transmission side is a value that is really encrypted by the private key of the message transmission side, the message is a true message. This is a system that verifies that the message is delivered from the sending side.

이러한 공개키 기반의 암호화 방식의 전자 서명 시스템은 소정의 키쌍 생성 알고리즘을 활용해서, 개인키와 이에 대응하는 공개키를 생성한 후 상기 개인키로 전자 서명 값을 생성하고, 상기 공개키로 상기 전자 서명 값을 검증하는 형태로 운영되고 있다.In such a public key-based encryption method, an electronic signature system generates a private key and a corresponding public key by using a predetermined key pair generation algorithm, then generates an electronic signature value with the private key, and uses the public key to generate the electronic signature value. It is operated in the form of verifying.

이러한 전자 서명 시스템에서는 사용자가 전자 서명을 수행할 수 있도록 하기 위해, 사용자 단말로 소정의 인증서를 발급해 주고, 사용자가 사용자 단말을 이용해서 소정의 콘텐츠 제공 서버에 접속해서 전자 서명을 수행하는 경우, 사용자 단말로부터 전송되는 인증서에 대한 검증을 수행해야 할 필요가 있다.In such an electronic signature system, in order to enable the user to perform an electronic signature, a predetermined certificate is issued to the user terminal, and when the user accesses a predetermined content providing server using the user terminal to perform an electronic signature, It is necessary to perform verification of the certificate transmitted from the user terminal.

이러한 인증서에 대한 발급 및 검증을 수행하기 위해서, 인증 기관(Certificate Authority: CA)이 존재한다. 인증 기관은 사용자 단말에서 개인키와 공개키가 생성된 후 상기 사용자 단말로부터 상기 공개키가 전송되면서 인증서 발급 요청이 수신되면, 자신의 개인키인 CA 개인키를 이용하여 생성한 인증 기관의 전자 서명 값과 상기 공개키가 포함된 인증서를 생성해서 상기 사용자 단말로 전달해 주고, 추후 상기 인증서에 대한 검증 요청이 수신되면, 상기 인증서에 포함된 인증 기관의 전자 서명 값을 기초로 상기 인증서가 정당하게 발급된 사용자에 대한 인증서가 맞음을 검증해 주는 역할을 수행한다.In order to issue and verify these certificates, a Certificate Authority (CA) exists. When a certificate issuance request is received while the public key is transmitted from the user terminal after the private key and public key are generated in the user terminal, the certification authority's electronic signature generated by using the CA private key, which is its own private key. A certificate containing a value and the public key is generated and delivered to the user terminal, and when a verification request for the certificate is received later, the certificate is properly issued based on the digital signature value of the certification authority included in the certificate. It plays the role of verifying that the certificate for the authenticated user is correct.

최근에는 소정의 데이터를 체인화된 블록으로 구성하여 중앙 서버가 아닌 노드들에 분산 저장함으로써, 해당 데이터에 대한 무결성을 보장할 수 있는 블록체인 기술이 널리 활용되고 있다.Recently, a block chain technology that can guarantee the integrity of the data is widely used by configuring predetermined data into chained blocks and storing them distributedly in nodes other than a central server.

이에 따라, 기존의 인증서의 발급과 검증은 하나의 인증 기관 서버에서 수행되어, 보안 상의 약점이 존재할 수 있다는 점에서, 블록체인 기술을 활용하여 인증서의 발급과 검증 과정에 따른 보안성을 강화할 수 있도록 하는 기술의 연구가 필요하다.Accordingly, since the issuance and verification of existing certificates is performed on one certification authority server, security weaknesses may exist, so that the use of blockchain technology can enhance the security according to the issuance and verification process of certificates. It is necessary to study the technology to do it.

본 발명은 인증서가 포함된 블록체인 데이터를 메모리 상에 각각 저장하고 있는 복수의 노드 장치들 중 어느 하나의 노드 장치로 인증서 발급 요청이 수신되는 경우, 상기 노드 장치가 인증서를 생성한 후 상기 인증서가 포함된 블록을 생성하여 블록체인 네트워크에 존재하는 다른 노드 장치들로 전파함으로써, 전자 서명에 사용되는 인증서가 블록체인을 통해 분산 저장 관리될 수 있도록 지원하고자 한다.In the present invention, when a certificate issuance request is received by any one of a plurality of node devices each storing block chain data including a certificate in a memory, the node device generates a certificate and then the certificate is By creating an included block and propagating it to other node devices in the blockchain network, we intend to support the distributed storage and management of the certificate used for electronic signature through the blockchain.

본 발명의 일실시예에 따른 인증서가 포함된 블록체인 데이터를 메모리 상에 각각 저장하고 있는 복수의 노드 장치들 중 어느 하나인 블록체인 기반의 인증서 관리를 수행하는 노드 장치는 사용자 단말에서 전자 서명을 위한 개인키와 공개키가 생성된 후 상기 사용자 단말로부터 상기 공개키와 함께 인증서 발급 요청이 중계 서버에 수신됨에 따라, 상기 중계 서버로부터 상기 공개키와 함께 상기 인증서 발급 요청이 수신되면, 상기 인증서 발급 요청에 대응하여 상기 공개키가 포함된 제1 인증서를 생성하는 인증서 생성부, 상기 제1 인증서가 생성되면, 상기 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터를 기초로 상기 제1 인증서가 포함된 블록을 생성하고, 상기 블록을 상기 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결한 후 상기 블록을 상기 복수의 노드 장치들 중 상기 노드 장치를 제외한 나머지 노드 장치들로 전송하는 블록 전송부 및 상기 제1 인증서를 상기 중계 서버로 전송하여 상기 중계 서버가 상기 제1 인증서를 상기 사용자 단말로 전송하도록 제어하는 인증서 발급부를 포함하고, 상기 나머지 노드 장치들은 상기 블록이 수신되면, 상기 나머지 노드 장치들 각각의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 블록을 체인으로 연결하여 저장한다.A node device that performs blockchain-based certificate management, which is one of a plurality of node devices each storing blockchain data including a certificate in a memory according to an embodiment of the present invention, performs an electronic signature in a user terminal. When a request for issuing a certificate along with the public key is received by a relay server from the user terminal after the private key and the public key are generated, when the certificate issuance request is received from the relay server along with the public key, the certificate is issued. A certificate generator for generating a first certificate including the public key in response to a request, and when the first certificate is generated, the first certificate is generated based on the block chain data stored in the memory of the node device. A included block is created, the block is chained to the block chain data stored in the memory of the node device, and then the block is connected to the other node devices other than the node device among the plurality of node devices. A block transmission unit for transmitting and a certificate issuing unit for transmitting the first certificate to the relay server to control the relay server to transmit the first certificate to the user terminal, and the other node devices when the block is received , The block is connected to the block chain data stored in the memory of each of the remaining node devices in a chain and stored.

또한, 본 발명의 일실시예에 따른 인증서가 포함된 블록체인 데이터를 메모리 상에 각각 저장하고 있는 복수의 노드 장치들 중 어느 하나인 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 동작 방법은 사용자 단말에서 전자 서명을 위한 개인키와 공개키가 생성된 후 상기 사용자 단말로부터 상기 공개키와 함께 인증서 발급 요청이 중계 서버에 수신됨에 따라, 상기 중계 서버로부터 상기 공개키와 함께 상기 인증서 발급 요청이 수신되면, 상기 인증서 발급 요청에 대응하여 상기 공개키가 포함된 제1 인증서를 생성하는 단계, 상기 제1 인증서가 생성되면, 상기 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터를 기초로 상기 제1 인증서가 포함된 블록을 생성하고, 상기 블록을 상기 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결한 후 상기 블록을 상기 복수의 노드 장치들 중 상기 노드 장치를 제외한 나머지 노드 장치들로 전송하는 단계 및 상기 제1 인증서를 상기 중계 서버로 전송하여 상기 중계 서버가 상기 제1 인증서를 상기 사용자 단말로 전송하도록 제어하는 단계를 포함하고, 상기 나머지 노드 장치들은 상기 블록이 수신되면, 상기 나머지 노드 장치들 각각의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 블록을 체인으로 연결하여 저장한다.In addition, a method of operating a node device for performing blockchain-based certificate management, which is one of a plurality of node devices each storing blockchain data including a certificate in a memory, according to an embodiment of the present invention After the private key and public key for electronic signature are generated in the terminal, as the request for issuing a certificate along with the public key is received from the user terminal to the relay server, the request for issuing the certificate along with the public key is received from the relay server. If so, generating a first certificate including the public key in response to the certificate issuance request, and when the first certificate is generated, based on the block chain data stored in the memory of the node device 1 Create a block containing a certificate, connect the block to the block chain data stored in the memory of the node device in a chain, and then connect the block to the remaining nodes of the plurality of node devices excluding the node device. Transmitting the first certificate to the devices and transmitting the first certificate to the relay server to control the relay server to transmit the first certificate to the user terminal, and the other node devices when the block is received , The block is connected to the block chain data stored in the memory of each of the remaining node devices in a chain and stored.

본 발명은 인증서가 포함된 블록체인 데이터를 메모리 상에 각각 저장하고 있는 복수의 노드 장치들 중 어느 하나의 노드 장치로 인증서 발급 요청이 수신되는 경우, 상기 노드 장치가 인증서를 생성한 후 상기 인증서가 포함된 블록을 생성하여 블록체인 네트워크에 존재하는 다른 노드 장치들로 전파함으로써, 전자 서명에 사용되는 인증서가 블록체인을 통해 분산 저장 관리될 수 있도록 지원할 수 있다.In the present invention, when a certificate issuance request is received by any one of a plurality of node devices each storing block chain data including a certificate in a memory, the node device generates a certificate and then the certificate is By creating an included block and propagating it to other node devices in the blockchain network, it is possible to support distributed storage and management of the certificate used for electronic signature through the blockchain.

도 1은 본 발명의 일실시예에 따른 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 동작 방법을 도시한 순서도이다.
1 is a diagram showing the structure of a node device that performs block chain-based certificate management according to an embodiment of the present invention.
2 is a flow chart illustrating a method of operating a node device for performing blockchain-based certificate management according to an embodiment of the present invention.

이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. This description is not intended to limit the present invention to a specific embodiment, it is to be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, similar reference numerals have been used for similar components, and unless otherwise defined, all terms used in the present specification including technical or scientific terms refer to common knowledge in the technical field to which the present invention belongs. It has the same meaning as commonly understood by someone who has it.

본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다. In this document, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless otherwise stated. In addition, in various embodiments of the present invention, each component, functional blocks or means may be composed of one or more sub-components, and the electrical, electronic, and mechanical functions performed by each component are electronic. A circuit, an integrated circuit, and an application specific integrated circuit (ASIC) may be implemented with various known devices or mechanical elements, and may be implemented separately or two or more may be integrated into one.

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks of the attached block diagram and the steps in the flowchart are computer program instructions that are mounted on a processor or memory of equipment capable of processing data such as a general-purpose computer, a special-purpose computer, a portable notebook computer, and a network computer to perform specified functions. It can be interpreted as meaning. Since these computer program instructions can be stored in a memory provided in a computer device or in a memory readable by a computer, the functions described in the blocks in the block diagram or in the steps in the flowchart are produced as a product containing the instruction means to perform this. It could be. In addition, each block or each step may represent a module, segment, or part of code including one or more executable instructions for executing the specified logical function(s). In addition, it should be noted that in some alternative embodiments, functions mentioned in blocks or steps may be executed in a different order. For example, two blocks or steps shown in succession may be performed substantially simultaneously or may be performed in reverse order, and in some cases, some blocks or steps may be omitted.

도 1은 본 발명의 일실시예에 따른 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 구조를 도시한 도면이다.1 is a diagram showing the structure of a node device that performs block chain-based certificate management according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 노드 장치(110)는 인증서 생성부(111), 블록 전송부(112) 및 인증서 발급부(113)를 포함한다.Referring to FIG. 1, a node device 110 according to the present invention includes a certificate generator 111, a block transmission unit 112, and a certificate issuing unit 113.

우선, 본 발명에 따른 노드 장치(110)는 인증서가 포함된 블록체인 데이터를 메모리 상에 각각 저장하고 있는 복수의 노드 장치들(110, 101, 102, 103) 중 어느 하나인 장치로, 노드 장치(110)와 노드 장치(110)를 제외한 나머지 노드 장치들(101, 102, 103)은 동일한 구성을 포함하고 있으며, 서로 블록체인 네트워크를 형성하고 있다. 또한, 복수의 노드 장치들(110, 101, 102, 103)은 네트워크 기능을 갖는 마이크로 프로세서 기반의 컴퓨팅 장치를 의미한다.First, the node device 110 according to the present invention is any one of a plurality of node devices 110, 101, 102, 103 each storing block chain data including a certificate in a memory, and the node device Except for 110 and the node device 110, the other node devices 101, 102, and 103 have the same configuration, and form a blockchain network with each other. Also, the plurality of node devices 110, 101, 102, and 103 refer to a microprocessor-based computing device having a network function.

이러한 상황 하에서, 사용자 단말(150)이 인증서를 발급받기 위해, 사용자 단말(150)에서 전자 서명을 위한 개인키와 공개키를 생성한 후 중계 서버(130)로 상기 공개키와 함께 인증서 발급 요청을 전송하면, 중계 서버(130)는 복수의 노드 장치들(110, 101, 102, 103) 중 어느 하나의 노드 장치인 노드 장치(110)로 상기 공개키와 함께 상기 인증서 발급 요청을 전송할 수 있다.In this situation, in order for the user terminal 150 to issue a certificate, the user terminal 150 generates a private key and a public key for electronic signature, and then requests the relay server 130 to issue a certificate along with the public key. Upon transmission, the relay server 130 may transmit the certificate issuance request together with the public key to the node device 110, which is one of the plurality of node devices 110, 101, 102, 103.

이때, 본 발명의 일실시예에 따르면, 중계 서버(130)가 상기 공개키와 상기 인증서 발급 요청을 전송하기 위해서, 복수의 노드 장치들(110, 101, 102, 103) 중 어느 하나의 노드 장치를 선택하는 방식은 랜덤한 방식이 적용될 수 있다. 즉, 중계 서버(130)는 복수의 노드 장치들(110, 101, 102, 103) 중 어느 하나의 노드 장치를 랜덤하게 선택한 후 랜덤하게 선택된 노드 장치로 상기 공개키와 상기 인증서 발급 요청을 전송할 수 있다.At this time, according to an embodiment of the present invention, in order for the relay server 130 to transmit the public key and the certificate issuance request, any one of the plurality of node devices 110, 101, 102, 103 A random method may be applied to the method of selecting. That is, the relay server 130 may randomly select any one node device among a plurality of node devices 110, 101, 102, 103 and then transmit the public key and the certificate issuance request to the randomly selected node device. have.

만약, 노드 장치(110)가 중계 서버(130)로부터 상기 공개키와 함께 상기 인증서 발급 요청을 수신하였다고 하는 경우, 노드 장치(110)의 인증서 생성부(111)는 상기 인증서 발급 요청에 대응하여 상기 공개키가 포함된 제1 인증서를 생성한다.If the node device 110 receives the certificate issuance request together with the public key from the relay server 130, the certificate generator 111 of the node device 110 responds to the certificate issuance request Generate a first certificate containing the public key.

이때, 본 발명의 일실시예에 따르면, 인증서 생성부(111)는 난수 수신부(114), 전자 서명 요청부(115) 및 인증서 생성 처리부(116)를 포함할 수 있다.In this case, according to an embodiment of the present invention, the certificate generating unit 111 may include a random number receiving unit 114, an electronic signature request unit 115, and a certificate generating processing unit 116.

난수 수신부(114)는 중계 서버(130)로부터 중계 서버(130)에서 생성된 제1 난수를 수신한다.The random number receiver 114 receives a first random number generated by the relay server 130 from the relay server 130.

이때, 본 발명의 일실시예에 따르면, 중계 서버(130)는 사용자 단말(150)로부터 상기 공개키와 함께 인증서 발급 요청이 수신되면, 상기 제1 난수를 생성하여 노드 장치(110)로 전송할 수 있다.At this time, according to an embodiment of the present invention, when a request for issuing a certificate is received from the user terminal 150 along with the public key, the relay server 130 may generate the first random number and transmit it to the node device 110. have.

이때, 본 발명의 일실시예에 따르면, 중계 서버(130)는 난수 생성에 사용하기 위한 엔트로피 데이터를 발생시키는 미리 설정된 잡음원으로부터 제1 엔트로피 데이터를 수집하고, 상기 제1 엔트로피 데이터를 비결정론적 난수 발생기(Non-Deterministic Random Bit Generator: NRBG)에 입력으로 인가하여 상기 제1 난수를 생성한 후 상기 제1 난수를 노드 장치(110)로 전송할 수 있다.At this time, according to an embodiment of the present invention, the relay server 130 collects first entropy data from a preset noise source that generates entropy data for use in random number generation, and converts the first entropy data to a non-deterministic random number generator. After generating the first random number by applying it to (Non-Deterministic Random Bit Generator: NRBG) as an input, the first random number may be transmitted to the node device 110.

보통, 난수는 랜덤하게 생성된 수를 의미하는 것으로, 난수의 종류로는 동전던지기처럼 앞/뒤의 발생을 예측할 수 없고, 앞에 발생한 사건이 나중에 생성될 사건에 독립적인 형태를 갖는 이상적인 난수인 순수 난수(True Random Number)와 소정의 난수 생성 알고리즘에 의해서 생성되는 의사 난수(Pseudo-Random Number)가 존재한다.Usually, a random number means a randomly generated number, and as a type of random number, it is impossible to predict the occurrence of the front/rear like a coin toss, and the event that occurred in front is an ideal random number that is independent of the event to be generated later. There is a true random number and a pseudo-random number generated by a predetermined random number generation algorithm.

이때, 의사 난수는 특정한 패턴을 가지고 있기 때문에 다른 사람에 의해 난수 생성 패턴이 손쉽게 노출되는 문제가 존재한다. 따라서, 이러한 의사 난수의 취약성을 해소하기 위해 최근에는 순수 난수 생성을 위한 다양한 연구가 진행되고 있다.At this time, since the pseudo-random number has a specific pattern, there is a problem that the random number generation pattern is easily exposed by other people. Therefore, in order to solve the vulnerability of such pseudo-random numbers, various studies for generating pure random numbers have recently been conducted.

순수 난수 생성을 위한 대표적인 기술 중 하나로 비결정론적 난수 발생기(Non-Deterministic Random Bit Generator: NRBG)를 이용한 난수 생성 기법이 존재한다. 비결정론적 난수 발생기는 소정의 잡음원의 물리적 현상을 관찰하여 얻은 큰 엔트로피의 입력을 이용해서 난수를 생성하는 기법을 의미한다.One of the representative technologies for generating pure random numbers is a random number generation technique using a non-deterministic random bit generator (NRBG). The non-deterministic random number generator refers to a technique of generating a random number using an input of a large entropy obtained by observing a physical phenomenon of a predetermined noise source.

예컨대, CMOS 센서나 CCD 센서 등과 같은 이미지 센서를 잡음원으로 사용함으로써, 상기 잡음원으로부터 광원이 가지고 있는 빛의 입자적 특성에 의해 나타나는 광자 수의 불확정도인 샷 노이즈(Shot Noise)를 엔트로피 데이터로 획득하여 난수를 생성하는 방식이 이에 해당된다. 이렇게, 비결정론적 난수 발생기를 이용한 난수는 생성 패턴을 예상하기 어렵기 때문에 고도의 보안이 필요한 데이터를 다루는 은행, 관공서, 기업 등에서 그 활용이 증가하고 있다.For example, by using an image sensor such as a CMOS sensor or a CCD sensor as a noise source, shot noise, which is the uncertainty of the number of photons caused by the particle characteristics of the light of the light source from the noise source, is obtained as entropy data and is a random number. This is the method of generating. In this way, since it is difficult to predict the generation pattern of random numbers using a non-deterministic random number generator, its use is increasing in banks, government offices, and companies that handle data requiring high security.

이렇게, 중계 서버(130)에서 상기 제1 난수가 생성되어 노드 장치(110)로 전송되면, 난수 수신부(114)는 중계 서버(130)로부터 상기 제1 난수를 수신할 수 있다.In this way, when the first random number is generated by the relay server 130 and transmitted to the node device 110, the random number receiving unit 114 may receive the first random number from the relay server 130.

전자 서명 요청부(115)는 인증 기관(Certificate Authority: CA) 개인키와 상기 CA 개인키에 대응하는 CA 공개키가 저장되어 있는 키 관리 서버(140)에 접속하여 키 관리 서버(140)로 상기 제1 난수와 상기 공개키를 전송하면서, 상기 제1 난수와 상기 공개키가 조합된 데이터에 대한 전자 서명 요청을 전송한다.The electronic signature request unit 115 accesses a key management server 140 in which a certificate authority (CA) private key and a CA public key corresponding to the CA private key are stored, and the key management server 140 While transmitting the first random number and the public key, an electronic signature request for data in which the first random number and the public key are combined is transmitted.

이때, 키 관리 서버(140)는 상기 CA 개인키를 기초로 상기 제1 난수와 상기 공개키가 조합된 데이터를 암호화하여 제1 전자 서명 값을 생성한 후 상기 제1 전자 서명 값을 노드 장치(110)로 전송할 수 있다.At this time, the key management server 140 generates a first electronic signature value by encrypting data in which the first random number and the public key are combined based on the CA private key, and then converts the first electronic signature value to the node device ( 110).

인증서 생성 처리부(116)는 키 관리 서버(140)로부터 상기 제1 난수와 상기 공개키가 조합된 데이터에 대해 상기 CA 개인키로 서명된 제1 전자 서명 값이 수신되면, 상기 인증서 발급 요청에 대응하여, 기설정된(predetermined) 인증서 템플릿에 상기 공개키와 상기 제1 전자 서명 값을 삽입하여 상기 제1 인증서를 생성한다.When the certificate generation processing unit 116 receives the first electronic signature value signed with the CA private key for the data in which the first random number and the public key are combined from the key management server 140, the certificate issuance request , The first certificate is generated by inserting the public key and the first digital signature value into a preset certificate template.

이때, 본 발명의 일실시예에 따르면, 인증서 생성부(111)는 중계 서버(130)로부터 상기 공개키와 상기 인증서 발급 요청이 수신되었을 때, 상기 제1 인증서를 발급하기 전에 중계 서버(130)를 인증하기 위한 구성으로, 유클리드 거리 저장부(120), 피드백 요청부(121), 확인부(122) 및 이벤트 발생부(123)를 포함할 수 있다.At this time, according to an embodiment of the present invention, when the public key and the request for issuing the certificate are received from the relay server 130, the certificate generating unit 111 provides the relay server 130 before issuing the first certificate. As a configuration for authenticating, a Euclidean distance storage unit 120, a feedback request unit 121, a confirmation unit 122, and an event generator 123 may be included.

유클리드 거리 저장부(120)에는 중계 서버(130)의 인증에 사용하기 위한 기설정된 제1 유클리드 거리(Euclidean Distance)에 대한 정보가 저장되어 있다.The Euclidean distance storage unit 120 stores information on a preset first Euclidean distance for use in authentication of the relay server 130.

유클리드 거리란 두 개의 벡터가 존재한다고 하였을 때, 두 벡터 간의 거리를 의미하는 것으로 하기의 수학식 1에 따라 연산될 수 있다.When it is assumed that two vectors exist, the Euclidean distance means the distance between the two vectors, and can be calculated according to Equation 1 below.

Figure 112019046396765-pat00001
Figure 112019046396765-pat00001

상기 수학식 1에서 D는 유클리드 거리, pi와 qi는 두 벡터에 포함되어 있는 i번째 성분들을 의미한다. 보통, 두 벡터 간의 유클리드 거리가 작을수록 두 벡터는 유사한 벡터라고 볼 수 있고, 두 벡터 간의 유클리드 거리가 클수록 두 벡터는 비유사한 벡터라고 볼 수 있다.In Equation 1, D denotes a Euclidean distance, and p i and q i denote the i-th components included in the two vectors. Generally, as the Euclidean distance between two vectors is smaller, the two vectors can be regarded as similar vectors, and as the Euclidean distance between two vectors is larger, the two vectors can be considered to be dissimilar vectors.

피드백 요청부(121)는 중계 서버(130)로부터 상기 공개키와 함께 상기 인증서 발급 요청이 수신되면, 랜덤 벡터를 랜덤하게 생성하고, 중계 서버(130)로 상기 랜덤 벡터를 전송하면서 상기 랜덤 벡터에 대한 피드백 벡터의 전송을 요청한다.When the request for issuing the certificate along with the public key is received from the relay server 130, the feedback request unit 121 randomly generates a random vector, and transmits the random vector to the relay server 130 while transmitting the random vector to the random vector. Request to transmit a feedback vector for.

예컨대, 피드백 요청부(121)는 중계 서버(130)로부터 상기 공개키와 함께 상기 인증서 발급 요청이 수신되면, '(0,0,0,1,0)'이라고 하는 5차원의 랜덤 벡터를 랜덤하게 생성할 수 있고, 중계 서버(130)로 상기 5차원의 랜덤 벡터를 전송하면서, 상기 5차원의 랜덤 벡터에 대한 5차원의 피드백 벡터의 전송을 요청할 수 있다.For example, when the request for issuing the certificate along with the public key is received from the relay server 130, the feedback request unit 121 randomly generates a 5-dimensional random vector called'(0,0,0,1,0)'. And transmits the 5-dimensional random vector to the relay server 130, and requests for transmission of a 5-dimensional feedback vector for the 5-dimensional random vector.

이때, 본 발명의 일실시예에 따르면, 중계 서버(130)는 메모리 상에 상기 제1 유클리드 거리에 대한 정보를 저장하고 있고, 노드 장치(110)로부터 상기 랜덤 벡터와 상기 랜덤 벡터에 대한 피드백 벡터의 전송 요청이 수신되면, 상기 랜덤 벡터와의 유클리드 거리가 중계 서버(130)의 메모리 상에 저장되어 있는 상기 제1 유클리드 거리로 연산되는 피드백 벡터인 제1 피드백 벡터를 랜덤하게 생성한 후 노드 장치(110)로 상기 제1 피드백 벡터를 전송할 수 있다.In this case, according to an embodiment of the present invention, the relay server 130 stores information on the first Euclidean distance in a memory, and a feedback vector for the random vector and the random vector from the node device 110 When a transmission request of is received, a first feedback vector, which is a feedback vector calculated by the first Euclidean distance stored in the memory of the relay server 130, is randomly generated, and then the node device The first feedback vector may be transmitted to (110).

예컨대, 노드 장치(110)로부터 중계 서버(130)에 '(0,0,0,1,0)'라는 5차원의 랜덤 벡터가 수신되었다고 하고, 중계 서버(130)의 메모리 상에 저장되어 있는 상기 제1 유클리드 거리가 'D'라고 하는 경우, 중계 서버(130)는 상기 5차원 랜덤 벡터와의 유클리드 거리가 'D'로 연산되는 5차원의 제1 피드백 벡터를 랜덤하게 생성하여 노드 장치(110)로 전송할 수 있다.For example, it is assumed that a 5-dimensional random vector called'(0,0,0,1,0)' is received from the node device 110 to the relay server 130, and is stored in the memory of the relay server 130. When the first Euclidean distance is'D', the relay server 130 randomly generates a 5-dimensional first feedback vector whose Euclidean distance is calculated as'D' to the node device ( 110).

확인부(122)는 중계 서버(130)로부터 상기 랜덤 벡터에 대한 피드백 벡터로 상기 제1 피드백 벡터가 수신되면, 상기 랜덤 벡터와 상기 제1 피드백 벡터 간의 유클리드 거리를 연산하고, 상기 연산된 유클리드 거리가 상기 제1 유클리드 거리와 동일한지 여부를 확인한다.When the first feedback vector is received as a feedback vector for the random vector from the relay server 130, the verification unit 122 calculates a Euclidean distance between the random vector and the first feedback vector, and the calculated Euclidean distance It is checked whether is equal to the first Euclidean distance.

그리고, 이벤트 발생부(123)는 상기 연산된 유클리드 거리가 상기 제1 유클리드 거리와 동일한 것으로 확인되면, 중계 서버(130)에 대한 인증을 완료한 후 상기 제1 인증서의 생성과 관련된 절차를 수행할 것을 지시하는 이벤트를 발생시킨다.In addition, when it is confirmed that the calculated Euclidean distance is the same as the first Euclidean distance, the event generator 123 performs a procedure related to the generation of the first certificate after completing authentication for the relay server 130. Fires an event indicating that.

관련해서, 노드 장치(110)에서 중계 서버(130)로 5차원의 랜덤 벡터가 전송되었고, 이에 대응해서 중계 서버(130)로부터 노드 장치(110)로 5차원의 제1 피드백 벡터가 수신되었다고 하는 경우, 확인부(122)는 상기 제1 피드백 벡터와 상기 5차원의 랜덤 벡터 간의 유클리드 거리를 연산하고, 상기 연산된 유클리드 거리가 유클리드 거리 저장부(120)에 저장되어 있는 상기 제1 유클리드 거리와 동일한지 여부를 확인할 수 있다.In relation to this, it is said that a 5-dimensional random vector was transmitted from the node device 110 to the relay server 130, and a 5-dimensional first feedback vector was received from the relay server 130 to the node device 110 in response thereto. In this case, the verification unit 122 calculates a Euclidean distance between the first feedback vector and the 5-dimensional random vector, and the calculated Euclidean distance is the first Euclidean distance stored in the Euclidean distance storage unit 120 You can check whether they are the same.

이때, 상기 연산된 유클리드 거리가 유클리드 거리 저장부(120)에 저장되어 있는 상기 제1 유클리드 거리와 동일한 것으로 확인된 경우, 이벤트 발생부(123)는 중계 서버(130)가 본 발명에 따른 인증서 관리 시스템에서 사용되는 중계 서버가 맞는 것으로 확인하고, 중계 서버(130)에 대한 인증을 완료한 후 상기 제1 인증서의 생성과 관련된 절차를 수행할 것을 지시하는 이벤트를 발생시킬 수 있다.At this time, when it is confirmed that the calculated Euclidean distance is the same as the first Euclidean distance stored in the Euclidean distance storage unit 120, the event generating unit 123 is the relay server 130 to manage the certificate according to the present invention. After confirming that the relay server used in the system is correct, and after completing authentication for the relay server 130, an event instructing to perform a procedure related to the generation of the first certificate may be generated.

이렇게, 중계 서버(130)에 대한 인증이 완료되어 상기 이벤트가 발생되면, 난수 수신부(114)는 중계 서버(130)로부터 상기 제1 난수를 수신하고, 전자 서명 요청부(115)는 키 관리 서버(140)로 전자 서명을 요청하며, 인증서 생성 처리부(116)는 상기 제1 인증서를 생성할 수 있다.In this way, when authentication for the relay server 130 is completed and the event occurs, the random number receiving unit 114 receives the first random number from the relay server 130, and the electronic signature request unit 115 is a key management server. An electronic signature is requested to 140, and the certificate generation processing unit 116 may generate the first certificate.

이렇게, 인증서 생성부(111)에 의해 상기 제1 인증서가 생성되면, 블록 전송부(112)는 노드 장치(110)의 메모리 상에 저장되어 있는 상기 블록체인 데이터를 기초로 상기 제1 인증서가 포함된 블록을 생성하고, 상기 블록을 노드 장치(110)의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결한 후 상기 블록을 복수의 노드 장치들(110, 101, 102, 103) 중 노드 장치(110)를 제외한 나머지 노드 장치들(101, 102, 103)로 전송한다.In this way, when the first certificate is generated by the certificate generator 111, the block transmission unit 112 includes the first certificate based on the block chain data stored in the memory of the node device 110 Generated block, chained the block to the block chain data stored in the memory of the node device 110, and then linked the block to a node among a plurality of node devices (110, 101, 102, 103). It transmits to the other node devices 101, 102, and 103 except for the device 110.

인증서 발급부(113)는 상기 제1 인증서를 중계 서버(130)로 전송하여 중계 서버(130)가 상기 제1 인증서를 사용자 단말(150)로 전송하도록 제어한다.The certificate issuing unit 113 transmits the first certificate to the relay server 130 and controls the relay server 130 to transmit the first certificate to the user terminal 150.

이때, 나머지 노드 장치들(101, 102, 103)은 노드 장치(110)로부터 상기 블록이 수신되면, 나머지 노드 장치들(101, 102, 103) 각각의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 블록을 체인으로 연결하여 저장할 수 있다.At this time, when the block is received from the node device 110, the rest of the node devices 101, 102, and 103 are stored in the block chain data stored in the memory of each of the remaining node devices 101, 102, and 103. The blocks can be linked and stored in a chain.

그리고, 중계 서버(130)는 노드 장치(110)로부터 상기 제1 인증서가 수신되면, 상기 제1 인증서를 사용자 단말(150)로 전송함으로써, 상기 제1 인증서를 사용자 단말(150)에 발급해 줄 수 있다.In addition, when the first certificate is received from the node device 110, the relay server 130 transmits the first certificate to the user terminal 150 to issue the first certificate to the user terminal 150. I can.

이렇게, 사용자 단말(150)에 상기 제1 인증서가 발급되면, 사용자 단말(150)의 사용자는 추후 인터넷 뱅킹 등을 수행하는 과정에서 상기 제1 인증서와 상기 개인키를 이용하여 전자 서명을 수행할 수 있다.In this way, when the first certificate is issued to the user terminal 150, the user of the user terminal 150 can perform an electronic signature using the first certificate and the private key in the process of performing Internet banking in the future. have.

이와 관련해서, 본 발명의 일실시예에 따르면, 노드 장치(110)는 사용자 단말(150)이 소정의 콘텐츠 제공 서버(160)에 접속하여 상기 제1 인증서를 기초로 전자 서명을 수행함에 따라, 콘텐츠 제공 서버(160)로부터 상기 제1 인증서에 대한 검증 요청이 중계 서버(130)를 통해 수신되었을 때, 상기 제1 인증서에 대한 검증을 처리하기 위한 구성으로, 인증서 전송 요청부(117), 검증 요청부(118) 및 인증서 검증 처리부(119)를 더 포함할 수 있다.In this regard, according to an embodiment of the present invention, as the user terminal 150 accesses a predetermined content providing server 160 and performs an electronic signature based on the first certificate, A configuration for processing the verification of the first certificate when the verification request for the first certificate is received from the content providing server 160 through the relay server 130, and the certificate transmission request unit 117, verification A request unit 118 and a certificate verification processing unit 119 may be further included.

인증서 전송 요청부(117)는 사용자 단말(150)로 상기 제1 인증서가 발급된 이후, 사용자 단말(150)에서 콘텐츠 제공 서버(160)로 상기 개인키로 서명된 전자 서명 값과 상기 제1 인증서가 전달됨에 따라, 콘텐츠 제공 서버(160)로부터 중계 서버(130)를 통해 상기 제1 인증서와 함께 상기 제1 인증서에 대한 검증 요청이 수신되면, 나머지 노드 장치들(101, 102, 103) 중 기설정된 개수의 제1 노드 장치들을 랜덤하게 선택한 후 상기 제1 노드 장치들로 상기 블록체인 데이터에 포함되어 있는 상기 제1 인증서의 전송을 요청한다.After the first certificate is issued to the user terminal 150, the certificate transmission request unit 117 is configured to transfer the digital signature value signed with the private key from the user terminal 150 to the content providing server 160 and the first certificate. As it is transmitted, when a verification request for the first certificate along with the first certificate is received from the content providing server 160 through the relay server 130, a preset among the remaining node devices 101, 102, 103 After randomly selecting a number of first node devices, the first node devices are requested to transmit the first certificate included in the block chain data.

이때, 본 발명의 일실시예에 따르면, 중계 서버(130)는 콘텐츠 제공 서버(160)로부터 상기 제1 인증서와 상기 제1 인증서에 대한 검증 요청이 수신되면, 상기 제1 인증서에 대한 검증을 수행하기 위한 노드 장치를 복수의 노드 장치들(110, 101, 102, 103) 중에서 랜덤하게 선택할 수 있다. 이때, 중계 서버(130)에 의해 상기 제1 인증서에 대한 검증을 수행하기 위한 노드로 노드 장치(110)가 선택된 경우, 노드 장치(110)의 인증서 전송 요청부(117)는 나머지 노드 장치들(101, 102, 103) 중 기설정된 개수의 제1 노드 장치들을 랜덤하게 선택한 후 상기 제1 노드 장치들로 상기 블록체인 데이터에 포함되어 있는 상기 제1 인증서의 전송을 요청할 수 있다.At this time, according to an embodiment of the present invention, when a request for verification of the first certificate and the first certificate is received from the content providing server 160, the relay server 130 performs verification of the first certificate. A node device to be used may be randomly selected from among a plurality of node devices 110, 101, 102, and 103. At this time, when the node device 110 is selected as a node for performing verification of the first certificate by the relay server 130, the certificate transmission request unit 117 of the node device 110 is performed by the remaining node devices ( 101, 102, 103), a predetermined number of first node devices may be randomly selected, and then the first node devices may request transmission of the first certificate included in the blockchain data.

검증 요청부(118)는 상기 제1 노드 장치들로부터 상기 제1 인증서가 수신되면, 상기 제1 노드 장치들로부터 수신된 상기 제1 인증서와 중계 서버(130)를 통해 수신한 상기 제1 인증서를 비교하여 상기 제1 노드 장치들 중 기설정된 임계 개수 이상의 노드 장치들에서 수신된 상기 제1 인증서가 중계 서버(130)를 통해 수신한 상기 제1 인증서와 동일한 것으로 확인되면, 중계 서버(130)를 통해 수신한 상기 제1 인증서에 포함되어 있는 상기 제1 전자 서명 값을 추출하여 키 관리 서버(140)로 상기 제1 전자 서명 값을 전송하면서, 상기 제1 전자 서명 값에 대한 검증 요청을 전송한다.When the first certificate is received from the first node devices, the verification request unit 118 receives the first certificate received from the first node devices and the first certificate received through the relay server 130. By comparison, if the first certificate received from node devices having a predetermined threshold number or more among the first node devices is confirmed to be the same as the first certificate received through the relay server 130, the relay server 130 The first electronic signature value included in the first certificate received through is extracted and the first electronic signature value is transmitted to the key management server 140, and a verification request for the first electronic signature value is transmitted. .

예컨대, 제1 노드 장치들의 개수가 10개이고, 상기 임계 개수가 7개라고 하는 경우, 검증 요청부(118)는 10개의 제1 노드 장치들로부터 상기 제1 인증서가 수신되면, 10개의 제1 노드 장치들 중 7개 이상의 노드 장치들에서 수신된 상기 제1 인증서가 중계 서버(130)를 통해 수신한 상기 제1 인증서와 동일한지 여부를 확인할 수 있다.For example, if the number of first node devices is 10 and the threshold number is 7, the verification requesting unit 118 receives the first certificate from 10 first node devices, and 10 first nodes It is possible to check whether the first certificate received from seven or more node devices among the devices is the same as the first certificate received through the relay server 130.

만약, 7개 이상의 노드 장치들에서 수신된 상기 제1 인증서가 중계 서버(130)를 통해 수신한 상기 제1 인증서와 동일한 것으로 확인되면, 검증 요청부(118)는 중계 서버(130)를 통해 수신한 상기 제1 인증서에 문제가 없는 것으로 판단하고, 중계 서버(130)를 통해 수신한 상기 제1 인증서에 포함되어 있는 상기 제1 전자 서명 값을 추출하여 키 관리 서버(140)로 상기 제1 전자 서명 값을 전송하면서, 상기 제1 전자 서명 값에 대한 검증 요청을 전송할 수 있다.If it is confirmed that the first certificate received from 7 or more node devices is the same as the first certificate received through the relay server 130, the verification request unit 118 receives it through the relay server 130. It is determined that there is no problem with the first certificate, and the first electronic signature value included in the first certificate received through the relay server 130 is extracted, and the first electronic signature value is sent to the key management server 140. While transmitting the signature value, a verification request for the first electronic signature value may be transmitted.

이때, 키 관리 서버(140)는 노드 장치(110)로부터 상기 제1 전자 서명 값과 상기 제1 전자 서명 값에 대한 검증 요청이 수신되면, 키 관리 서버(140)에 저장되어 있는 CA 공개키를 기초로 상기 제1 전자 서명 값을 복호화하여 복호화 값을 생성하고, 상기 복호화 값에서 상기 제1 인증서에 포함되어 있는 상기 공개키가 포함되어 있는지 확인하여 상기 복호화 값에 상기 공개키가 포함되어 있는 것으로 확인되면, 상기 제1 전자 서명 값에 대한 검증을 완료한 후 노드 장치(110)로 상기 제1 전자 서명 값에 대한 검증 완료 메시지를 전송할 수 있다.At this time, the key management server 140, when receiving the verification request for the first electronic signature value and the first electronic signature value from the node device 110, the CA public key stored in the key management server 140 Based on the decryption of the first electronic signature value, a decryption value is generated, and the decryption value confirms that the public key included in the first certificate is included, and the decryption value includes the public key. If confirmed, after completing the verification of the first electronic signature value, a verification completion message for the first electronic signature value may be transmitted to the node device 110.

인증서 검증 처리부(119)는 키 관리 서버(140)에서 상기 CA 공개키를 기초로 상기 제1 전자 서명 값에 대한 검증이 완료됨에 따라, 키 관리 서버(140)로부터 상기 제1 전자 서명 값에 대한 검증 완료 메시지가 수신되면, 상기 제1 인증서에 대한 검증을 완료 처리하여 중계 서버(130)를 통해 콘텐츠 제공 서버(160)로 상기 제1 인증서에 대한 검증 완료 메시지를 전송한다.As the certificate verification processing unit 119 completes verification of the first electronic signature value based on the CA public key in the key management server 140, the key management server 140 determines the first digital signature value. When the verification completion message is received, verification of the first certificate is completed, and the verification completion message for the first certificate is transmitted to the content providing server 160 through the relay server 130.

본 발명의 일실시예에 따르면, 노드 장치(110)는 상기 제1 인증서의 발급이 완료된 후 중계 서버(130)를 통해 상기 제1 인증서의 폐기 요청이 수신되는 경우, 상기 제1 인증서의 검증 과정과 동일한 방식으로 블록체인 네트워크를 통해 저장되어 있는 상기 제1 인증서와의 일치 여부를 확인하고, 키 관리 서버(140)를 통해 상기 제1 전자 서명 값에 대한 검증을 완료한 후 상기 제1 인증서를 폐기 처리하고, 상기 제1 인증서의 폐기 처리와 관련된 상태 정보가 포함된 블록을 생성하여 블록체인 네트워크에 저장되어 있는 블록체인 데이터에 추가할 수 있다.According to an embodiment of the present invention, when the request for revocation of the first certificate is received through the relay server 130 after the issuance of the first certificate is completed, the node device 110 verifies the first certificate. In the same manner as, the first certificate is verified after checking whether it matches the first certificate stored through the blockchain network, and completing the verification of the first electronic signature value through the key management server 140. A block containing status information related to the revocation process of the first certificate may be generated and added to the block chain data stored in the block chain network.

도 2는 본 발명의 일실시예에 따른 인증서가 포함된 블록체인 데이터를 메모리 상에 각각 저장하고 있는 복수의 노드 장치들 중 어느 하나인 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 동작 방법을 도시한 순서도이다.FIG. 2 illustrates a method of operating a node device for performing blockchain-based certificate management, which is any one of a plurality of node devices each storing block chain data including a certificate in a memory according to an embodiment of the present invention. It is a flow chart shown.

단계(S210)에서는 사용자 단말에서 전자 서명을 위한 개인키와 공개키가 생성된 후 상기 사용자 단말로부터 상기 공개키와 함께 인증서 발급 요청이 중계 서버에 수신됨에 따라, 상기 중계 서버로부터 상기 공개키와 함께 상기 인증서 발급 요청이 수신되면, 상기 인증서 발급 요청에 대응하여 상기 공개키가 포함된 제1 인증서를 생성한다.In step S210, after generating a private key and a public key for an electronic signature in the user terminal, as a request for issuing a certificate along with the public key is received by the relay server from the user terminal, together with the public key from the relay server. When the certificate issuance request is received, a first certificate including the public key is generated in response to the certificate issuance request.

단계(S220)에서는 상기 제1 인증서가 생성되면, 상기 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터를 기초로 상기 제1 인증서가 포함된 블록을 생성하고, 상기 블록을 상기 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결한 후 상기 블록을 상기 복수의 노드 장치들 중 상기 노드 장치를 제외한 나머지 노드 장치들로 전송한다.In step S220, when the first certificate is generated, a block including the first certificate is generated based on the block chain data stored in the memory of the node device, and the block is transferred to the memory of the node device. The block is connected to the block chain data stored on the device in a chain, and then the block is transmitted to other node devices other than the node device among the plurality of node devices.

단계(S230)에서는 상기 제1 인증서를 상기 중계 서버로 전송하여 상기 중계 서버가 상기 제1 인증서를 상기 사용자 단말로 전송하도록 제어한다.In step S230, by transmitting the first certificate to the relay server, the relay server controls to transmit the first certificate to the user terminal.

이때, 상기 나머지 노드 장치들은 상기 블록이 수신되면, 상기 나머지 노드 장치들 각각의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 블록을 체인으로 연결하여 저장할 수 있다.In this case, when the block is received, the remaining node devices may chain the block to the block chain data stored in the memory of each of the remaining node devices and store the block.

이때, 본 발명의 일실시예에 따르면, 단계(S210)에서는 상기 중계 서버로부터 상기 중계 서버에서 생성된 제1 난수를 수신하는 단계, CA 개인키와 상기 CA 개인키에 대응하는 CA 공개키가 저장되어 있는 키 관리 서버에 접속하여 상기 키 관리 서버로 상기 제1 난수와 상기 공개키를 전송하면서, 상기 제1 난수와 상기 공개키가 조합된 데이터에 대한 전자 서명 요청을 전송하는 단계 및 상기 키 관리 서버로부터 상기 제1 난수와 상기 공개키가 조합된 데이터에 대해 상기 CA 개인키로 서명된 제1 전자 서명 값이 수신되면, 상기 인증서 발급 요청에 대응하여, 기설정된 인증서 템플릿에 상기 공개키와 상기 제1 전자 서명 값을 삽입하여 상기 제1 인증서를 생성하는 단계를 포함할 수 있다.At this time, according to an embodiment of the present invention, in step S210, receiving a first random number generated by the relay server from the relay server, a CA private key and a CA public key corresponding to the CA private key are stored. Accessing a key management server that has been established and transmitting the first random number and the public key to the key management server, transmitting an electronic signature request for data in which the first random number and the public key are combined, and the key management When a first digital signature value signed with the CA private key is received for the data in which the first random number and the public key are combined from a server, in response to the certificate issuance request, the public key and the 1 It may include the step of generating the first certificate by inserting the digital signature value.

이때, 본 발명의 일실시예에 따르면, 상기 중계 서버는 난수 생성에 사용하기 위한 엔트로피 데이터를 발생시키는 미리 설정된 잡음원으로부터 제1 엔트로피 데이터를 수집하고, 상기 제1 엔트로피 데이터를 비결정론적 난수 발생기에 입력으로 인가하여 상기 제1 난수를 생성한 후 상기 제1 난수를 상기 노드 장치로 전송할 수 있다.In this case, according to an embodiment of the present invention, the relay server collects first entropy data from a preset noise source that generates entropy data for use in random number generation, and inputs the first entropy data to a non-deterministic random number generator. After the first random number is generated by applying to, the first random number may be transmitted to the node device.

또한, 본 발명의 일실시예에 따르면, 상기 노드 장치의 동작 방법은 상기 사용자 단말로 상기 제1 인증서가 발급된 이후, 상기 사용자 단말에서 콘텐츠 제공 서버로 상기 개인키로 서명된 전자 서명 값과 상기 제1 인증서가 전달됨에 따라, 상기 콘텐츠 제공 서버로부터 상기 중계 서버를 통해 상기 제1 인증서와 함께 상기 제1 인증서에 대한 검증 요청이 수신되면, 상기 나머지 노드 장치들 중 기설정된 개수의 제1 노드 장치들을 랜덤하게 선택한 후 상기 제1 노드 장치들로 상기 블록체인 데이터에 포함되어 있는 상기 제1 인증서의 전송을 요청하는 단계, 상기 제1 노드 장치들로부터 상기 제1 인증서가 수신되면, 상기 제1 노드 장치들로부터 수신된 상기 제1 인증서와 상기 중계 서버를 통해 수신한 상기 제1 인증서를 비교하여 상기 제1 노드 장치들 중 기설정된 임계 개수 이상의 노드 장치들에서 수신된 상기 제1 인증서가 상기 중계 서버를 통해 수신한 상기 제1 인증서와 동일한 것으로 확인되면, 상기 중계 서버를 통해 수신한 상기 제1 인증서에 포함되어 있는 상기 제1 전자 서명 값을 추출하여 상기 키 관리 서버로 상기 제1 전자 서명 값을 전송하면서, 상기 제1 전자 서명 값에 대한 검증 요청을 전송하는 단계 및 상기 키 관리 서버에서 상기 CA 공개키를 기초로 상기 제1 전자 서명 값에 대한 검증이 완료됨에 따라, 상기 키 관리 서버로부터 상기 제1 전자 서명 값에 대한 검증 완료 메시지가 수신되면, 상기 제1 인증서에 대한 검증을 완료 처리하여 상기 중계 서버를 통해 상기 콘텐츠 제공 서버로 상기 제1 인증서에 대한 검증 완료 메시지를 전송하는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, after the first certificate is issued to the user terminal, the method of operating the node device includes an electronic signature value signed with the private key from the user terminal to a content providing server and 1 As the certificate is delivered, when a verification request for the first certificate is received from the content providing server through the relay server, a preset number of first node devices among the remaining node devices is Requesting transmission of the first certificate included in the block chain data to the first node devices after randomly selecting, and when the first certificate is received from the first node devices, the first node device The first certificate received from the first node devices is compared with the first certificate received through the relay server, and the first certificate received from node devices having a predetermined threshold number or more among the first node devices is transmitted to the relay server. When it is confirmed that it is the same as the first certificate received through the relay server, the first electronic signature value included in the first certificate received through the relay server is extracted and the first electronic signature value is transmitted to the key management server. While, as the step of transmitting a verification request for the first digital signature value and verification of the first digital signature value based on the CA public key in the key management server is completed, the first digital signature value from the key management server 1 When a verification completion message for the digital signature value is received, processing the verification of the first certificate to be completed, and transmitting a verification completion message for the first certificate to the content providing server through the relay server. can do.

또한, 본 발명의 일실시예에 따르면, 단계(S210)에서는 상기 중계 서버의 인증에 사용하기 위한 기설정된 제1 유클리드 거리에 대한 정보가 저장되어 있는 유클리드 거리 저장부를 유지하는 단계, 상기 중계 서버로부터 상기 공개키와 함께 상기 인증서 발급 요청이 수신되면, 랜덤 벡터를 랜덤하게 생성하고, 상기 중계 서버로 상기 랜덤 벡터를 전송하면서 상기 랜덤 벡터에 대한 피드백 벡터의 전송을 요청하는 단계, 상기 중계 서버로부터 상기 랜덤 벡터에 대한 피드백 벡터로 제1 피드백 벡터(상기 제1 피드백 백터는 상기 랜덤 벡터와의 유클리드 거리가 상기 중계 서버에 기 저장되어 있는 상기 제1 유클리드 거리로 연산되도록 생성된 벡터임)가 수신되면, 상기 랜덤 벡터와 상기 제1 피드백 벡터 간의 유클리드 거리를 연산하고, 상기 연산된 유클리드 거리가 상기 제1 유클리드 거리와 동일한지 여부를 확인하는 단계 및 상기 연산된 유클리드 거리가 상기 제1 유클리드 거리와 동일한 것으로 확인되면, 상기 중계 서버에 대한 인증을 완료한 후 상기 제1 인증서의 생성과 관련된 절차를 수행할 것을 지시하는 이벤트를 발생시키는 단계를 포함할 수 있다.In addition, according to an embodiment of the present invention, in step S210, maintaining a Euclidean distance storage unit in which information on a preset first Euclidean distance for use in authentication of the relay server is stored, from the relay server. Upon receiving the certificate issuance request together with the public key, randomly generating a random vector, and requesting transmission of a feedback vector for the random vector while transmitting the random vector to the relay server, from the relay server When a first feedback vector (the first feedback vector is a vector generated so that the Euclidean distance from the random vector is calculated as the first Euclidean distance previously stored in the relay server) is received as a feedback vector for a random vector , Calculating a Euclidean distance between the random vector and the first feedback vector, checking whether the calculated Euclidean distance is the same as the first Euclidean distance, and the calculated Euclidean distance is the same as the first Euclidean distance If it is confirmed that it may include generating an event instructing to perform a procedure related to generation of the first certificate after completing authentication for the relay server.

이때, 본 발명의 일실시예에 따르면, 상기 중계 서버는 메모리 상에 상기 제1 유클리드 거리에 대한 정보를 저장하고 있고, 상기 노드 장치로부터 상기 랜덤 벡터와 상기 랜덤 벡터에 대한 피드백 벡터의 전송 요청이 수신되면, 상기 랜덤 벡터와의 유클리드 거리가 상기 중계 서버의 메모리 상에 저장되어 있는 상기 제1 유클리드 거리로 연산되는 피드백 벡터인 상기 제1 피드백 벡터를 랜덤하게 생성한 후 상기 노드 장치로 상기 제1 피드백 벡터를 전송할 수 있다.In this case, according to an embodiment of the present invention, the relay server stores information on the first Euclidean distance in a memory, and a request for transmission of the random vector and the feedback vector for the random vector is received from the node device. Upon reception, the first feedback vector is randomly generated, which is a feedback vector whose Euclidean distance to the random vector is calculated as the first Euclidean distance stored in the memory of the relay server, and then the first feedback vector is randomly generated by the node device. A feedback vector can be transmitted.

이상, 도 2를 참조하여 본 발명의 일실시예에 따른 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 동작 방법은 도 1을 이용하여 설명한 블록체인 기반의 인증서 관리를 수행하는 노드 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, a method of operating a node device for performing blockchain-based certificate management according to an embodiment of the present invention has been described with reference to FIG. 2. Here, the operation method of the node device for performing blockchain-based certificate management according to an embodiment of the present invention is a configuration for the operation of the node device 110 for performing blockchain-based certificate management described with reference to FIG. Since it may correspond to, a more detailed description thereof will be omitted.

본 발명의 일실시예에 따른 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The method of operating a node device for performing blockchain-based certificate management according to an embodiment of the present invention may be implemented as a computer program stored in a storage medium for execution through combination with a computer.

또한, 본 발명의 일실시예에 따른 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, the method of operating a node device for performing blockchain-based certificate management according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through 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 in the medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, in the present invention, specific matters such as specific components, etc., and limited embodiments and drawings have been described, but this is provided only to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , If a person of ordinary skill in the field to which the present invention belongs, various modifications and variations are possible from these descriptions.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention is limited to the described embodiments and should not be defined, and all things that are equivalent or equivalent to the claims as well as the claims to be described later fall within the scope of the spirit of the present invention. .

110: 블록체인 기반의 인증서 관리를 수행하는 노드 장치
111: 인증서 생성부 112: 블록 전송부
113: 인증서 발급부 114: 난수 수신부
115: 전자 서명 요청부 116: 인증서 생성 처리부
117: 인증서 전송 요청부 118: 검증 요청부
119: 인증서 검증 처리부 120: 유클리드 거리 저장부
121: 피드백 요청부 122: 확인부
123: 이벤트 발생부
101, 102, 103: 나머지 노드 장치들
130: 중계 서버
140: 키 관리 서버
150: 사용자 단말
160: 콘텐츠 제공 서버
110: Node device that performs blockchain-based certificate management
111: certificate generation unit 112: block transmission unit
113: certificate issuing unit 114: random number receiving unit
115: electronic signature request unit 116: certificate generation processing unit
117: certificate transmission request unit 118: verification request unit
119: certificate verification processing unit 120: Euclidean distance storage unit
121: feedback request unit 122: confirmation unit
123: event generator
101, 102, 103: remaining node devices
130: relay server
140: key management server
150: user terminal
160: content providing server

Claims (14)

인증서가 포함된 블록체인 데이터를 메모리 상에 각각 저장하고 있는 복수의 노드 장치들 중 어느 하나인 블록체인 기반의 인증서 관리를 수행하는 노드 장치에 있어서,
사용자 단말에서 전자 서명을 위한 개인키와 공개키가 생성된 후 상기 사용자 단말로부터 상기 공개키와 함께 인증서 발급 요청이 중계 서버에 수신됨에 따라, 상기 중계 서버로부터 상기 공개키와 함께 상기 인증서 발급 요청이 수신되면, 상기 인증서 발급 요청에 대응하여 상기 공개키가 포함된 제1 인증서를 생성하는 인증서 생성부;
상기 제1 인증서가 생성되면, 상기 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터를 기초로 상기 제1 인증서가 포함된 블록을 생성하고, 상기 블록을 상기 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결한 후 상기 블록을 상기 복수의 노드 장치들 중 상기 노드 장치를 제외한 나머지 노드 장치들로 전송하는 블록 전송부; 및
상기 제1 인증서를 상기 중계 서버로 전송하여 상기 중계 서버가 상기 제1 인증서를 상기 사용자 단말로 전송하도록 제어하는 인증서 발급부
를 포함하고,
상기 인증서 생성부는
상기 중계 서버로부터 상기 중계 서버에서 생성된 제1 난수를 수신하는 난수 수신부;
인증 기관(Certificate Authority: CA) 개인키와 상기 CA 개인키에 대응하는 CA 공개키가 저장되어 있는 키 관리 서버에 접속하여 상기 키 관리 서버로 상기 제1 난수와 상기 공개키를 전송하면서, 상기 제1 난수와 상기 공개키가 조합된 데이터에 대한 전자 서명 요청을 전송하는 전자 서명 요청부; 및
상기 키 관리 서버로부터 상기 제1 난수와 상기 공개키가 조합된 데이터에 대해 상기 CA 개인키로 서명된 제1 전자 서명 값이 수신되면, 상기 인증서 발급 요청에 대응하여, 기설정된(predetermined) 인증서 템플릿에 상기 공개키와 상기 제1 전자 서명 값을 삽입하여 상기 제1 인증서를 생성하는 인증서 생성 처리부
를 포함하며,
상기 나머지 노드 장치들은
상기 블록이 수신되면, 상기 나머지 노드 장치들 각각의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 블록을 체인으로 연결하여 저장하는 블록체인 기반의 인증서 관리를 수행하는 노드 장치.
In the node device that performs blockchain-based certificate management, which is any one of a plurality of node devices each storing blockchain data including a certificate in a memory,
After the private key and public key for electronic signature are generated in the user terminal, as a request for issuing a certificate along with the public key is received by the relay server from the user terminal, the request for issuing the certificate along with the public key is sent from the relay server. Upon receipt, a certificate generator configured to generate a first certificate including the public key in response to the certificate issuance request;
When the first certificate is generated, a block including the first certificate is generated based on the block chain data stored in the memory of the node device, and the block is stored in the memory of the node device. A block transmission unit that connects the block chain data with a chain and transmits the block to other node devices other than the node device among the plurality of node devices; And
A certificate issuing unit that transmits the first certificate to the relay server and controls the relay server to transmit the first certificate to the user terminal
Including,
The certificate generator
A random number receiver configured to receive a first random number generated by the relay server from the relay server;
The first random number and the public key are transmitted to the key management server by accessing a key management server in which a certificate authority (CA) private key and a CA public key corresponding to the CA private key are stored. 1 an electronic signature request unit for transmitting an electronic signature request for data in which a random number and the public key are combined; And
When a first electronic signature value signed with the CA private key is received for the data in which the first random number and the public key are combined from the key management server, in response to the certificate issuance request, a predetermined certificate template Certificate generation processing unit for generating the first certificate by inserting the public key and the first digital signature value
Including,
The remaining node devices
When the block is received, the node device performs blockchain-based certificate management for storing the block by chaining the block to the block chain data stored in the memory of each of the remaining node devices.
삭제delete 제1항에 있어서,
상기 중계 서버는
난수 생성에 사용하기 위한 엔트로피 데이터를 발생시키는 미리 설정된 잡음원으로부터 제1 엔트로피 데이터를 수집하고, 상기 제1 엔트로피 데이터를 비결정론적 난수 발생기(Non-Deterministic Random Bit Generator: NRBG)에 입력으로 인가하여 상기 제1 난수를 생성한 후 상기 제1 난수를 상기 노드 장치로 전송하는 블록체인 기반의 인증서 관리를 수행하는 노드 장치.
The method of claim 1,
The relay server
First entropy data is collected from a preset noise source that generates entropy data for use in random number generation, and the first entropy data is applied as an input to a non-deterministic random number generator (NRBG). 1 A node device that generates a random number and then transmits the first random number to the node device to perform blockchain-based certificate management.
제1항에 있어서,
상기 노드 장치는
상기 사용자 단말로 상기 제1 인증서가 발급된 이후, 상기 사용자 단말에서 콘텐츠 제공 서버로 상기 개인키로 서명된 전자 서명 값과 상기 제1 인증서가 전달됨에 따라, 상기 콘텐츠 제공 서버로부터 상기 중계 서버를 통해 상기 제1 인증서와 함께 상기 제1 인증서에 대한 검증 요청이 수신되면, 상기 나머지 노드 장치들 중 기설정된 개수의 제1 노드 장치들을 랜덤하게 선택한 후 상기 제1 노드 장치들로 상기 블록체인 데이터에 포함되어 있는 상기 제1 인증서의 전송을 요청하는 인증서 전송 요청부;
상기 제1 노드 장치들로부터 상기 제1 인증서가 수신되면, 상기 제1 노드 장치들로부터 수신된 상기 제1 인증서와 상기 중계 서버를 통해 수신한 상기 제1 인증서를 비교하여 상기 제1 노드 장치들 중 기설정된 임계 개수 이상의 노드 장치들에서 수신된 상기 제1 인증서가 상기 중계 서버를 통해 수신한 상기 제1 인증서와 동일한 것으로 확인되면, 상기 중계 서버를 통해 수신한 상기 제1 인증서에 포함되어 있는 상기 제1 전자 서명 값을 추출하여 상기 키 관리 서버로 상기 제1 전자 서명 값을 전송하면서, 상기 제1 전자 서명 값에 대한 검증 요청을 전송하는 검증 요청부; 및
상기 키 관리 서버에서 상기 CA 공개키를 기초로 상기 제1 전자 서명 값에 대한 검증이 완료됨에 따라, 상기 키 관리 서버로부터 상기 제1 전자 서명 값에 대한 검증 완료 메시지가 수신되면, 상기 제1 인증서에 대한 검증을 완료 처리하여 상기 중계 서버를 통해 상기 콘텐츠 제공 서버로 상기 제1 인증서에 대한 검증 완료 메시지를 전송하는 인증서 검증 처리부
를 더 포함하는 블록체인 기반의 인증서 관리를 수행하는 노드 장치.
The method of claim 1,
The node device
After the first certificate is issued to the user terminal, as the digital signature value signed with the private key and the first certificate are transferred from the user terminal to the content providing server, the content providing server through the relay server When a verification request for the first certificate is received along with the first certificate, a predetermined number of first node devices are randomly selected from among the remaining node devices, and then included in the block chain data as the first node devices. A certificate transmission request unit for requesting transmission of the first certificate;
When the first certificate is received from the first node devices, the first certificate received from the first node devices is compared with the first certificate received through the relay server, and among the first node devices When it is confirmed that the first certificate received from node devices having a predetermined threshold number or more is the same as the first certificate received through the relay server, the first certificate included in the first certificate received through the relay server 1 a verification request unit for extracting an electronic signature value and transmitting the first electronic signature value to the key management server, and transmitting a verification request for the first electronic signature value; And
As the verification of the first electronic signature value is completed based on the CA public key in the key management server, when a verification completion message for the first digital signature value is received from the key management server, the first certificate A certificate verification processing unit that completes verification of the first certificate and transmits a verification completion message for the first certificate to the content providing server through the relay server
Node device for performing blockchain-based certificate management further comprising a.
제1항에 있어서,
상기 인증서 생성부는
상기 중계 서버의 인증에 사용하기 위한 기설정된 제1 유클리드 거리(Euclidean Distance)에 대한 정보가 저장되어 있는 유클리드 거리 저장부;
상기 중계 서버로부터 상기 공개키와 함께 상기 인증서 발급 요청이 수신되면, 랜덤 벡터를 랜덤하게 생성하고, 상기 중계 서버로 상기 랜덤 벡터를 전송하면서 상기 랜덤 벡터에 대한 피드백 벡터의 전송을 요청하는 피드백 요청부;
상기 중계 서버로부터 상기 랜덤 벡터에 대한 피드백 벡터로 제1 피드백 벡터 - 상기 제1 피드백 백터는 상기 랜덤 벡터와의 유클리드 거리가 상기 중계 서버에 기 저장되어 있는 상기 제1 유클리드 거리로 연산되도록 생성된 벡터임 - 가 수신되면, 상기 랜덤 벡터와 상기 제1 피드백 벡터 간의 유클리드 거리를 연산하고, 상기 연산된 유클리드 거리가 상기 제1 유클리드 거리와 동일한지 여부를 확인하는 확인부; 및
상기 연산된 유클리드 거리가 상기 제1 유클리드 거리와 동일한 것으로 확인되면, 상기 중계 서버에 대한 인증을 완료한 후 상기 제1 인증서의 생성과 관련된 절차를 수행할 것을 지시하는 이벤트를 발생시키는 이벤트 발생부
를 포함하는 블록체인 기반의 인증서 관리를 수행하는 노드 장치.
The method of claim 1,
The certificate generator
A Euclidean distance storage unit storing information on a preset first Euclidean distance for use in authentication of the relay server;
When the certificate issuance request is received from the relay server along with the public key, a feedback request unit that randomly generates a random vector and requests transmission of a feedback vector for the random vector while transmitting the random vector to the relay server ;
A first feedback vector as a feedback vector for the random vector from the relay server-The first feedback vector is a vector generated so that the Euclidean distance from the random vector is calculated as the first Euclidean distance previously stored in the relay server A confirmation unit that calculates a Euclidean distance between the random vector and the first feedback vector, and checks whether the calculated Euclidean distance is the same as the first Euclidean distance when im-is received; And
When it is confirmed that the calculated Euclidean distance is the same as the first Euclidean distance, an event generating unit that generates an event instructing to perform a procedure related to the generation of the first certificate after completing authentication for the relay server
Node device for performing blockchain-based certificate management including a.
제5항에 있어서,
상기 중계 서버는
메모리 상에 상기 제1 유클리드 거리에 대한 정보를 저장하고 있고, 상기 노드 장치로부터 상기 랜덤 벡터와 상기 랜덤 벡터에 대한 피드백 벡터의 전송 요청이 수신되면, 상기 랜덤 벡터와의 유클리드 거리가 상기 중계 서버의 메모리 상에 저장되어 있는 상기 제1 유클리드 거리로 연산되는 피드백 벡터인 상기 제1 피드백 벡터를 랜덤하게 생성한 후 상기 노드 장치로 상기 제1 피드백 벡터를 전송하는 블록체인 기반의 인증서 관리를 수행하는 노드 장치.
The method of claim 5,
The relay server
When information on the first Euclidean distance is stored in a memory, and a request to transmit the random vector and the feedback vector for the random vector is received from the node device, the Euclidean distance to the random vector is determined by the relay server. A node that performs blockchain-based certificate management that randomly generates the first feedback vector, which is a feedback vector calculated by the first Euclidean distance stored in memory, and then transmits the first feedback vector to the node device Device.
인증서가 포함된 블록체인 데이터를 메모리 상에 각각 저장하고 있는 복수의 노드 장치들 중 어느 하나인 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 동작 방법에 있어서,
사용자 단말에서 전자 서명을 위한 개인키와 공개키가 생성된 후 상기 사용자 단말로부터 상기 공개키와 함께 인증서 발급 요청이 중계 서버에 수신됨에 따라, 상기 중계 서버로부터 상기 공개키와 함께 상기 인증서 발급 요청이 수신되면, 상기 인증서 발급 요청에 대응하여 상기 공개키가 포함된 제1 인증서를 생성하는 단계;
상기 제1 인증서가 생성되면, 상기 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터를 기초로 상기 제1 인증서가 포함된 블록을 생성하고, 상기 블록을 상기 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결한 후 상기 블록을 상기 복수의 노드 장치들 중 상기 노드 장치를 제외한 나머지 노드 장치들로 전송하는 단계; 및
상기 제1 인증서를 상기 중계 서버로 전송하여 상기 중계 서버가 상기 제1 인증서를 상기 사용자 단말로 전송하도록 제어하는 단계
를 포함하고,
상기 제1 인증서를 생성하는 단계는
상기 중계 서버로부터 상기 중계 서버에서 생성된 제1 난수를 수신하는 단계;
인증 기관(Certificate Authority: CA) 개인키와 상기 CA 개인키에 대응하는 CA 공개키가 저장되어 있는 키 관리 서버에 접속하여 상기 키 관리 서버로 상기 제1 난수와 상기 공개키를 전송하면서, 상기 제1 난수와 상기 공개키가 조합된 데이터에 대한 전자 서명 요청을 전송하는 단계; 및
상기 키 관리 서버로부터 상기 제1 난수와 상기 공개키가 조합된 데이터에 대해 상기 CA 개인키로 서명된 제1 전자 서명 값이 수신되면, 상기 인증서 발급 요청에 대응하여, 기설정된(predetermined) 인증서 템플릿에 상기 공개키와 상기 제1 전자 서명 값을 삽입하여 상기 제1 인증서의 생성을 처리하는 단계
를 포함하며,
상기 나머지 노드 장치들은
상기 블록이 수신되면, 상기 나머지 노드 장치들 각각의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 블록을 체인으로 연결하여 저장하는 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 동작 방법.
In the method of operating a node device for performing blockchain-based certificate management, which is one of a plurality of node devices each storing blockchain data including a certificate in a memory,
After the private key and public key for electronic signature are generated in the user terminal, as a request for issuing a certificate along with the public key is received by the relay server from the user terminal, the request for issuing the certificate along with the public key is sent from the relay server. Upon receipt, generating a first certificate including the public key in response to the certificate issuance request;
When the first certificate is generated, a block including the first certificate is generated based on the block chain data stored in the memory of the node device, and the block is stored in the memory of the node device. Chaining the block chain data and transmitting the block to other node devices other than the node device among the plurality of node devices; And
Controlling the relay server to transmit the first certificate to the user terminal by transmitting the first certificate to the relay server
Including,
The step of generating the first certificate
Receiving a first random number generated by the relay server from the relay server;
The first random number and the public key are transmitted to the key management server by accessing a key management server in which a certificate authority (CA) private key and a CA public key corresponding to the CA private key are stored. 1 transmitting an electronic signature request for data in which a random number and the public key are combined; And
When a first electronic signature value signed with the CA private key is received for the data in which the first random number and the public key are combined from the key management server, in response to the certificate issuance request, a predetermined certificate template Processing the generation of the first certificate by inserting the public key and the first digital signature value
Including,
The remaining node devices
When the block is received, a method of operating a node device for performing blockchain-based certificate management in which the block is chained and stored with the block chain data stored in the memory of each of the remaining node devices.
삭제delete 제7항에 있어서,
상기 중계 서버는
난수 생성에 사용하기 위한 엔트로피 데이터를 발생시키는 미리 설정된 잡음원으로부터 제1 엔트로피 데이터를 수집하고, 상기 제1 엔트로피 데이터를 비결정론적 난수 발생기(Non-Deterministic Random Bit Generator: NRBG)에 입력으로 인가하여 상기 제1 난수를 생성한 후 상기 제1 난수를 상기 노드 장치로 전송하는 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 동작 방법.
The method of claim 7,
The relay server
First entropy data is collected from a preset noise source that generates entropy data for use in random number generation, and the first entropy data is applied as an input to a non-deterministic random number generator (NRBG). 1 A method of operating a node device for performing blockchain-based certificate management for generating a random number and transmitting the first random number to the node device.
제7항에 있어서,
상기 노드 장치의 동작 방법은
상기 사용자 단말로 상기 제1 인증서가 발급된 이후, 상기 사용자 단말에서 콘텐츠 제공 서버로 상기 개인키로 서명된 전자 서명 값과 상기 제1 인증서가 전달됨에 따라, 상기 콘텐츠 제공 서버로부터 상기 중계 서버를 통해 상기 제1 인증서와 함께 상기 제1 인증서에 대한 검증 요청이 수신되면, 상기 나머지 노드 장치들 중 기설정된 개수의 제1 노드 장치들을 랜덤하게 선택한 후 상기 제1 노드 장치들로 상기 블록체인 데이터에 포함되어 있는 상기 제1 인증서의 전송을 요청하는 단계;
상기 제1 노드 장치들로부터 상기 제1 인증서가 수신되면, 상기 제1 노드 장치들로부터 수신된 상기 제1 인증서와 상기 중계 서버를 통해 수신한 상기 제1 인증서를 비교하여 상기 제1 노드 장치들 중 기설정된 임계 개수 이상의 노드 장치들에서 수신된 상기 제1 인증서가 상기 중계 서버를 통해 수신한 상기 제1 인증서와 동일한 것으로 확인되면, 상기 중계 서버를 통해 수신한 상기 제1 인증서에 포함되어 있는 상기 제1 전자 서명 값을 추출하여 상기 키 관리 서버로 상기 제1 전자 서명 값을 전송하면서, 상기 제1 전자 서명 값에 대한 검증 요청을 전송하는 단계; 및
상기 키 관리 서버에서 상기 CA 공개키를 기초로 상기 제1 전자 서명 값에 대한 검증이 완료됨에 따라, 상기 키 관리 서버로부터 상기 제1 전자 서명 값에 대한 검증 완료 메시지가 수신되면, 상기 제1 인증서에 대한 검증을 완료 처리하여 상기 중계 서버를 통해 상기 콘텐츠 제공 서버로 상기 제1 인증서에 대한 검증 완료 메시지를 전송하는 단계
를 더 포함하는 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 동작 방법.
The method of claim 7,
The method of operating the node device
After the first certificate is issued to the user terminal, as the digital signature value signed with the private key and the first certificate are transferred from the user terminal to the content providing server, the content providing server through the relay server When a verification request for the first certificate is received along with the first certificate, a predetermined number of first node devices are randomly selected from among the remaining node devices, and then included in the block chain data as the first node devices. Requesting transmission of the present first certificate;
When the first certificate is received from the first node devices, the first certificate received from the first node devices is compared with the first certificate received through the relay server, and among the first node devices When it is confirmed that the first certificate received from node devices having a predetermined threshold number or more is the same as the first certificate received through the relay server, the first certificate included in the first certificate received through the relay server 1 extracting an electronic signature value and transmitting the first electronic signature value to the key management server, and transmitting a verification request for the first electronic signature value; And
As the verification of the first electronic signature value is completed based on the CA public key in the key management server, when a verification completion message for the first digital signature value is received from the key management server, the first certificate Completing the verification of the first certificate and transmitting a verification completion message for the first certificate to the content providing server through the relay server
A method of operating a node device for performing blockchain-based certificate management further comprising a.
제7항에 있어서,
상기 제1 인증서를 생성하는 단계는
상기 중계 서버의 인증에 사용하기 위한 기설정된 제1 유클리드 거리(Euclidean Distance)에 대한 정보가 저장되어 있는 유클리드 거리 저장부를 유지하는 단계;
상기 중계 서버로부터 상기 공개키와 함께 상기 인증서 발급 요청이 수신되면, 랜덤 벡터를 랜덤하게 생성하고, 상기 중계 서버로 상기 랜덤 벡터를 전송하면서 상기 랜덤 벡터에 대한 피드백 벡터의 전송을 요청하는 단계;
상기 중계 서버로부터 상기 랜덤 벡터에 대한 피드백 벡터로 제1 피드백 벡터 - 상기 제1 피드백 백터는 상기 랜덤 벡터와의 유클리드 거리가 상기 중계 서버에 기 저장되어 있는 상기 제1 유클리드 거리로 연산되도록 생성된 벡터임 - 가 수신되면, 상기 랜덤 벡터와 상기 제1 피드백 벡터 간의 유클리드 거리를 연산하고, 상기 연산된 유클리드 거리가 상기 제1 유클리드 거리와 동일한지 여부를 확인하는 단계; 및
상기 연산된 유클리드 거리가 상기 제1 유클리드 거리와 동일한 것으로 확인되면, 상기 중계 서버에 대한 인증을 완료한 후 상기 제1 인증서의 생성과 관련된 절차를 수행할 것을 지시하는 이벤트를 발생시키는 단계
를 포함하는 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 동작 방법.
The method of claim 7,
The step of generating the first certificate
Maintaining a Euclidean distance storage unit in which information on a predetermined first Euclidean distance for use in authentication of the relay server is stored;
Upon receiving the certificate issuance request together with the public key from the relay server, randomly generating a random vector, and requesting transmission of a feedback vector for the random vector while transmitting the random vector to the relay server;
A first feedback vector as a feedback vector for the random vector from the relay server-The first feedback vector is a vector generated so that the Euclidean distance from the random vector is calculated as the first Euclidean distance previously stored in the relay server If im-is received, calculating a Euclidean distance between the random vector and the first feedback vector, and checking whether the calculated Euclidean distance is the same as the first Euclidean distance; And
If it is determined that the calculated Euclidean distance is the same as the first Euclidean distance, generating an event instructing to perform a procedure related to the generation of the first certificate after completing authentication for the relay server
A method of operating a node device for performing blockchain-based certificate management comprising a.
제11항에 있어서,
상기 중계 서버는
메모리 상에 상기 제1 유클리드 거리에 대한 정보를 저장하고 있고, 상기 노드 장치로부터 상기 랜덤 벡터와 상기 랜덤 벡터에 대한 피드백 벡터의 전송 요청이 수신되면, 상기 랜덤 벡터와의 유클리드 거리가 상기 중계 서버의 메모리 상에 저장되어 있는 상기 제1 유클리드 거리로 연산되는 피드백 벡터인 상기 제1 피드백 벡터를 랜덤하게 생성한 후 상기 노드 장치로 상기 제1 피드백 벡터를 전송하는 블록체인 기반의 인증서 관리를 수행하는 노드 장치의 동작 방법.
The method of claim 11,
The relay server
When information on the first Euclidean distance is stored in a memory, and a request to transmit the random vector and the feedback vector for the random vector is received from the node device, the Euclidean distance to the random vector is determined by the relay server. A node that performs blockchain-based certificate management that randomly generates the first feedback vector, which is a feedback vector calculated by the first Euclidean distance stored in memory, and then transmits the first feedback vector to the node device How the device works.
제7항, 제9항, 제10항, 제11항 또는 제12항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 7, 9, 10, 11, or 12 through combination with a computer. 제7항, 제9항, 제10항, 제11항 또는 제12항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 7, 9, 10, 11, or 12 through combination with a computer.
KR1020190053077A 2019-05-07 2019-05-07 Node device for performing certificate management based on a block chain and operating method thereof KR102218188B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190053077A KR102218188B1 (en) 2019-05-07 2019-05-07 Node device for performing certificate management based on a block chain and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190053077A KR102218188B1 (en) 2019-05-07 2019-05-07 Node device for performing certificate management based on a block chain and operating method thereof

Publications (2)

Publication Number Publication Date
KR20200128918A KR20200128918A (en) 2020-11-17
KR102218188B1 true KR102218188B1 (en) 2021-02-23

Family

ID=73642282

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190053077A KR102218188B1 (en) 2019-05-07 2019-05-07 Node device for performing certificate management based on a block chain and operating method thereof

Country Status (1)

Country Link
KR (1) KR102218188B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102302955B1 (en) * 2020-04-21 2021-09-16 주식회사 한컴위드 Blockchain and cloud-based asset trading platform server that enables real asset trading through tokenization of assets and operating method thereof
JP2022020143A (en) * 2020-07-20 2022-02-01 富士通株式会社 Communication program, communication device and communication method
KR102303431B1 (en) * 2020-12-03 2021-09-23 주식회사 한컴위드 Blockchain-based electronic contract management system apparatus that supports electronic contracts between parties and operating method thereof
KR20220081256A (en) * 2020-12-07 2022-06-15 주식회사 마이지놈박스 Apparatus for securing authentication and integrity of DeoxyriboNucleic Acid (DNA) data using blockchain technology
KR102293404B1 (en) * 2020-12-07 2021-08-26 주식회사 마이지놈박스 Apparatus for securing authentication and integrity of DeoxyriboNucleic Acid (DNA) data using blockchain technology and method therefor
KR102636695B1 (en) * 2021-04-20 2024-02-14 주식회사 한글과컴퓨터 Real estate brokerage management server that processes electronic contracts for online real estate transactions and operating method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101877335B1 (en) * 2017-01-02 2018-08-09 주식회사 코인플러그 Method for authenticating a user without a face-to-face contact by using mobile id based on blockchain and merkle tree structure related thereto, and terminal and server using the same
KR101937216B1 (en) * 2017-02-01 2019-01-11 주식회사 데일리인텔리전스 Apparatus and method for managing certificates using a block chain as a certificate authority
KR20180041055A (en) * 2017-09-06 2018-04-23 주식회사 코인플러그 Method for providing certificate service based on smart contract and server using the same

Also Published As

Publication number Publication date
KR20200128918A (en) 2020-11-17

Similar Documents

Publication Publication Date Title
KR102218188B1 (en) Node device for performing certificate management based on a block chain and operating method thereof
JP5497677B2 (en) Method and apparatus for generating verifiable public key
JP4879176B2 (en) System and method for implementing a digital signature using a one-time private key
CN109756338A (en) The unclonable function of physics remotely re-registers
US9882890B2 (en) Reissue of cryptographic credentials
JP2005537559A (en) Secure record of transactions
CN101395624A (en) Verification of electronic signatures
CN111131336B (en) Resource access method, device, equipment and storage medium under multi-party authorization scene
KR102137122B1 (en) Security check method, device, terminal and server
KR102228210B1 (en) Node device that enables the deletion of a transaction in a block chain network and operating method thereof
CN108833431B (en) Password resetting method, device, equipment and storage medium
US20090119505A1 (en) Transaction method and verification method
JP2005520364A (en) System and method for updating and extending a digitally signed certificate
KR101253683B1 (en) Digital Signing System and Method Using Chained Hash
CN110999254A (en) Securely performing cryptographic operations
KR102149706B1 (en) Digital signature based user authentication processing apparatus using block chain and operating method thereof
CN109257381A (en) A kind of key management method, system and electronic equipment
JP6581611B2 (en) Authentication key sharing system and authentication key sharing method
CN116506134A (en) Digital certificate management method, device, equipment, system and readable storage medium
CN111353780A (en) Authorization verification method, device and storage medium
KR102122773B1 (en) System and method for providng redactable signature with recovery functionality
EP2974129B1 (en) Non-repudiation of electronic transactions
CN112822175B (en) Information access method and device and electronic equipment
US20240146537A1 (en) Computer-readable recording medium storing data management program, data management method, and data management apparatus
KR101737925B1 (en) Method and system for authenticating user based on challenge-response

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant