KR102506431B1 - Certificate issuance method using blockchain and system for the same - Google Patents

Certificate issuance method using blockchain and system for the same Download PDF

Info

Publication number
KR102506431B1
KR102506431B1 KR1020220134994A KR20220134994A KR102506431B1 KR 102506431 B1 KR102506431 B1 KR 102506431B1 KR 1020220134994 A KR1020220134994 A KR 1020220134994A KR 20220134994 A KR20220134994 A KR 20220134994A KR 102506431 B1 KR102506431 B1 KR 102506431B1
Authority
KR
South Korea
Prior art keywords
certificate
certification authority
authority server
smart contract
certificates
Prior art date
Application number
KR1020220134994A
Other languages
Korean (ko)
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 주식회사 블로코
Application granted granted Critical
Publication of KR102506431B1 publication Critical patent/KR102506431B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention relates to a certificate management method and a system therefor and, more specifically, to a method for storing a CA certificate received from a certification institution server on a blockchain network and including a smart contract identifier of a person who requested certificate issuance and a smart contract identifier of a person who issued the certificate in the CA certificate to enable a process of verifying validation of the certificate to be performed based on a blockchain network and a system thereof.

Description

블록체인을 활용한 인증서 관리 방법 및 이를 위한 시스템 {CERTIFICATE ISSUANCE METHOD USING BLOCKCHAIN AND SYSTEM FOR THE SAME}Certificate management method using blockchain and system for it {CERTIFICATE ISSUANCE METHOD USING BLOCKCHAIN AND SYSTEM FOR THE SAME}

본 발명은 블록체인을 활용한 인증서 관리 방법 및 이를 위한 시스템에 관한 것으로, 구체적으로는 블록체인 네트워크 상에 인증기관 서버로부터 수신한 CA인증서를 저장하고, CA인증서 내에는 인증서 발급을 요청한 자의 스마트 컨트랙트 식별자 및 인증서를 발급한 자의 스마트 컨트랙트 식별자가 포함되도록 함으로써 인증서의 유효성을 검증하는 과정이 블록체인 네트워크를 기반으로 이루어질 수 있게 하기 위한 인증서 관리 방법 및 시스템에 관한 것이다.The present invention relates to a method for managing certificates using a blockchain and a system therefor. It relates to a certificate management method and system for enabling the process of verifying the validity of a certificate to be performed based on a blockchain network by including the identifier and smart contract identifier of the person who issued the certificate.

인증서란 네트워크를 통한 각종 서비스 이용시 인증을 위해 필요한 전자서명을 일컫는 것으로, 이러한 인증서는 신뢰할 수 있는 인증기관(Certificate Authority)이 전자서명하여 생성하며, 인증기관이 공개키를 공증해 주기 위한 용도로 활용된다. A certificate refers to a digital signature required for authentication when using various services through a network. This certificate is generated by a trusted Certificate Authority with a digital signature, and the Certificate Authority uses it to notarize the public key. do.

한편, 인증서는 유효기간이 있으며, 또한 신뢰성이 담보되어야 하는 매개체이므로 사용자가 인증서를 이용할 시에는 그 유효성이 지속적으로, 검증될 필요가 있다. On the other hand, since a certificate has an expiration date and is a medium for which reliability must be guaranteed, when a user uses a certificate, its validity needs to be continuously verified.

현재 인증서의 유효성을 확인하기 위한 수단으로는 CRL(Certificate Revocation List)과 OSCP(Online Status Certificate Protocol)가 존재한다. 그러나 CRL은 리스트를 매번 다운로드 받아야 하므로 시간이 많이 소요되는 문제가 있으며, OSCP의 경우에도 다수의 웹사이트들로부터 대량의 조회 요청이 수신되면 유효성 확인이 어려워지는 문제, 그리고 유효성 검증 때마다 소정의 비용이 발생하는 문제가 있다. CRL (Certificate Revocation List) and OSCP (Online Status Certificate Protocol) exist as means for checking the validity of a current certificate. However, CRL has the problem of requiring a lot of time because the list must be downloaded every time, and even in the case of OSCP, validation becomes difficult when a large number of search requests are received from multiple websites, and a certain cost is incurred for each validation. There is a problem with this occurring.

본 발명은 이와 같이 인증서의 유효성 검증을 효율적으로, 그리고 실시간으로 빠르게 수행할 수 있는 환경을 구축하는 관점에서 종래의 수단 대비 개선된 방향을 제시하고자 한 것이다. 또한, 본 발명은 이상에서 살핀 기술적 문제점을 해소시킬 수 있음은 물론, 본 기술분야에서 통상의 지식을 가진 자가 용이하게 발명할 수 없는 추가적인 기술요소들을 제공하기 위해 발명되었다.The present invention is intended to suggest an improved direction compared to conventional means in terms of constructing an environment capable of efficiently and quickly performing certificate validation in real time. In addition, the present invention was invented to solve the technical problems salpin above, as well as to provide additional technical elements that cannot be easily invented by those skilled in the art.

한국등록특허 10-2332226호(2021.11.29. 공고)Korean Patent Registration No. 10-2332226 (2021.11.29. Notice)

본 발명은 인증서의 유효성 검증이 종래의 수단 대비 더 효과적으로 이루어질 수 있는 환경을 제공하는 것을 목적으로 한다.An object of the present invention is to provide an environment in which validity verification of a certificate can be performed more effectively than conventional means.

또한 본 발명은 인증서 표준의 틀을 벗어나지 않는 범위에서 반드시 필요한 필수정보들만을 인증서 내에 삽입시킴으로써 기존 인증서 사용환경을 그대로 유지한 채 개선된 유효성 검증 환경이 갖추어질 수 있게 하는 것을 목적으로 한다.In addition, an object of the present invention is to provide an improved validation environment while maintaining an existing certificate use environment as it is by inserting only necessary information into a certificate within the scope of the certificate standard.

또한 본 발명은 블록체인 네트워크라는 신뢰성 높은 인프라를 활용함으로써 인증서의 무결성 및 안정성을 담보하는 것을 목적으로 한다.Another object of the present invention is to ensure the integrity and stability of certificates by utilizing a highly reliable infrastructure called a blockchain network.

한편, 본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.On the other hand, the technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.

위와 같은 문제점을 해결하기 위하여, 본 발명에 따른 블록체인을 활용하여 인증서를 관리하는 방법은, (a) 제1 인증기관 서버가 인증서 관리용 제1 스마트 컨트랙트를 블록체인 네트워크 상에 배포하는 단계; (b) 제1 인증기관 서버가, 상기 인증서 관리용 제1 스마트 컨트랙트에 적어도 하나의 인증서를 저장하는 단계; 를 포함하되, 상기 인증서는, 인증서의 발급을 요청한 발급요청 인증기관의 인증서 관리용 스마트 컨트랙트 식별자, 및 상기 인증서를 발급한 발급 인증기관의 인증서 관리용 스마트 컨트랙트 식별자를 포함하는 것을 특징으로 할 수 있다.In order to solve the above problems, a method for managing certificates using a blockchain according to the present invention includes: (a) distributing, by a first certification authority server, a first smart contract for certificate management on a blockchain network; (b) storing, by a first certification authority server, at least one certificate in the first smart contract for certificate management; Including, but the certificate may be characterized in that it includes a smart contract identifier for certificate management of the issuing certification authority requesting the issuance of the certificate, and a smart contract identifier for certificate management of the issuing certification authority that issued the certificate. .

또한, 상기 블록체인을 활용하여 인증서를 관리하는 방법에 있어서 상기 (b)단계는, 상기 제1 인증기관 서버가, 상기 인증서 관리용 제1 스마트 컨트랙트에 복수 개의 인증서들을 저장하는 단계이고, 상기 인증서들은, 상기 제1 인증기관의 상위에 존재하는 복수 개의 인증기관 서버들이 발급한 인증서들 중 적어도 일부를 포함하는 것을 특징으로 할 수 있다.In addition, in the method for managing certificates using the blockchain, step (b) is a step in which the first certification authority server stores a plurality of certificates in the first smart contract for certificate management, and the certificate may include at least some of certificates issued by a plurality of certification authority servers existing above the first certification authority.

