KR102506431B1 - Certificate issuance method using blockchain and system for the same - Google Patents
Certificate issuance method using blockchain and system for the same Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000007726 management method Methods 0.000 abstract description 44
- 230000008569 process Effects 0.000 abstract description 7
- 238000010200 validation analysis Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 13
- 230000000694 effects Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 102000036364 Cullin Ring E3 Ligases Human genes 0.000 description 1
- 108091007045 Cullin Ring E3 Ligases Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009885 systemic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/102—Additional 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
Description
본 발명은 블록체인을 활용한 인증서 관리 방법 및 이를 위한 시스템에 관한 것으로, 구체적으로는 블록체인 네트워크 상에 인증기관 서버로부터 수신한 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.
본 발명은 인증서의 유효성 검증이 종래의 수단 대비 더 효과적으로 이루어질 수 있는 환경을 제공하는 것을 목적으로 한다.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
한편, 인증기관 서버에서는 여러 기능들을 수행할 수 있는데, 예를 들어 공개키 쌍을 생성하는 기능, 공개키 파라미터에 대한 테스트를 하는 기능, 하위 인증기관에 인증서를 발급하는 기능, 식별자(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
도면을 참고할 때, 제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
S101 단계 이후, 제1 인증기관 서버(100)는 제2 인증기관 서버(200) 측에 CA인증서를 발급해 줄 것을 요청(S102)할 수 있다. 이 단계에서 제1 인증기관 서버(100)는 제2 인증기관 서버(20) 측에 상기 인증서 관리용 제1 스마트 컨트랙트를 식별할 수 있는 식별자, 즉 인증서 관리용 제1 스마트 컨트랙트 식별자(identifier)를 함께 전달할 수 있다. 특정 스마트 컨트랙트를 식별하기 위한 식별자에는 다양한 형태의 것들이 존재할 수 있으며, 바람직하게는 인증기관 서버가 블록체인 네트워크 상에 배포해 둔 스마트 컨트랙트의 주소일 수 있다, 한편, 상기 식별자에는 스마트 컨트랙트의 주소에 부가정보들이 덧붙여진 형태로도 구성할 수 있으며, 또는 그 밖에 랜덤한 문자 및/또는 숫자로 조합된 텍스트가 스마트 컨트랙트를 식별하기 위한 식별자로 활용될 수도 있다. 굳이 예시를 들어본다면 상기 인증서 관리용 제1 스마트 컨트랙트 식별자는 “0x466BDA20T86GgA9037k…d00792”일 수 있다. After step S101, the first
S102 단계 이후에는 제2 인증기관 서버(200)가 상기 발급요청에 대한 응답으로 CA인증서를 생성하며, 제1 인증기관 서버(100)는 제2 인증기관 서버(200)로부터 위 CA인증서를 발급 받는다(S103). 이 때, 상기 CA인증서 내에는 앞서 S102 단계에서 제2 인증기관 서버(200) 측으로 전달되었던 인증서 관리용 제1 스마트 컨트랙트 식별자가 포함되어 있을 수 있다. After step S102, the second
S103 단계 이후, 제1 인증기관 서버(100)는 상기 인증서 관리용 제1 스마트 컨트랙트에 상기 CA인증서를 저장(S104)할 수 있다. 즉, 제1 인증기관 서버(100)는 자신에게 발급된 CA인증서를 블록체인 네트워크(50) 상에 기록을 해 둠으로써 CA인증서가 언제든지, 누구든지 조회 가능한 상태가 되도록 할 수 있다. After step S103, the first
이렇게 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
참고로 도 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
제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
제1 인증기관 서버(100)가 상위 인증기관 서버들이 발급한 CA인증서들을 획득하는 또 다른 방법으로, 제1 인증기관 서버(100)는 애초에 제2 인증기관 서버(200)로부터 CA인증서를 수신할 때에 제2 인증기관 서버(200)가 발급한 것뿐만 아니라 제3, 제4 인증기관 서버들이 발급한 CA인증서들을 모두 받을 수도 있다. 즉, 하위 인증기관 서버의 입장에서는 바로 위 상위 인증기관 서버로부터 복수 개의 CA인증서들을 수신할 수 있으며, 이렇게 수신된 복수 개의 CA인증서들을 블록체인 네트워크 상에 저장할 수 있다. As another method for the first
이 밖에도 제1 인증기관 서버(100)는 복수 개의 CA인증서들을 획득하도록 구현될 수 있으며, 복수 개의 CA인증서들을 인증서 관리용 제1 스마트 컨트랙트 내에 저장하도록 구현될 수 있다.In addition, the first
한편, 도 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
도면을 참고할 때, 가장 먼저 루트 인증기관 서버(250)는 블록체인 네트워크(50) 상에 루트 스마트 컨트랙트를 배포(S201)할 수 있으며, 이후 R인증서를 생성하는 단계(S202), 루트 스마트 컨트랙트에 상기 R인증서를 저장하는 단계(S203)가 순서대로 수행될 수 있다. S201 단계 내지 S203 단계는 소위 루트 인증기관 서버(250)가 인증서 발급을 준비하는 단계, 내지 루트 인증기관 서버(250)가 인증서를 관리하는 단계로도 이해될 수 있다. 참고로, R인증서라는 용어는 루트 인증기관이 생성 및 발급한 인증서를 의미하는 것으로, CA인증서와 구별하기 위해 R인증서라는 용어를 사용한 것이다. Referring to the drawing, first of all, the root
한편, 루트 인증서 발급 준비가 모두 마쳐진 후에는 제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
한편, 루트 인증기관 서버(250)가 발급하는 CA인증서 내에는 인증서 관리용 제1 스마트 컨트랙트 식별자, 그리고 루트 컨트랙트 식별자가 포함될 수 있다. 루트 컨트랙트 식별자란, 루트 인증기관 서버(250)가 블록체인 네트워크(50)에 배포해 둔 루트 스마트 컨트랙트를 식별하기 위한 식별자, 예를 들어 주소일 수 있다. Meanwhile, the CA certificate issued by the root
도 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
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
S308 단계 이후에는 제1 인증기관 서버(100)가 사용자인증서를 생성하는 단계(S309), 그리고 이를 사용자 단말기(10)가 수신하는 단계(S310)가 실행될 수 있다. 이 때, 제1 인증기관 서버(100)에 의해 생성되는 사용자인증서에는 인증서 관리용 제1 스마트 컨트랙트 식별자, 즉 제1 인증기관 서버(100)가 블록체인 네트워크(50)에 배포한 인증서 관리용 제1 스마트 컨트랙트를 식별하기 위한 식별자가 포함된다. After step S308, the first
한편, 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
또한, 제1 인증기관 서버(100)가 상위 인증기관 서버들이 발급한 CA인증서들을 획득하는 방법은 다양할 수 있는데, 이는 앞서 S104의 변형 실시예에 대한 설명에서 논하였으므로 여기서는 자세한 설명을 생략하기로 한다. In addition, there may be various ways for the first
도 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
도면을 참고할 때, 본 방법은 가장 먼저 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
한편, 상기 제2 인증기관 서버(200)는 상기 인증서 관리용 제2 스마트 컨트랙트의 폐기리스트를 주기적으로 정리할 수 있는데, 다시 말해 기 정해진 기간(또는 유효기간)이 지난 CA인증서의 식별자들을 폐기리스트로부터 주기적으로 삭제를 할 수 있다(S403). 참고로, 삭제 대상의 선정은 본 발명에 대한 설명에서는 논의의 대상이 아니므로 자세한 설명은 생락한다. Meanwhile, the second
한편 다른 참고할 만한 사항으로, 상기 폐기리스트에는, 최소한 폐기 된 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
한편, 제1 인증기관 서버(100)의 입장에서도 사용자인증서가 폐기(S404)된 후에는 인증서 관리용 제1 스마트 컨트랙트의 “폐기리스트”에 상기 폐기된 사용자인증서의 식별자를 저장할 수 있다(S405). On the other hand, even from the point of view of the first
또한, 같은 방식으로 제1 인증기관 서버(100)는 주기적으로 폐기리스트 내 기록되어 있던 사용자인증서 식별자들을 삭제할 수 있다(S406)Also, in the same way, the first
이상 블록체인 네트워크를 활용한 인증서 관리 방법, 그리고 이를 위한 시스템에 대해 살펴보았다. 한편, 본 발명은 상술한 특정의 실시예 및 응용예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 구별되어 이해되어서는 안 될 것이다.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.
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)
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 |
-
2022
- 2022-10-19 KR KR1020220134994A patent/KR102506431B1/en active IP Right Grant
Patent Citations (4)
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 |