또한, 이 때 상기 제1 스마트 컨트랙트에 저장되는 복수 개의 인증서들에는 루트 인증기관 서버에 의해 발급된 루트 인증서가 포함되는 것을 특징으로 할 수 있다.In addition, at this time, the plurality of certificates stored in the first smart contract may include a root certificate issued by a root certification authority server.

본 발명에 따르면 실시간으로, 그리고 효율적으로 인증서를 검증할 수 있는 환경이 마련되는 효과가 있다.According to the present invention, there is an effect of providing an environment capable of verifying certificates in real time and efficiently.

또한 본 발명에 따르면 기존의 인증서 포맷을 실질적으로 그대로 활용하게 되므로 부가적인 변경 없이 인증서를 저장 및 검증할 수 있게 되는 효과가 있다.In addition, according to the present invention, since the existing certificate format is used substantially as it is, there is an effect that the certificate can be stored and verified without additional change.

한편, 본 발명에 의한 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.On the other hand, the effects of the present invention are not limited to those mentioned above, and other technical effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 본 발명에 따른 시스템을 간략히 도시한 것이다.
도 2는 본 발명에 따른 인증서 관리 방법의 제1 실시예를 도시한 것이다.
도 3은 본 발명에서 사용되는 인증서의 세부구조를 도시한 것이다.
도 4는 제2 실시예에 따른 인증서 관리 방법을 도시한 것이다.
도 5는 제3 실시예에 따른 인증서 관리 방법을 도시한 것이다.
도 6은 폐기리스트를 관리하는 방법을 설명하기 위한 도면이다.
1 is a simplified illustration of a system according to the present invention.
2 shows a first embodiment of a certificate management method according to the present invention.
3 shows a detailed structure of a certificate used in the present invention.
4 illustrates a certificate management method according to a second embodiment.
5 illustrates a certificate management method according to a third embodiment.
6 is a diagram for explaining a method of managing a revocation list.

본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하의 상세한 설명에 의해 보다 명확하게 이해될 것이다. 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다.Objects and technical configurations of the present invention and details of the operational effects thereof will be more clearly understood by the following detailed description based on the accompanying drawings in the specification of the present invention. An embodiment according to the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 개시되는 실시예들은 본 발명의 범위를 한정하는 것으로 해석되거나 이용되지 않아야 할 것이다. 이 분야의 통상의 기술자에게 본 명세서의 실시예를 포함한 설명은 다양한 응용을 갖는다는 것이 당연하다. 따라서, 본 발명의 상세한 설명에 기재된 임의의 실시예들은 본 발명을 보다 잘 설명하기 위한 예시적인 것이며 본 발명의 범위가 실시예들로 한정되는 것을 의도하지 않는다.The embodiments disclosed herein should not be construed or used as limiting the scope of the present invention. It goes without saying that the description, including the embodiments herein, has a variety of applications for those skilled in the art. Therefore, any embodiments described in the detailed description of the present invention are illustrative for better explaining the present invention, and the scope of the present invention is not intended to be limited to the examples.

도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한, 본 발명의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 발명의 기능 블록들 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합일 수 있다.The functional blocks shown in the drawings and described below are only examples of possible implementations. Other functional blocks may be used in other implementations without departing from the spirit and scope of the detailed description. Also, while one or more functional blocks of the present invention are represented as separate blocks, one or more of the functional blocks of the present invention may be a combination of various hardware and software configurations that perform the same function.

또한, 어떤 구성요소들을 포함한다는 표현은 “개방형”의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다.In addition, the expression that certain components are included simply refers to the existence of the corresponding components as an expression of “open type”, and should not be understood as excluding additional components.

나아가 어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급될 때에는, 그 다른 구성요소에 직접적으로 연결 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 한다. Furthermore, it should be understood that when a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but other components may exist in the middle. do.

도 1은 본 발명에 따른 인증서 관리 방법이 구현될 수 있는 시스템을 도시한 것이다. 이를 참고할 때, 인증서 관리 시스템에는 복수개의 인증기관 서버들이 포함될 수 있으며, 그리고 이들 인증기관 서버들은 블록체인 네트워크에 접근이 가능하도록 연결될 수 있다. 인증기관 서버들은 더 여러 개가 존재할 수도 있겠으나, 여기서는 발명의 이해를 쉽게 하기 위하여 2개의 인증기관 서버들이 존재하는 상황을 전제로 설명을 하기로 한다.Figure 1 shows a system in which a certificate management method according to the present invention can be implemented. Referring to this, a certificate management system may include a plurality of certification authority servers, and these certification authority servers may be connected to enable access to a blockchain network. There may be several more certification authority servers, but here, description will be made on the premise that there are two certification authority servers in order to facilitate understanding of the invention.

도면에는 제1 인증기관 서버(100), 및 제2 인증기관 서버(200)가 존재하며, 이들 서버들이 블록체인 네트워크(BLN)에 연결된 시스템적 환경이 도시되어 있다. 인증기관 서버란, 인증기관에서 운영하는 서버로 이해될 수 있으며, 인증기관이란, 보안 적격 여부 및 메시지 암호화를 위한 공개키의 발급, 그리고 발급한 공개키를 관리하는 네트워크 상에서의 한 기관으로 정의될 수 있다. 즉, 인증기관은 사용자의 요청에 따라 인증서를 발급하고, 발급한 인증서에 대해서는 보증을 서 주는 것과 유사한 역할을 하는 기관으로 볼 수 있다. In the figure, a first certification authority server 100 and a second certification authority server 200 exist, and a systemic environment in which these servers are connected to a blockchain network (BLN) is shown. A certification authority server can be understood as a server operated by a certification authority, and a certification authority is defined as an authority on a network that manages security qualifications, issues public keys for message encryption, and manages issued public keys. can In other words, a certification authority can be seen as an authority that plays a role similar to that of issuing a certificate according to a user's request and guaranteeing the issued certificate.

한편, 인증기관 서버에서는 여러 기능들을 수행할 수 있는데, 예를 들어 공개키 쌍을 생성하는 기능, 공개키 파라미터에 대한 테스트를 하는 기능, 하위 인증기관에 인증서를 발급하는 기능, 식별자(Distinguished Name)를 확인하는 기능, 인증서 신청인에 대한 신원 확인 및 인증하는 기능, 전자서명을 생성 및 검사하는 기능, CRL을 생성, 관리, 분배하는 기능, 발행된 인증서에 대한 기록을 유지하는 기능, 시스템 감사 기록을 생성하고 관리하는 기능, 타임스탬프를 생성하거나 획득하는 기능, 인증서를 취소하는 기능 등을 수행할 수 있다. On the other hand, the certification authority server can perform various functions, such as generating a public key pair, testing public key parameters, issuing a certificate to a subordinate certification authority, and identifying a distinguished name. A function to verify the identity of a certificate applicant, a function to verify and authenticate a certificate applicant, a function to generate and inspect digital signatures, a function to create, manage, and distribute CRLs, a function to keep records of issued certificates, and a function to keep records of system audits. It can perform functions to create and manage, create or obtain timestamps, revoke certificates, and so on.

또한, 상기 인증기관 서버는 일종의 서버 컴퓨터로, 중앙처리유닛 및 메모리를 갖춘 연산장치라면 상기 인증기관 서버를 구현하는 데에 활용될 수 있다. 중앙처리유닛은 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 불릴 수 있다. 또한 중앙처리유닛은 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있는데, 하드웨어를 이용하여 구현하는 경우에는 ASIC(application specific integrated circuit) 또는 DSP(digital signal processor), DSPD(digital signal processing device), PLD(programmable logic device), FPGA(field programmable gate array) 등으로, 펌웨어나 소프트웨어를 이용하여 구현하는 경우에는 위와 같은 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등을 포함하도록 펌웨어나 소프트웨어가 구성될 수 있다. 또한, 메모리는 ROM(Read Only Memory), RAM(Random Access Memory), EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래쉬(flash) 메모리, SRAM(Static RAM), HDD(Hard Disk Drive), SSD(Solid State Drive) 등으로 구현될 수 있다. In addition, the certification authority server is a kind of server computer, and any computing device equipped with a central processing unit and a memory can be used to implement the certification authority server. The central processing unit may also be called a controller, a microcontroller, a microprocessor, a microcomputer, and the like. In addition, the central processing unit may be implemented by hardware, firmware, software, or a combination thereof. When implemented using hardware, an ASIC (application specific integrated circuit) or DSP (digital signal processor) , DSPD (digital signal processing device), PLD (programmable logic device), FPGA (field programmable gate array), etc., when implemented using firmware or software, modules, procedures, or functions that perform the above functions or operations Firmware or software may be configured to include. In addition, the memory includes read only memory (ROM), random access memory (RAM), erasable programmable read only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, static RAM (SRAM), It may be implemented as a hard disk drive (HDD), solid state drive (SSD), or the like.

또한, 상기 인증기관 서버는 어느 하나의 서버 컴퓨터로만 구현이 가능한 것은 아닐 수 있으며, 복수 개의 서버 컴퓨터에 의해 구성된 하나의 시스템으로도 구현이 가능할 수 있다. 다만, 이 경우 더 적합한 용어는 인증기관 시스템이 될 것이나, 본 상세한 설명에서는 용어의 통일성을 위해 인증기관 서버라는 용어를 지속적으로 사용하기로 한다. In addition, the certification authority server may not be implemented with only one server computer, and may be implemented with one system composed of a plurality of server computers. However, in this case, a more suitable term would be a certification authority system, but in this detailed description, the term certification authority server will be continuously used for the uniformity of terminology.

또 다른 한편, 상기 인증기관 서버는 반드시 서버 컴퓨터의 형태가 아닐지라도 클라우드 서버의 형태, 즉 다른 운영 주체에 의해 관리 및 운영되는 클라우드 서버의 형태로 구현이 될 수도 있다.On the other hand, the certification authority server may not necessarily be in the form of a server computer, but may be implemented in the form of a cloud server, that is, a cloud server managed and operated by another operator.

다음으로 블록체인이란 일정기간 동안의 거래정보를 기록하고 있는 블록(block)들을 체인 형태로 연결하여 수많은 컴퓨터에 동시에 복제해 저장한 분산형 데이터 저장 기술을 일컫는다. 블록체인 네트워크는 이처럼 데이터를 체인과 같이 연결하여 중앙 집중형 서버에 거래기록을 보관하지 않고 누구나 열람할 수 있게 공개함으로써 데이터 위조나 변조가 애초부터 이루어질 수 없게, 즉 거래기록을 서로 감시할 수 있게 한 P2P 구조의 데이터 저장 수단이다. 블록체인에 기록된 데이터는 해킹을 통한 위변조가 매우 어렵기 때문에 누구나 신뢰할 수 있다는 특징이 있으며, 또한 블록체인에 기록된 데이터는 여러 컴퓨터에 분산 저장되기 때문에 특정 노드에 대한 디도스 공격이나 랜섬웨어 공격 등으로부터도 안전하다. 나아가 블록체인은 평등한 참여자들에 의해 자율적으로 유지되고 운영될 수 있으므로 기존에 모든 정보가 중앙 서버로 집중되던 서버 클라이언트 구조에 비해 유연한 특성을 가진다. Next, block chain refers to a distributed data storage technology that connects blocks that record transaction information for a certain period of time in a chain form and copies and stores them simultaneously on numerous computers. The blockchain network connects data like a chain in this way so that anyone can view and view the transaction records without storing them in a centralized server, so that forgery or alteration of data cannot be done in the first place, that is, transaction records can be monitored by each other. It is a data storage means of a P2P structure. Since data recorded in the blockchain is very difficult to forge and alter through hacking, it is characterized by being trusted by anyone. Also, since the data recorded in the blockchain is distributed and stored on multiple computers, DDoS attacks or ransomware attacks on specific nodes It is also safe from the back. Furthermore, since blockchain can be maintained and operated autonomously by equal participants, it has a more flexible characteristic compared to the existing server-client structure in which all information was concentrated on a central server.

블록체인 기술은 암호화폐, 스마트 컨트랙트, 물류관리, 문서관리, 신원확인 등등 다양한 분야에서 활용될 수 있는데, 본 발명에 따른 인증서 관리 방법과 관련하여서는 특히 블록체인 기술이 스마트 컨트랙트에 활용될 수 있음에 주목할 필요가 있다. 스마트 컨트랙트는 일정 조건이 만족되면 자동으로 계약 내용이 실행되도록 하는 기능이자, 중간에 제3의 보증기관을 두지 않은 채 P2P 상에서 원하는 계약을 체결할 수 있도록 해 주는 디지털 전자계약 기능이다. 일 예로, 임의의 트랜잭션이 발생됐을 때, 해당 트랜잭션에 대한 블록이 생성 및 브로드캐스팅 되며, 블록을 전달 받은 각 노드들은 해당 블록을 자신의 블록체인 맨 끝에 추가하고, 해당 블록에 저장되어 있는 트랜잭션을 적용시켜 자신의 스마트 컨트랙트 데이터베이스를 동기화 한다. 후술하겠지만, 본 발명에서는 임의의 하위 인증기관 서버가 상위 인증기관 서버로부터 CA인증서를 수신하였을 때, 해당 CA인증서를 블록체인 네트워크 상에 배포되어 있는 스마트 컨트랙트에 저장(기록)하는 것을 하나의 중요한 특징으로 하며, 이렇게 블록체인 네트워크의 노드들이 스마트 컨트랙트 데이터베이스를 공유하게 됨으로써 인증서의 무결성, 안전성, 안정성이 담보된다. Blockchain technology can be used in various fields such as cryptocurrency, smart contracts, logistics management, document management, identification, etc. In relation to the certificate management method according to the present invention, blockchain technology can be used in smart contracts. Need to pay attention. A smart contract is a function that automatically executes contract details when certain conditions are satisfied, and a digital electronic contract function that allows a desired contract to be concluded on P2P without having a third guarantor in the middle. For example, when a random transaction occurs, a block for that transaction is created and broadcasted, and each node receiving the block adds the block to the end of its own blockchain and the transaction stored in the block Apply to synchronize your own smart contract database. As will be described later, in the present invention, when an arbitrary lower certification authority server receives a CA certificate from an upper certification authority server, one important feature is that the CA certificate is stored (recorded) in a smart contract distributed on a blockchain network. In this way, the integrity, safety, and stability of the certificate are ensured by the nodes of the blockchain network sharing the smart contract database.

참고로 본 상세한 설명에서는 임의의 데이터(예. 인증서)가 스마트 컨트랙트에 저장된다는 표현이 사용되는데, 이는 스마트 컨트랙트가 블록체인 네트워크에 배포될 시 당연하게 할당되는 스토리지(state DB, ledger 등의 용어로도 지칭됨)에 저장됨을 의미한다. 예를 들어, ‘CA인증서가 스마트 컨트랙트에 저장된다’는 것의 의미는 ‘CA인증서라는 데이터가 스마트 컨트랙트가 블록체인 네트워크에 배포될 시 할당받은 상기 스마트 컨트랙트의 스토리지에 저장된다’는 것을 의미하는 것으로 이해된다. For reference, in this detailed description, the expression that arbitrary data (e.g. certificate) is stored in a smart contract is used, which is the storage (state DB, ledger, etc. Also referred to) means stored in. For example, 'the CA certificate is stored in the smart contract' means that 'the CA certificate data is stored in the storage of the smart contract allocated when the smart contract is deployed on the blockchain network'. I understand.

도 2는 본 발명의 제1 실시예에 따른 인증서 관리 방법을 도시한 것이다. 제1 실시예는 하위 인증기관 서버가 상위 인증기관 서버로부터 CA인증서를 발급 받는 과정에 관한 것이다. 참고로, 도면 상에서는 제1 인증기관 서버(100)가 상대적으로 하위에 있는 인증기관의 서버이며, 제2 인증기관 서버(200)는 상대적으로 상위에 있는 인증기관의 서버이다. 2 illustrates a certificate management method according to the first embodiment of the present invention. The first embodiment relates to a process in which a lower certification authority server receives a CA certificate from an upper certification authority server. For reference, in the drawing, the first certification authority server 100 is a server of a relatively lower certification authority, and the second certification authority server 200 is a server of a relatively higher certification authority.

도면을 참고할 때, 제1 실시예에 따른 인증서 관리 방법은 가장 먼저 제1 인증기관 서버(100)가 블록체인 네트워크(50)에 인증서 관리용 인증서 관리용 제1 스마트 컨트랙트를 배포하는 단계(S101)로부터 시작될 수 있다. 본 단계는 개념적으로는 제1 인증기관 서버(100)가 다수의 노드들이 공유할 수 있는 매개체, 그것도 인증서를 저장해 둘 수 있는 매개체를 사전에 마련해 두는 단계로도 이해될 수 있다. Referring to the drawings, in the certificate management method according to the first embodiment, first, the first certification authority server 100 distributes a first smart contract for certificate management to the blockchain network 50 (S101) can start from Conceptually, this step can also be understood as a step in which the first certification authority server 100 prepares in advance a medium that can be shared by a plurality of nodes, and also a medium that can store certificates.

S101 단계 이후, 제1 인증기관 서버(100)는 제2 인증기관 서버(200) 측에 CA인증서를 발급해 줄 것을 요청(S102)할 수 있다. 이 단계에서 제1 인증기관 서버(100)는 제2 인증기관 서버(20) 측에 상기 인증서 관리용 제1 스마트 컨트랙트를 식별할 수 있는 식별자, 즉 인증서 관리용 제1 스마트 컨트랙트 식별자(identifier)를 함께 전달할 수 있다. 특정 스마트 컨트랙트를 식별하기 위한 식별자에는 다양한 형태의 것들이 존재할 수 있으며, 바람직하게는 인증기관 서버가 블록체인 네트워크 상에 배포해 둔 스마트 컨트랙트의 주소일 수 있다, 한편, 상기 식별자에는 스마트 컨트랙트의 주소에 부가정보들이 덧붙여진 형태로도 구성할 수 있으며, 또는 그 밖에 랜덤한 문자 및/또는 숫자로 조합된 텍스트가 스마트 컨트랙트를 식별하기 위한 식별자로 활용될 수도 있다. 굳이 예시를 들어본다면 상기 인증서 관리용 제1 스마트 컨트랙트 식별자는 “0x466BDA20T86GgA9037k…d00792”일 수 있다. After step S101, the first certification authority server 100 may request the second certification authority server 200 to issue a CA certificate (S102). In this step, the first certification authority server 100 sends an identifier that can identify the first smart contract for certificate management, that is, the first smart contract identifier for certificate management, to the second certification authority server 20. can be delivered together. Various types of identifiers for identifying a specific smart contract may exist, and preferably may be the address of a smart contract distributed by a certification authority server on a blockchain network. On the other hand, the identifier includes the address of the smart contract It can also be configured in the form of additional information appended, or text combined with random letters and/or numbers can be used as an identifier to identify a smart contract. If you dare to take an example, the first smart contract identifier for certificate management is “0x466BDA20T86GgA9037k… d00792”.

S102 단계 이후에는 제2 인증기관 서버(200)가 상기 발급요청에 대한 응답으로 CA인증서를 생성하며, 제1 인증기관 서버(100)는 제2 인증기관 서버(200)로부터 위 CA인증서를 발급 받는다(S103). 이 때, 상기 CA인증서 내에는 앞서 S102 단계에서 제2 인증기관 서버(200) 측으로 전달되었던 인증서 관리용 제1 스마트 컨트랙트 식별자가 포함되어 있을 수 있다. After step S102, the second certification authority server 200 generates a CA certificate in response to the issuance request, and the first certification authority server 100 receives the CA certificate issued from the second certification authority server 200. (S103). At this time, the CA certificate may include the first smart contract identifier for certificate management, which was previously transferred to the second certification authority server 200 in step S102.

S103 단계 이후, 제1 인증기관 서버(100)는 상기 인증서 관리용 제1 스마트 컨트랙트에 상기 CA인증서를 저장(S104)할 수 있다. 즉, 제1 인증기관 서버(100)는 자신에게 발급된 CA인증서를 블록체인 네트워크(50) 상에 기록을 해 둠으로써 CA인증서가 언제든지, 누구든지 조회 가능한 상태가 되도록 할 수 있다. After step S103, the first certification authority server 100 may store the CA certificate in the first smart contract for certificate management (S104). That is, the first certification authority server 100 records the CA certificate issued to it on the blockchain network 50 so that the CA certificate can be inquired by anyone at any time.

이렇게 S101 단계 내지 S104 단계를 거쳐 하위 인증기관 서버는 상위 인증기관 서버로부터 발급 받은 CA인증서를 블록체인 네트워크 상에 기록할 수 있다. In this way, through steps S101 to S104, the lower certification authority server can record the CA certificate issued by the upper certification authority server on the blockchain network.

한편, 상기 S103 단계에서 발급된 CA인증서 내에는 제2 인증기관 서버(200)가 사전에 블록체인 네트워크 상에 배포해 둔 인증서 관리용 제2 스마트 컨트랙트를 식별하기 위한 식별자, 즉 인증서 관리용 제2 스마트 컨트랙트 식별자가 더 포함될 수 있다. 제2 인증기관 서버(200)는 제1 인증기관 서버(100)와 마찬가지로 사전에 블록체인 네트워크 상에 인증서 관리용 제2 스마트 컨트랙트를 생성 및 배포 해 둘 수 있으며, 하위 인증기관인 제1 인증기관 서버(100) 측에 CA인증서를 발급할 때에 자신의 스마트 컨트랙트 식별자(인증서 관리용 제2 스마트 컨트랙트 식별자)를 CA인증서 내에 남김으로써 추적이 가능하게 할 수 있다. On the other hand, in the CA certificate issued in step S103, an identifier for identifying the second smart contract for certificate management that the second certification authority server 200 has previously distributed on the blockchain network, that is, the second for certificate management A smart contract identifier may be further included. Like the first certification authority server 100, the second certification authority server 200 may create and distribute a second smart contract for certificate management on the blockchain network in advance, and the first certification authority server, which is a lower certification authority, When issuing a CA certificate to the (100) side, it is possible to track it by leaving its own smart contract identifier (second smart contract identifier for certificate management) in the CA certificate.

참고로 도 3에는 본 발명에서 사용되는 인증서의 구조가 도시되어 있다. 즉, 인증기관 서버들에 의해 발급되는 인증서들, 블록체인 네트워크 상에 배포되어 있는 스마트 컨트랙트에 저장되는 인증서들은 도 3과 같은 구조를 가질 수 있다. 도면을 참고할 때, 인증서는 버전(Version), 인증서 고유일련번호(AlgorithmIdentifier), 인증서 유효기간(Period of Validity), 주체의 정보(Subject), 주체의 공개키 정보(Public Key Information), 발급자 이름(Issuer Unique ID), 주체 이름(Subject Unique ID), 발급요청한 인증기관의 스마트 컨트랙트 식별자(CA Smart Contract Identifier), 발급한 인증기관의 스마트 컨트랙트 식별자(Issuer CA Smart Contract Identifier), 또는 발급자 서명(Signature) 등과 같은 정보들을 포함할 수 있다. For reference, FIG. 3 shows the structure of a certificate used in the present invention. That is, certificates issued by certification authority servers and certificates stored in smart contracts distributed on a blockchain network may have a structure as shown in FIG. 3 . Referring to the drawing, the certificate includes version, certificate unique serial number (AlgorithmIdentifier), certificate validity period (Period of Validity), subject information (Subject), subject's public key information (Public Key Information), issuer name ( Issuer Unique ID), subject name (Subject Unique ID), smart contract identifier of the certificate authority requesting issuance (CA Smart Contract Identifier), smart contract identifier of the issuing certificate authority (Issuer CA Smart Contract Identifier), or issuer signature (Signature) It may contain information such as

또한, 상기 인증서는 필요에 따라 주체의 다른 이름(SubjectAltName), 정책정보(PolicyMappings), 명칭제약(NameConstraints), 정책제약 (PolicyContraints), 발급자의 다른 이름(IssuerAltName), 발급자 키식별자(AuthorityKeyIdentifier), 주체의 키식별자(SubjectKeyIdentifier), 기본제약(BasicConstraints), 또는 CRL획득위치(CRLDistributionPoints) 등과 같은 정보들이 부가적으로 더 포함될 수 있다. In addition, if necessary, the certificate may include subject's other name (SubjectAltName), policy information (PolicyMappings), name constraints (NameConstraints), policy constraints (PolicyContraints), issuer's other name (IssuerAltName), issuer key identifier (AuthorityKeyIdentifier), subject Information such as a key identifier (SubjectKeyIdentifier), basic constraints (BasicConstraints), or CRL acquisition locations (CRLDistributionPoints) may be additionally included.

본 발명에 따른 인증서 구조에서 주목할 점은 발급요청한 인증기관의 스마트 컨트랙트 식별자(CA Smart Contract Identifier)와 발급한 인증기관의 스마트 컨트랙트 식별자(Issuer CA Smart Contract Identifier)가 인증서 내에 필수적으로 포함되어 있는 점이며, 이러한 정보들은 인증서 표준 포맷에서 제공하는 확장(Extensions)영역에 기록될 수 있다는 점이다. What is noteworthy in the certificate structure according to the present invention is that the CA Smart Contract Identifier of the certification authority requesting issuance and the issuer CA Smart Contract Identifier of the issuing certification authority are essentially included in the certificate, , such information can be recorded in the Extensions area provided by the certificate standard format.

또 다른 한편, S104 단계는 제1 인증기관 서버(100)가 제2 인증기관 서버(200)로부터 발급 받은 CA인증서만 인증서 관리용 제1 스마트 컨트랙트에 저장하는 것을 기본으로 하나, S104 단계에서 제1 인증기관 서버(100)는 자신이 발급 받은 CA인증서뿐만 아니라 제2 인증기관 서버(200)보다 더 상위에 존재하는 인증기관 서버들이 발급한 CA인증서들도 함께 저장할 수 있다. 예를 들어, 제2 인증기관 서버(200)보다 더 상위의 인증기관 서버들인 제3 인증기관 서버, 제4 인증기관 서버가 존재한다고 가정할 때, 제1 인증기관 서버(100)는 인증서 관리용 제1 스마트 컨트랙트 내에 제2 인증기관 서버(200)로부터 발급 받은 CA인증서뿐만 아니라 루트 인증기관까지의 경로에 있는 모든 인증기관 의 인증서들도 저장할 수 있다. On the other hand, in step S104, the first certification authority server 100 stores only the CA certificate issued by the second certification authority server 200 in the first smart contract for certificate management. The certification authority server 100 may store CA certificates issued by certification authority servers higher than the second certification authority server 200 as well as CA certificates issued by the certification authority server 100 . For example, when it is assumed that a third certification authority server and a fourth certification authority server, which are higher certification authority servers than the second certification authority server 200, exist, the first certification authority server 100 is used for certificate management. In the first smart contract, not only the CA certificate issued by the second certification authority server 200 but also the certificates of all certification authorities on the path to the root certification authority can be stored.

제1 인증기관 서버(100)가 상위 인증기관 서버들이 발급한 CA인증서들을 획득하는 방법은 다양할 수 있는데, 예를 들어 제1 인증기관 서버(100)는 제2 인증기관 서버(200)로부터 발급 받은 CA인증서 내의 발급 인증기관의 스마트 컨트랙트 식별자(Issuer CA Smart Contract Identifier)를 참고하여 제2 인증기관 서버(200)가 제3 인증기관 서버로부터 발급 받은 CA인증서를 획득할 수 있으며, 또한 제3 인증기관 서버로부터 발급 받은 CA인증서 내 발급 인증기관의 스마트 컨트랙트 식별자(Issuer CA Smart Contract Identifier)를 참고하여 제4 인증기관 서버로부터 발급 받은 CA인증서를 획득하는 등 반복적으로 상위 CA인증서들 내 스마트 컨트랙트 식별자를 추적해 감으로써 복수 개의 CA인증서들을 획득할 수 있다. There may be various methods for the first certification authority server 100 to acquire CA certificates issued by upper certification authority servers. For example, the first certification authority server 100 is issued from the second certification authority server 200. The second certification authority server 200 may acquire the CA certificate issued by the third certification authority server by referring to the issuing certification authority's smart contract identifier (Issuer CA Smart Contract Identifier) in the received CA certificate, and also third authentication By referring to the Issuer CA Smart Contract Identifier of the issuing certification authority in the CA certificate issued by the institution server, the CA certificate issued by the 4th certification authority server is acquired, etc. By tracking, multiple CA certificates can be obtained.

제1 인증기관 서버(100)가 상위 인증기관 서버들이 발급한 CA인증서들을 획득하는 또 다른 방법으로, 제1 인증기관 서버(100)는 애초에 제2 인증기관 서버(200)로부터 CA인증서를 수신할 때에 제2 인증기관 서버(200)가 발급한 것뿐만 아니라 제3, 제4 인증기관 서버들이 발급한 CA인증서들을 모두 받을 수도 있다. 즉, 하위 인증기관 서버의 입장에서는 바로 위 상위 인증기관 서버로부터 복수 개의 CA인증서들을 수신할 수 있으며, 이렇게 수신된 복수 개의 CA인증서들을 블록체인 네트워크 상에 저장할 수 있다. As another method for the first certification authority server 100 to obtain CA certificates issued by upper certification authority servers, the first certification authority server 100 may initially receive CA certificates from the second certification authority server 200. At this time, not only CA certificates issued by the second certification authority server 200 but also CA certificates issued by the third and fourth certification authority servers may be received. That is, from the point of view of the lower certification authority server, a plurality of CA certificates can be received from the upper certification authority server immediately above, and the plurality of CA certificates received in this way can be stored on the blockchain network.

이 밖에도 제1 인증기관 서버(100)는 복수 개의 CA인증서들을 획득하도록 구현될 수 있으며, 복수 개의 CA인증서들을 인증서 관리용 제1 스마트 컨트랙트 내에 저장하도록 구현될 수 있다.In addition, the first certification authority server 100 may be implemented to obtain a plurality of CA certificates, and may be implemented to store the plurality of CA certificates in the first smart contract for certificate management.

한편, 도 4는 본 발명의 제2 실시예에 따른 인증서 관리 방법을 도시한 것이다. 제2 실시예는 최상위 인증기관인 루트 인증기관 서버(250)와 이보다 하위의 인증기관인 제1 인증기관 서버(100)가 존재할 때의 인증서 관리 방법을 도시한 것이다.Meanwhile, FIG. 4 illustrates a certificate management method according to a second embodiment of the present invention. The second embodiment illustrates a certificate management method when there is a root certification authority server 250, which is a top level certification authority, and a first certification authority server 100, which is a lower level certification authority.

도면을 참고할 때, 가장 먼저 루트 인증기관 서버(250)는 블록체인 네트워크(50) 상에 루트 스마트 컨트랙트를 배포(S201)할 수 있으며, 이후 R인증서를 생성하는 단계(S202), 루트 스마트 컨트랙트에 상기 R인증서를 저장하는 단계(S203)가 순서대로 수행될 수 있다. S201 단계 내지 S203 단계는 소위 루트 인증기관 서버(250)가 인증서 발급을 준비하는 단계, 내지 루트 인증기관 서버(250)가 인증서를 관리하는 단계로도 이해될 수 있다. 참고로, R인증서라는 용어는 루트 인증기관이 생성 및 발급한 인증서를 의미하는 것으로, CA인증서와 구별하기 위해 R인증서라는 용어를 사용한 것이다. Referring to the drawing, first of all, the root certification authority server 250 can distribute the root smart contract on the blockchain network 50 (S201), and then generate an R certificate (S202), in the root smart contract The step of storing the R certificate (S203) may be performed in order. Steps S201 to S203 may also be understood as a step in which the root certification authority server 250 prepares to issue a certificate or a step in which the root certification authority server 250 manages certificates. For reference, the term R certificate refers to a certificate generated and issued by a root certification authority, and the term R certificate is used to distinguish it from a CA certificate.

한편, 루트 인증서 발급 준비가 모두 마쳐진 후에는 제1 인증기관 서버(100)가 루트 인증기관 서버(250)와의 사이에서 CA인증서를 발급받는 단계들이 진행될 수 있다. 이를 살펴볼 때, 제1 인증기관 서버(100)는 먼저 블록체인 네트워크(50) 상에 인증서 관리용 제1 스마트 컨트랙트를 배포하는 단계(S204), 루트 인증기관 서버(250)에 CA인증서 발급을 요청하는 단계(S205), 루트 인증기관 서버(250)로부터 CA인증서를 수신하는 단계(S206), 수신한 CA인증서를 인증서 관리용 제1 스마트 컨트랙트에 저장하는 단계(S207)가 차례로 수행됨을 알 수 있다. S204 단계 내지 S207 단계는 CA인증서를 발급하는 주체가 루트 인증기관 서버(250)로 바뀌었을 뿐, 실질적으로는 앞선 도 2의 S101 단계 내지 S104 단계와 실질적으로 동일하다. Meanwhile, after all preparations for issuing a root certificate are completed, steps in which the first certification authority server 100 and the root certification authority server 250 receive a CA certificate may be issued. Looking at this, the first certification authority server 100 first deploys the first smart contract for certificate management on the blockchain network 50 (S204) and requests the root certification authority server 250 to issue a CA certificate. It can be seen that the step (S205), the step of receiving the CA certificate from the root certification authority server 250 (S206), and the step of storing the received CA certificate in the first smart contract for certificate management (S207) are sequentially performed. . Steps S204 to S207 are substantially the same as steps S101 to S104 of FIG. 2, except that the subject issuing the CA certificate has been changed to the root certification authority server 250.

한편, 루트 인증기관 서버(250)가 발급하는 CA인증서 내에는 인증서 관리용 제1 스마트 컨트랙트 식별자, 그리고 루트 컨트랙트 식별자가 포함될 수 있다. 루트 컨트랙트 식별자란, 루트 인증기관 서버(250)가 블록체인 네트워크(50)에 배포해 둔 루트 스마트 컨트랙트를 식별하기 위한 식별자, 예를 들어 주소일 수 있다. Meanwhile, the CA certificate issued by the root certification authority server 250 may include a first smart contract identifier for certificate management and a root contract identifier. The root contract identifier may be an identifier for identifying the root smart contract distributed by the root certification authority server 250 to the blockchain network 50, for example, an address.

도 5는 본 발명의 제3 실시예에 따른 인증서 관리 방법을 도시한 것이다. 제3 실시예는 앞서 살펴 본 제2 실시예에 사용자 단말기(10)가 제1 인증기관 서버(100)를 상대로 사용자 인증서를 발급 받는 과정이 더 포함된 것이다. 살펴볼 때, S301 단계 내지 S303 단계는 루트 인증기관 서버(250)가 인증서를 발급하는 과정에 해당되며, S304 단계 내지 S307 단계는 제1 인증기관 서버(100)가 CA인증서를 발급 받는 과정에 해당하는데, 이 과정들은 모두 제2 실시예에서 논하였으므로 자세한 설명을 생략하기로 한다.5 illustrates a certificate management method according to a third embodiment of the present invention. The third embodiment further includes a process in which the user terminal 10 receives a user certificate issued against the first certification authority server 100 in the above-described second embodiment. Looking at it, steps S301 to S303 correspond to a process in which the root certification authority server 250 issues a certificate, and steps S304 to S307 correspond to a process in which the first certification authority server 100 issues a CA certificate. , Since all of these processes have been discussed in the second embodiment, a detailed description thereof will be omitted.

S308 단계는 사용자 단말기(10)가 제1 인증기관 서버(100)를 대상으로 사용자인증서의 발급을 요청하는 단계이다. 여기서 사용자 단말기(10)란, 네트워크에서 서비스를 이용하기 위해 사용자인증서를 필요로 하는 사용자의 단말기를 일컫는 것으로, 중앙처리유닛 및 메모리를 갖추고 있을 것을 전제로 한다. Step S308 is a step in which the user terminal 10 requests issuance of a user certificate to the first certification authority server 100 . Here, the user terminal 10 refers to a user terminal that requires a user certificate to use a service in the network, and is assumed to have a central processing unit and a memory.

S308 단계 이후에는 제1 인증기관 서버(100)가 사용자인증서를 생성하는 단계(S309), 그리고 이를 사용자 단말기(10)가 수신하는 단계(S310)가 실행될 수 있다. 이 때, 제1 인증기관 서버(100)에 의해 생성되는 사용자인증서에는 인증서 관리용 제1 스마트 컨트랙트 식별자, 즉 제1 인증기관 서버(100)가 블록체인 네트워크(50)에 배포한 인증서 관리용 제1 스마트 컨트랙트를 식별하기 위한 식별자가 포함된다. After step S308, the first certification authority server 100 generates a user certificate (S309), and the user terminal 10 receives it (S310) may be executed. At this time, the user certificate generated by the first certification authority server 100 includes a first smart contract identifier for certificate management, that is, a certificate management agent distributed by the first certification authority server 100 to the blockchain network 50. 1 An identifier for identifying the smart contract is included.

한편, S310 단계에서는 제1 인증기관 서버(100)가 사용자 단말기(10)에 사용자인증서만을 발급하는 것이 기본이긴 하나, 구현 예에 따라 제1 인증기관 서버(100)가 복수 개의 CA인증서들을 사용자 단말기(10) 측에 전달하도록 구현할 수도 있다. 즉, 제1 인증기관 서버(100)는 상위의 인증기관 서버들, 예를 들어 제2 인증기관 서버(200), 혹은 제3 인증기관 서버들이 발급한 CA인증서들도 함께 전달할 수 있다. 제1 인증기관 서버(100)가 사용자 단말기(10)에 전달할 수 있는 CA인증서에는 루트(ROOT) 인증기관 서버에 의해 발급된 인증서까지도 포함될 수 있다. Meanwhile, in step S310, it is basic that the first certification authority server 100 issues only the user certificate to the user terminal 10, but according to an implementation example, the first certification authority server 100 sends a plurality of CA certificates to the user terminal. It can also be implemented to be delivered to the (10) side. That is, the first certification authority server 100 may also deliver CA certificates issued by upper certification authority servers, for example, the second certification authority server 200 or the third certification authority servers. The CA certificate that the first certification authority server 100 can deliver to the user terminal 10 may include even a certificate issued by a root certification authority server.

또한, 제1 인증기관 서버(100)가 상위 인증기관 서버들이 발급한 CA인증서들을 획득하는 방법은 다양할 수 있는데, 이는 앞서 S104의 변형 실시예에 대한 설명에서 논하였으므로 여기서는 자세한 설명을 생략하기로 한다. In addition, there may be various ways for the first certification authority server 100 to obtain CA certificates issued by upper certification authority servers. Since this has been discussed in the description of the modified embodiment of S104 above, detailed descriptions will be omitted here. do.

도 6은 폐기된 인증서의 리스트를 관리하는 방법, 더 정확하게는 블록체인 네트워크를 활용하여 폐기된 인증서의 리스트를 관리하는 방법을 설명하기 위한 도면이다. 더 이상 유효하지 않은 인증서들은 폐기가 되며, 이렇게 폐기가 된 인증서들은 더 이상 인증에 활용되지 않도록 그 목록이 관리될 필요가 있다. 본 실시예는 폐기된 인증서들의 관리를 블록체인 네트워크 기반으로 하는 방법에 관한 것이다. 참고로, 도면에서는 제1 인증기관 서버(100) 및 제2 인증기관 서버(200)가 각각 하위 인증기관 서버, 상위 인증기관 서버로 도시되어 있는데, 이는 각 인증기관 서버들의 관점에서 폐기된 인증서 리스트를 관리하는 모습을 설명하기 위한 것이다. 6 is a diagram for explaining a method of managing a list of revoked certificates, more precisely, a method of managing a list of revoked certificates using a blockchain network. Certificates that are no longer valid are revoked, and the list needs to be managed so that the revoked certificates are no longer used for authentication. This embodiment relates to a method for managing revoked certificates based on a blockchain network. For reference, in the drawing, the first certification authority server 100 and the second certification authority server 200 are shown as a lower certification authority server and an upper certification authority server, respectively, which are a list of revoked certificates from the viewpoint of each certification authority server. It is to explain how to manage the .

도면을 참고할 때, 본 방법은 가장 먼저 CA인증서가 폐기(revoke)되는 단계(S401)로부터 시작될 수 있다. 예를 들어, 인증기관(CA)이 CA인증서를 부적절하게 발급한 것이 발견되거나 프라이빗키(private key)가 손상되었다고 판단된 경우, CA인증서는 불가역적으로 폐기(revoke)된다. 또한, 특정 엔티티(entity)가 허위로 다큐먼트를 게시하였거나, 소프트웨어 동작에 대해 잘못된 정보를 전달하였거나, 기타 정책 위반을 하는 등의 사정이 있는 경우에도 CA인증서는 폐기 될 수 있다. 참고로, 폐기된 CA인증서는 일반적으로 유효기간 만료 되기 전에 위와 같은 특별한 사유로 해지, 취소가 된 것들을 가리킨다.Referring to the drawing, the method may first start from step S401 in which the CA certificate is revoked. For example, when it is discovered that a certification authority (CA) improperly issued a CA certificate or it is determined that a private key is compromised, the CA certificate is irreversibly revoked. In addition, the CA certificate can be revoked even if there are circumstances such as a specific entity posting false documents, delivering wrong information about software operation, or violating other policies. For reference, revoked CA certificates generally refer to ones that have been revoked or revoked for special reasons such as the above before expiration.

S401 단계 후, 제2 인증기관 서버(200)는 인증서 관리용 제2 스마트 컨트랙트의 폐기리스트에 폐기된 CA인증서의 식별자를 저장할 수 있다(S402). 제2 인증기관 서버(200)는 사전에 배포해 둔 인증서 관리용 제2 스마트 컨트랙트 내에 “폐기리스트”를 따로 관리할 목적으로 별도 기록영역을 할애할 수 있으며, 실제 폐기 되는 CA인증서가 발생하는 경우 해당 CA인증서의 식별자를 상기 폐기리스트 내에 저장할 수 있다. 물론, 상기 인증서 관리용 제2 스마트 컨트랙트 내 “폐기리스트”는 공개적으로 조회나 열람이 가능할 수 있으며, 블록체인 네트워크의 특성에 따라 매우 빠른 시간 내에 공유 및 조회가 가능할 수 있다. After step S401, the second certification authority server 200 may store the identifier of the revoked CA certificate in the revocation list of the second smart contract for certificate management (S402). The second certification authority server 200 can allocate a separate recording area for the purpose of separately managing the “revocation list” in the previously distributed second smart contract for certificate management, and when a CA certificate that is actually revoked occurs The identifier of the corresponding CA certificate may be stored in the revocation list. Of course, the “revocation list” in the second smart contract for certificate management can be publicly viewed or viewed, and can be shared and viewed in a very short time according to the characteristics of the blockchain network.

한편, 상기 제2 인증기관 서버(200)는 상기 인증서 관리용 제2 스마트 컨트랙트의 폐기리스트를 주기적으로 정리할 수 있는데, 다시 말해 기 정해진 기간(또는 유효기간)이 지난 CA인증서의 식별자들을 폐기리스트로부터 주기적으로 삭제를 할 수 있다(S403). 참고로, 삭제 대상의 선정은 본 발명에 대한 설명에서는 논의의 대상이 아니므로 자세한 설명은 생락한다. Meanwhile, the second certification authority server 200 may periodically organize the revocation list of the second smart contract for certificate management. Deletion can be performed periodically (S403). For reference, the selection of a deletion target is not subject to discussion in the description of the present invention, so a detailed description thereof will be omitted.

한편 다른 참고할 만한 사항으로, 상기 폐기리스트에는, 최소한 폐기 된 CA인증서의 원래 유효기간만큼은 상기 폐기 된 CA인증서의 식별자가 기록되어 있을 수 있다. 어느 임의의CA인증서가 폐기가 되었다 하더라도, 폐기가 되기 전에는 정상적인 CA인증서이었기에 인증기관에 의해 발급이 정상적으로 이루어졌을 것이므로, 적어도 해당 CA인증서에 부여되어 있던 유효기간까지는 폐기리스트에 기록을 해 둠으로써 인증서를 검증하는 주체들로 하여금 조회가 가능하게 할 수 있다. 필요에 따라, 제2 인증기관 서버(200)는 폐기리스트를 주기적으로 정리할 때에 폐기 된 CA인증서의 원래 유효기간에다가 유효기간의 10%만큼을 더한 기간만큼 폐기리스트에 기록을 유지해 둠으로써 타 검증주체들의 불편함을 방지할 수 있다. Meanwhile, as another reference point, the revoked CA certificate identifier may be recorded in the revoked list for at least the original validity period of the revoked CA certificate. Even if any CA certificate is revoked, since it was a normal CA certificate before it was revoked, issuance by a certification authority would have been normally carried out. Inquiry can be made possible by the subjects who verify the . As necessary, when the second certification authority server 200 periodically organizes the revocation list, the original validity period of the revoked CA certificate plus 10% of the validity period is kept in the revocation list, thereby maintaining other verification subjects. discomfort can be avoided.

한편, 제1 인증기관 서버(100)의 입장에서도 사용자인증서가 폐기(S404)된 후에는 인증서 관리용 제1 스마트 컨트랙트의 “폐기리스트”에 상기 폐기된 사용자인증서의 식별자를 저장할 수 있다(S405). On the other hand, even from the point of view of the first certification authority server 100, after the user certificate is revoked (S404), the identifier of the revoked user certificate can be stored in the “revocation list” of the first smart contract for certificate management (S405). .

또한, 같은 방식으로 제1 인증기관 서버(100)는 주기적으로 폐기리스트 내 기록되어 있던 사용자인증서 식별자들을 삭제할 수 있다(S406)Also, in the same way, the first certification authority server 100 may periodically delete user certificate identifiers recorded in the revocation list (S406).

이상 블록체인 네트워크를 활용한 인증서 관리 방법, 그리고 이를 위한 시스템에 대해 살펴보았다. 한편, 본 발명은 상술한 특정의 실시예 및 응용예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 구별되어 이해되어서는 안 될 것이다.We looked at the certificate management method using the blockchain network and the system for this. On the other hand, the present invention is not limited to the specific embodiments and application examples described above, and various modifications may be carried out by those skilled in the art to which the present invention belongs without departing from the gist of the present invention claimed in the claims. Of course, these modifications should not be understood separately from the technical spirit or perspective of the present invention.

10 사용자 단말기
50 블록체인 네트워크
100 제1 인증기관 서버
200 제2 인증기관 서버
250 루트 인증기관 서버
10 user terminal
50 blockchain networks
100 First certification authority server
200 2nd certification authority server
250 Root Certificate Authority Servers

Claims (3)

블록체인을 활용하여 인증서를 관리하는 방법에 있어서,
(a) 제1 인증기관 서버가 인증서 관리용 제1 스마트 컨트랙트를 블록체인 네트워크 상에 배포하는 단계;
(b) 제1 인증기관 서버가, 상기 인증서 관리용 제1 스마트 컨트랙트 배포 시 할당된 상기 인증서 관리용 제1 스마트 컨트랙트의 스토리지에 복수 개의 인증서들을 저장하는 단계;
를 포함하되,
각 인증서의 인증서 구조는 확장영역을 포함하고
상기 확장영역에는,
인증서의 발급을 요청한 인증서 발급요청자의 인증서 관리용 스마트 컨트랙트 식별자, 및 상기 인증서를 발급한 인증서 발급자의 인증서 관리용 스마트 컨트랙트 식별자가 기록되는 것을 특징으로 하며,
상기 제1 인증기관 서버에 의해 상기 인증서 관리용 제1 스마트 컨트랙트의 스토리지에 저장되는 복수 개의 인증서들은, 상기 제1 인증기관 서버의 상위에 존재하는 복수 개의 인증기관 서버들이 각각 발급한 인증서들을 모두 포함하되,
상기 복수 개의 인증서들은, 상기 제1 인증기관 서버의 상위인 제2 인증기관 서버에 의해 발급된 인증서, 및 상기 제2 인증기관 서버의 상위인 제3 인증기관 서버에 의해 발급된 인증서를 포함하며,
상기 제2 인증기관 서버 및 제3 인증기관 서버는 각각 상기 블록체인 네트워크 상에 인증서 관리용 제2 스마트 컨트랙트 및 제3 스마트 컨트랙트를 배포한 것이며,
상기 제1 인증기관 서버는, 상기 제2 인증기관 서버로부터 발급받은 인증서 내 상기 인증서 발급자의 인증서 관리용 스마트 컨트랙트 식별자를 참고하여 상기 제2 인증기관 서버가 상기 제3 인증기관 서버로부터 발급받은 인증서를 획득하는 것을 특징으로 하는,
블록체인을 활용하여 인증서를 관리하는 방법.
In the method of managing certificates using blockchain,
(a) distributing, by a first certification authority server, a first smart contract for certificate management on a blockchain network;
(b) storing, by a first certification authority server, a plurality of certificates in the storage of the first smart contract for certificate management allocated when the first smart contract for certificate management is deployed;
Including,
The certificate structure of each certificate contains extensions and
In the extended area,
Characterized in that a smart contract identifier for certificate management of the certificate issuance requester who requested issuance of the certificate and a smart contract identifier for certificate management of the certificate issuer who issued the certificate are recorded,
The plurality of certificates stored in the storage of the first smart contract for certificate management by the first certification authority server include all certificates issued by the plurality of certification authority servers existing above the first certification authority server. but
The plurality of certificates include a certificate issued by a second certification authority server higher than the first certification authority server and a certificate issued by a third certification authority server higher than the second certification authority server,
The second certification authority server and the third certification authority server distribute the second smart contract and the third smart contract for certificate management on the blockchain network, respectively,
The first certification authority server refers to the smart contract identifier for certificate management of the certificate issuer in the certificate issued by the second certification authority server to obtain a certificate issued by the second certification authority server from the third certification authority server. characterized by obtaining
How to manage certificates using blockchain.
삭제delete 삭제delete
KR1020220134994A 2022-04-19 2022-10-19 Certificate issuance method using blockchain and system for the same KR102506431B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220048467 2022-04-19
KR1020220048467 2022-04-19

Publications (1)

Publication Number Publication Date
KR102506431B1 true KR102506431B1 (en) 2023-03-07

Family

ID=85513698

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220134994A KR102506431B1 (en) 2022-04-19 2022-10-19 Certificate issuance method using blockchain and system for the same

Country Status (1)

Country Link
KR (1) KR102506431B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200106130A (en) * 2019-03-01 2020-09-11 알리바바 그룹 홀딩 리미티드 Method and device for protecting sensitive data of transaction activity based on smart contract in blockchain
KR20200107770A (en) * 2019-03-04 2020-09-16 알리바바 그룹 홀딩 리미티드 Method and device for handling certificates in blockchain system
KR20210060356A (en) * 2019-11-18 2021-05-26 충남대학교산학협력단 Authentication Data Feed for Smart Contract using Public Key Infrastructure
KR102332226B1 (en) 2019-11-15 2021-11-29 서강대학교 산학협력단 Blockchain network system being capable of verifying a blockchain ledger and method for verifying a blockchain ledger

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200106130A (en) * 2019-03-01 2020-09-11 알리바바 그룹 홀딩 리미티드 Method and device for protecting sensitive data of transaction activity based on smart contract in blockchain
KR20200107770A (en) * 2019-03-04 2020-09-16 알리바바 그룹 홀딩 리미티드 Method and device for handling certificates in blockchain system
KR102332226B1 (en) 2019-11-15 2021-11-29 서강대학교 산학협력단 Blockchain network system being capable of verifying a blockchain ledger and method for verifying a blockchain ledger
KR20210060356A (en) * 2019-11-18 2021-05-26 충남대학교산학협력단 Authentication Data Feed for Smart Contract using Public Key Infrastructure

Similar Documents

Publication Publication Date Title
US10284379B1 (en) Public key infrastructure based on the public certificates ledger
AU2022204148B2 (en) Methods and apparatus for providing blockchain participant identity binding
CN109327528B (en) Node management method and device based on block chain
US11115418B2 (en) Registration and authorization method device and system
CN109327481B (en) Block chain-based unified online authentication method and system for whole network
KR102307574B1 (en) Cloud data storage system based on blockchain and method for storing in cloud
AU2017225928A1 (en) Systems and methods for distributed data sharing with asynchronous third-party attestation
CN112311735A (en) Credible authentication method, network equipment, system and storage medium
Garba et al. LightLedger: a novel blockchain-based domain certificate authentication and validation scheme
KR102410006B1 (en) Method for creating decentralized identity able to manage user authority and system for managing user authority using the same
JPWO2018088475A1 (en) Electronic authentication method and program
CN113228560A (en) Issuing apparatus and method for issuing, and requesting apparatus and method for requesting digital certificate
CN114666168A (en) Decentralized identity certificate verification method and device, and electronic equipment
US20220294647A1 (en) Distributed ledger-based methods and systems for certificate authentication
KR102479985B1 (en) Certificate verification method using blockchain and system for the same
KR102479986B1 (en) Certificate verification method and system therefor in an environment in which a plurality of higher-level certification authority certificates have been obtained from a blockchain network
KR102479987B1 (en) Certificate verification method and system therefor in an environment in which a plurality of higher-level certification authority certificates are obtained from the verification requester terminal
CN113271207A (en) Escrow key using method and system based on mobile electronic signature, computer equipment and storage medium
KR102506431B1 (en) Certificate issuance method using blockchain and system for the same
KR102565970B1 (en) Certificate issuance method using blockchain and system for the same
KR102506432B1 (en) Revocation list management method and system therefor
JP7066863B2 (en) Electronic signature method and equipment
WO2022201581A1 (en) Business audit assistance system and business audit assistance method
KR20200106369A (en) Delegated authentication apparatus and token managing method for delegated authentication
Jeyasheela Rakkini et al. Secure decentralized public key infrastructure with multi-signature in blockchains

Legal Events

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