KR102437042B1 - 블록체인 기반의 인증서 관리 시스템 - Google Patents

블록체인 기반의 인증서 관리 시스템 Download PDF

Info

Publication number
KR102437042B1
KR102437042B1 KR1020210014908A KR20210014908A KR102437042B1 KR 102437042 B1 KR102437042 B1 KR 102437042B1 KR 1020210014908 A KR1020210014908 A KR 1020210014908A KR 20210014908 A KR20210014908 A KR 20210014908A KR 102437042 B1 KR102437042 B1 KR 102437042B1
Authority
KR
South Korea
Prior art keywords
certificate
user node
transaction
generating
blockchain
Prior art date
Application number
KR1020210014908A
Other languages
English (en)
Other versions
KR20220072699A (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 서울과학기술대학교 산학협력단
Publication of KR20220072699A publication Critical patent/KR20220072699A/ko
Application granted granted Critical
Publication of KR102437042B1 publication Critical patent/KR102437042B1/ko

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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명의 실시예에 따른 인증서 관리 시스템은 인증서를 저장하는 블록체인; 및 상기 인증서를 생성, 폐기, 평가 및 사용하는 복수의 사용자 노드;를 포함하고, 상기 복수의 사용자 노드는, 상기 블록체인 상에 인증서 생성 코드 및 상기 인증서 생성 코드의 해시값을 제출하는 제1 트랜잭션을 생성하는 제1 사용자 노드; 상기 블록체인 상에 상기 인증서 생성 코드 및 상기 인증서 생성 코드의 해시값을 이용하여 상기 인증서를 생성 및 업로드하는 제2 트랜잭션을 생성하는 제2 사용자 노드; 및 상기 블록체인 상에 상기 인증서의 안전성을 평가하는 보고서를 제출하는 제3 트랜잭션을 생성하는 제3 사용자 노드; 상기 블록체인 상에 상기 보고서에 대한 찬반 투표 및 상기 찬반 투표에 따른 보상 금액을 제출하는 제4 트랜잭션을 생성하는 제4 사용자 노드; 및 상기 블록체인 상에 상기 인증서를 요청하는 제5 트랜잭션을 생성하는 제5 사용자 노드;를 포함한다.

Description

블록체인 기반의 인증서 관리 시스템{SYSTEM FOR MANAGING CERTIFICATE BASED BLOCKCHAIN}
실시 예는 블록체인 기반의 인증서 관리 시스템 에 관한 것이다.
최근 전자 상거래, SNS, 온라인 강의, IoT 제어 등 인터넷 기능이 일상에 밀접해짐에 따라 각 기능에서 사용하는 정보에서 카드 정보, 개인 신상 정보, 지문 정보 등 민감 데이터의 비중이 늘어나고 있다. 하지만, 민감 데이터를 송·수신하기 위해 별도의 보안 정책을 지원하지 않는 HTTP(HyperText Transfer Protocol) 통신은 패킷 도청 및 개인 정보 유출을 야기하는 문제점을 발생시키고 있다. 이에, 통신의 기밀성, 인증, 무결성 유지의 중요성이 부각되며 이를 지원하기 위한 통신 기술인 SSL/TLS가 등장했고, 2000년에 RFC 2818로 안전한 통신을 위한 HTTP Over TLS 가 발간되었다. 도 1은 TLS 1.3 통신 프로세스를 나타낸 도면이다.
도 1을 참조하면, HTTPS(HyperText Transfer Protocol Secure Sockets Layer)는 HTTP 계층 아래에 TLS(Transport Layer Security) 계층을 두어 데이터를 암호화하여 안전하게 데이터를 주고받는다. TLS가 올바르게 사용된 경우 정당한 참가자가 아닌 사람은 연결의 종단, 암호화 타입, 데이터의 보내진 양, 데이터 전송의 빈번도 등을 유추할 수 있지만 실제 데이터의 내용을 읽거나 수정할 수 없다.
이러한 HTTPS는 보안 기능 중 인증서를 통한 사용자 인증을 제공한다. 사용자(end entity)는 신뢰할 수 있는 인증기관(CA, certification authority)로부터 발급된 인증서를 통해 현재 접속한 사이트의 안전성을 확인하고 접속 여부를 결정한다. 인증서는 공개 키 등록과 본인에 대한 인증을 대행하는 등록기관(RA, Registration authority)로부터 본인에 대한 인증 후 인증 기관에서 발급 가능하다.
일반적으로 인증 기관으로부터 기업의 합법성을 검토한 후 인증서가 발급되므로 HTTPS 통신을 사용하는 인터넷 통신은 안전하다는 인식이 있다. 그러나 HTTPS 통신은 통신 규격을 만족하는 경우 누구나 사용할 수 있으며, 통신과정에서 전달받은 인증서에 대한 신뢰 여부는 사용자의 선택이다. 이에 웹 브라우저는 사용자가 어떤 사이트에 접속하여 HTTPS 통신 커넥션을 수립할 때, 전달받은 인증서의 안전성을 검토하기 위해 신뢰하는 인증서 발급 기관 목록을 소장한다. 웹 브라우저는 소장한 신뢰하는 인증서 발급 기관에서 발급된 인증서를 사용하는 사이트를 안전한 사이트로 평가한다.
최근 인증서 생성 오픈 소스가 보급되고 무료 인증서 발행 업체 등이 많아짐에 따라 피싱 사이트와 같은 악성 사이트도 SSL 인증서를 사용해 HTTPS 통신을 사용하고 있어 보안에 취약이 발생하고 있다. 또한, 웹 브라우저의 인증 기관 목록은 사용자의 선택에 따라 편집이 가능하며, 인증서의 안전성이 인증 기관의 본인 인증 및 검토 수준에 종속적임에 따라 보안에 취약한 문제점이 있다. 뿐만 아니라, 인증 기관의 안전성은 인증서 발급 기관의 규모, 피해 발생시 보상 금액 등으로 평가할 수 있으며 별도의 지표나 안전성 수준은 존재하지 않아 신뢰성의 문제가 발생할 수 있다.
실시 예는 탈중앙화된 인증서 생성 및 검증을 수행할 수 있는 블록체인 기반의 인증서 관리 시스템을 제공한다.
실시 예는 HTTPS 환경에서 TTP(Trusted ThirdParty) 인증 기관 없이 신뢰성 있는 인증서를 제공할 수 있는 블록체인 기반의 인증서 관리 시스템을 제공한다.
실시 예는 블록체인을 사용해 TTP 없이 인증서를 생성 및 저장함에 따라 무결성을 제공할 수 있는 블록체인 기반의 인증서 관리 시스템을 제공한다.
실시 예에서 해결하고자 하는 과제는 이에 한정되는 것은 아니며, 아래에서 설명하는 과제의 해결수단이나 실시 형태로부터 파악될 수 있는 목적이나 효과도 포함된다고 할 것이다.
본 발명의 실시예에 따른 인증서 관리 시스템은 인증서를 저장하는 블록체인; 및 상기 인증서를 생성, 폐기, 평가 및 사용하는 복수의 사용자 노드;를 포함하고, 상기 복수의 사용자 노드는, 상기 블록체인 상에 인증서 생성 코드 및 상기 인증서 생성 코드의 해시값을 제출하는 제1 트랜잭션을 생성하는 제1 사용자 노드; 상기 블록체인 상에 상기 인증서 생성 코드 및 상기 인증서 생성 코드의 해시값을 이용하여 상기 인증서를 생성 및 업로드하는 제2 트랜잭션을 생성하는 제2 사용자 노드; 및 상기 블록체인 상에 상기 인증서의 안전성을 평가하는 보고서를 제출하는 제3 트랜잭션을 생성하는 제3 사용자 노드; 상기 블록체인 상에 상기 보고서에 대한 찬반 투표 및 상기 찬반 투표에 따른 보상 금액을 제출하는 제4 트랜잭션을 생성하는 제4 사용자 노드; 및 상기 블록체인 상에 상기 인증서를 요청하는 제5 트랜잭션을 생성하는 제5 사용자 노드;를 포함한다.
상기 제1 트랜잭션은, 상기 제2 사용자 노드가 상기 인증서 생성 코드 및 상기 인증서 생성 코드의 해시값을 이용하여 상기 인증서를 생성할 경우 지불하는 사용 비용을 포함할 수 있다.
상기 보고서는, 상기 인증서에 대한 안정성 및 위험 정도를 포함하는 신뢰도 정보와 상기 신뢰도 정보에 따른 보상 정책을 포함할 수 있다.
상기 보상 금액은, 상기 인증서의 사용으로 인한 피해 발생시 상기 제5 사용자 노드에 지급되거나, 상기 제5 사용자 노드의 상기 인증서에 대한 사용 허가 또는 사용 불가 결정에 따라, 찬성 투표를 제출한 제4 사용자 노드 또는 반대 투표를 제출한 제4 사용자 노드에 상금으로 지급될 수 있다.
상기 제2 사용자 노드는, 상기 블록체인 상에서 인증서 폐기 목록에 상기 인증서를 등록시키는 제6 트랜잭션을 생성할 수 있다.
사용자들이 유일한 TTP가 아닌 다양한 서드 파티(third party)의 의견을 확인 할 수 있고 이에 대한 사용 결과를 검증한 노드들이 배상을 하므로, 인증서를 검증하는 검증 노드는 배상 책임이 있음을 인지하고 인증서와 해당 도메인을 검증하고, 이에 따라, 사용자는 이를 신뢰하고 사용할 수 있다.
본 발명의 다양하면서도 유익한 장점과 효과는 상술한 내용에 한정되지 않으며, 본 발명의 구체적인 실시형태를 설명하는 과정에서 보다 쉽게 이해될 수 있을 것이다.
도 1은 TLS 1.3 통신 프로세스를 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 인증서 관리 시스템을 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 인증서 관리 시스템의 기능을 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 인증서 관리 방법을 나타낸 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제2, 제1 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 2는 본 발명의 실시예에 따른 인증서 관리 시스템을 나타낸 도면이다.
도 2를 참조하면, 본 발명의 인증서 관리 시스템은 블록체인(100)과 복수의 사용자 노드(200)를 포함할 수 있다.
블록체인(100)은 블록에 데이터를 담아 체인 형태로 연결함으로써 다수의 컴퓨터에 동시에 이를 복제해 저장하는 분산형 데이터 베이스를 의미할 수 있다. 블록체인(100)은 P2P(Peer to Peer) 네트워크를 통해 관리되므로, 블록체인(100)에 연결된 각각의 사용자 노드가 서버이자 클라이언트로서 역할을 수행하게 된다.
블록체인(100)은 인증서를 저장할 수 있다. 블록체인(100)은 사용자 노드가 생성한 인증서를 저장할 수 있다. 블록체인(100)은 인증서 폐기 목록을 저장할 수 있다. 블록체인(100)은 트랜잭션을 통해 인증서의 저장 및 인증서 폐기 목록의 저장을 수행할 수 있다. 블록체인(100)은 각 트랜잭션의 고유 번호와 함께 인증서 목록 및 증서 폐기 목록을 저장한다. 예를 들어, 블록체인(100)은 각 트랜잭션의 고유 번호와 함께 인증서 목록 및 인증서 폐기 목록을 스마트 컨트랙트 저장소(smart contract storage)에 저장할 수 있다.
복수의 사용자 노드(200)는 블록체인(100)에 연결되어 인증서를 생성, 폐기, 평가 및 사용하는 기능을 수행할 수 있다. 복수의 사용자 노드는 일반적인 컴퓨팅 환경을 의미할 수 있다. 예를 들어, 사용자 노드는 퍼스널 컴퓨터(Personal Computer)를 의미할 수 있으나, 이에 제한되지 않는다. 복수의 사용자 노드는 서버, 스마트 단말 등일 수도 있다.
복수의 사용자 노드(200)는 블록체인(100) 상에 제1 트랜잭션을 생성할 수 있다. 제1 트랜잭션은 인증서를 생성하는데 이용되는 인증서 생성 코드 및 인증서 생성 코드의 해시값을 블록체인(100) 상에 제출하는 트랜잭션일 수 있다.
복수의 사용자 노드(200)는 블록체인(100) 상에 제2 트랜잭션을 생성할 수 있다. 제2 트랜잭션은 블록체인(100) 상에 인증서 생성 코드 및 인증서 생성 코드의 해시값을 이용하여 인증서를 생성 및 업로드하는 트랜잭션일 수 있다.
복수의 사용자 노드(200)는 블록체인(100) 상에 제3 트랜잭션을 생성할 수 있다. 제3 트랜잭션은 블록체인(100) 상에 인증서의 안전성을 평가하는 보고서를 제출하는 트랜잭션일 수 있다.
복수의 사용자 노드(200)는 블록체인(100) 상에 제4 트랜잭션을 생성할 수 있다. 제4 트랜잭션은 블록체인(100) 상에 보고서에 대한 찬반 투표 및 찬반 투표에 따른 보상 금액을 제출하는 트랜잭션일 수 있다.
복수의 사용자 노드(200)는 블록체인(100) 상에 제5 트랜잭션을 생성할 수 있다. 제5 트랜잭션은 블록체인(100) 상에 인증서를 요청하는 트랜잭션일 수 있다.
도 3은 본 발명의 실시예에 따른 인증서 관리 시스템의 기능을 설명하기 위한 도면이다.
도 3에서는 하나의 사용자 노드가 특정한 트랜잭션을 생성하는 것으로 도시된다. 예를 들어, 제1 사용자 노드(210)는 제1 트랜잭션을 생성하는 노드이고, 제2 사용자 노드(220)는 제2 트랜잭션을 생성하는 노드로 도시된다. 하지만, 이는 설명의 편의를 위한 것으로서 제한되지 않는다. 예를 들어, 제3 사용자 노드(230)는 제3 트랜잭션을 생성할 수 있을 뿐만 아니라 제4 트랜잭션을 생성할 수도 있다. 다만, 인증서를 생성한 사용자 노드에서만 인증서를 폐기하는 등의 제한이 있을 수 있다. 이와 같은 사항에 대해서는 하기에서 상세하게 설명하도록 한다.
우선, 제1 사용자 노드(210)는 블록체인(100) 상에 인증서 생성 코드 및 인증서 생성 코드의 해시값을 제출하는 제1 트랜잭션을 생성할 수 있다. 예를 들어, 제1 사용자 노드(210)는 X509 인증서 생성 방식에 따라 인증서를 생성할 수 있는 인증서 생성 코드를 제1 트랜잭션을 통해 블록체인(100) 상에 제출(업로드)할 수 있다. 제1 사용자 노드(210)는 인증서 생성 코드의 SHA-512 해시값을 제1 트랜잭션을 통해 블록체인(100) 상에 제출할 수 있다. 이때, 인증서 생성 코드는 블록체인(100) 상에서 실행 가능한 컴퓨터 언어로 작성될 수 있다. 인증서 생성 코드는 블록체인(100)의 스마트 컨트랙트에서 실행 가능한 컴퓨터 언어로 작성될 수 있다. 일 실시예에 따르면, 제1 트랜잭션은 share_x509_rfc5280_certification_generation_code 트랜잭션일 수 있다.
제1 트랜잭션은 인증서 생성 코드 및 인증서 생성 코드의 해시값에 대한 사용 비용을 포함할 수 있다. 즉, 제1 사용자 노드(210)는 인증서 생성 코드 및 인증서 생성 코드의 해시값뿐만 아니라 이에 대한 사용 비용을 제출하는 제1 트랜잭션을 생성할 수 있다. 사용 비용은 블록체인(100) 상에 저장된 해당 인증서 생성 코드 및 인증서 생성 코드의 해시값을 이용할 때 사용자 노드에 부가되는 비용을 의미할 수 있다.
제2 사용자 노드(220)는 블록체인(100) 상에 인증서 생성 코드 및 인증서 생성 코드의 해시값을 이용하여 인증서를 생성 및 업로드하는 제2 트랜잭션을 생성할 수 있다. 인증서 생성 코드 및 인증서 생성 코드의 해시값을 이용하여 생성된 인증서는 블록체인(100) 상에 저장될 수 있다.
제2 사용자 노드(220)는 인증서의 생성에 필요한 파라미터, 인증서 생성 프로그램 트랜잭션 번호 및 인증서 생성 관련 메타 정보 등을 매개변수로 하여 제2 트랜잭션을 생성할 수 있다. 일 실시예에 따르면, 제2 트랜잭션은 upload_x509_rfc5280_certification 트랜잭션일 수 있다.
제2 사용자 노드(220)는 블록체인(100) 상에서 인증서 폐기 목록에 인증서를 등록시키는 제6 트랜잭션을 생성할 수 있다. 인증서의 폐기는 해당 인증서를 생성한 사용자 노드에서 폐기할 수 있다. 즉, 폐기 대상이 되는 인증서를 생성하지 않은 타 사용자 노드에서는 해당 인증서를 폐기하기 위한 제6 트랜잭션을 생성할 수 없다. 제2 사용자 노드(220)는 생성한 인증서를 폐기하기 위하여 제6 트랜잭션을 생성할 수 있으며, 제6 트랜잭션을 통해 블록체인(100)의 인증서 폐기 목록에 해당 인증서를 등록할 수 있다. 폐기된 인증서는 이후 사용할 수 없다.
제3 사용자 노드(230)는 블록체인(100) 상에 인증서의 안전성을 평가하는 보고서를 제출하는 제3 트랜잭션을 생성할 수 있다. 실시예에 따르면, 제3 사용자 노드(230)는 인증서와 함께 제2 트랜잭션을 통해 제출된 메타 정보(도메인 사이버 위협 기록, 도메인 변경 내역, 도메인 서버 지역 정보 등을 포함)를 열람할 수 있다. 제3 사용자 노드(230)는 제2 트랜잭션 등을 열람한 후 인증서에 대한 안전성을 평가함으로써 보고서를 생성할 수 있다. 구체적으로, 보고서는 인증서에 대한 안정성 및 위험 정도를 포함하는 신뢰도 정보와 신뢰도 정보에 따른 보상 정책을 포함할 수 있다. 여기서, 보상 정책은 해당 인증서를 사용함으로 인해 발생할 보안 피해 등에 대한 보상 계획을 의미할 수 있다. 보상 정책에 따라 보안 피해를 받은 사용자 노드에 지급되는 보상금은 제4 사용자 노드(240)에서 제출되는 소정의 보상 금액을 통해 충당될 수 있다.
제3 사용자 노드(230)는 스트링(string) 형태의 파라미터로 제3 트랜잭션을 생성하여 블록체인(100)에 보고서를 업로드할 수 있다.
제3 사용자 노드(230)는 기 제출된 보고서를 업데이트할 수 있다. 제3 사용자 노드(230)는 기 제출된 보고서를 업데이트하는 트랜잭션을 블록체인(100) 상에 생성할 수 있다. 이때, 보고서는 안전성을 감소시키는 방향으로만 가능할 수 있다. 예를 들어, 기 제출된 보고서의 안전성이 8점인 경우, 8점 이상의 보고서는 제출할 수 없다. 보고서가 업데이트 되는 경우, 기존 보고서에 대한 평가는 초기화될 수 있다.
한편, 제3 트랜잭션은 보고서의 대상이 되는 제2 트랜잭션을 생성한 제2 사용자 노드(220)에서는 생성할 수 없다. 이는 보고서에 대한 공정성을 확보하기 위함이다.
제4 사용자 노드(240)는 블록체인(100) 상에 보고서에 대한 찬반 투표를 제출하는 제4 트랜잭션을 생성할 수 있다.
제4 사용자 노드(240)는 제3 트랜잭션을 통해 제출된 보고서와 보상 정책을 열람하고 이에 대해 찬반 투표를 제출할 수 있다. 찬반 투표는 해당 보고서 및 보상 정책에 대한 1회에 한해 제출될 수 있으며, 찬반 투표가 제출된 경우 수정은 불가하다. 제4 사용자 노드(240)가 보고서 및 보상 정책에 대한 찬반 투표를 제출한 후, 동일한 보고서 및 보상 정책에 대해 찬반 투표를 다시 제출할 경우, 블록체인(100)의 스마트 컨트랙트에서는 기존 투표 내역에 기초하여 다시 제출된 찬반 투표를 거부할 수 있다.
제4 사용자 노드(240)는 블록체인(100) 상에 찬반 투표에 따른 보상 금액을 제출하는 제4 트랜잭션을 생성할 수 있다. 해당 보상 금액 중 일부는 해당 인증서를 사용함으로 인해 발생한 보안 피해에 대한 보상 금액으로서 이용될 수 있다. 또한, 해당 보상 금액 중 일부는 찬반 투표를 제출한 제4 사용자 노드(240)에 지급되는 상금으로 이용될 수 있다. 실시예에 따르면, 제5 사용자 노드(250)가 해당 인증서에 대한 사용을 허용할 경우, 찬성 투표를 제출한 제4 사용자 노드(240)는 소정의 상금을 지급받을 수 있다. 반대로, 제5 사용자 노드(250)가 해당 인증서에 대한 사용을 불허할 경우, 반대 투표를 제출한 제4 사용자 노드(240)는 소정의 상금을 지급받을 수 있다.
제5 사용자 노드(250)는 블록체인(100) 상에 인증서를 요청하는 제5 트랜잭션을 생성할 수 있다. 제5 사용자 노드(250)는 요청한 인증서를 열람할 수 있다. 이때, 제5 사용자 노드(250)는 인증서뿐만 아니라 생성 일서, 인증서 데이터, 인증서 관련 보고서 등을 함께 열람할 수 있다. 제5 사용자 노드(250)는 해당 인증서 열람시 소정의 사용료를 블록체인(100)에 제출할 수 있다. 제5 사용자 노드(250)는 요청한 인증서를 열람한 후, 해당 인증서에 대한 사용을 허가할 것인지 불허할 것인지를 결정할 수 있다. 해당 인증서에 대한 사용을 허가할 경우에는 해당 인증서를 통해 서버에 접속할 수 있다. 해당 인증서에 대한 사용을 불허할 경우에는 서버 접속을 해제할 수 있다. 한편, 제5 사용자 노드(250)의 상기 인증서에 대한 사용 허가 또는 사용 불가 결정에 따라, 찬성 투표를 제출한 제4 사용자 노드(240) 또는 반대 투표를 제출한 제4 사용자 노드(240)에 상금이 지급될 수 있다. 해당 상금에 대해서는 앞서 설명한 바 상세한 설명은 생략하도록 한다.
제5 사용자 노드(250)는 인증서 사용으로 인해 인증서 사용으로 인한 피해 발생시 보상 금액을 지급받을 수 있다. 보상 금액에 대해서는 상기에서 설명한 바 상세한 설명은 생략하도록 한다.
도 4는 본 발명의 실시예에 따른 인증서 생성 방법을 나타낸 순서도이다.
우선, 제1 사용자 노드(210)는 블록체인(100) 상에 인증서 생성 코드 및 인증서 생성 코드의 해시값을 제출하는 제1 트랜잭션을 생성할 수 있다(S410). 이때, 제1 트랜잭션은 인증서 생성 코드 및 인증서 생성 코드의 해시값에 대한 사용 비용을 포함할 수 있다. 즉, 제1 사용자 노드(210)는 인증서 생성 코드 및 인증서 생성 코드의 해시값을 사용할 경우 제2 사용자 노드(220)가 지불해야 하는 사용 비용을 지정할 수 있다.
그러면, 블록체인(100)은 인증서 생성 코드 및 인증서 생성 코드의 해시값을 스마트 컨트랙트에 저장할 수 있다(S420).
다음으로, 제2 사용자 노드(220)는 블록체인(100) 상에 인증서 생성 코드 및 인증서 생성 코드의 해시값을 이용하여 인증서를 생성 및 업로드하는 제2 트랜잭션을 생성할 수 있다(S430).
그러면, 블록체인(100)은 생성된 인증서를 스마트 컨트랙트에 저장할 수 있다(S440).
한편, 제2 사용자 노드(220)는 블록체인(100) 상에서 인증서 폐기 목록에 인증서를 등록시키는 제6 트랜잭션을 생성할 수도 있다. 인증서의 폐기는 해당 인증서를 생성한 사용자 노드가 폐기할 수 있다. 즉, 폐기 대상이 되는 인증서를 생성하지 않은 타 사용자 노드에서는 해당 인증서를 폐기하기 위한 제6 트랜잭션을 생성할 수 없다. 제2 사용자 노드(220)는 생성한 인증서를 폐기하기 위하여 제6 트랜잭션을 생성할 수 있으며, 제6 트랜잭션을 통해 블록체인(100)의 스마트 컨트랙트에 저장된 인증서 폐기 목록에 해당 인증서를 등록할 수 있다. 폐기된 인증서는 이후 사용할 수 없다.
제3 사용자 노드(230)는 블록체인(100) 상에 인증서의 안전성을 평가하는 보고서를 제출하는 제3 트랜잭션을 생성할 수 있다(S450). 보고서는 인증서에 대한 안정성 및 위험 정도를 포함하는 신뢰도 정보와 신뢰도 정보에 따른 보상 정책을 포함할 수 있다. 제3 사용자 노드(230)는 기 제출된 보고서를 업데이트할 수 있다. 제3 사용자 노드(230)는 기 제출된 보고서를 업데이트하는 트랜잭션을 블록체인(100) 상에 생성할 수 있다.
한편, 제3 트랜잭션은 보고서의 대상이 되는 제2 트랜잭션을 생성한 제2 사용자 노드(220)에서는 생성할 수 없다. 이는 보고서에 대한 공정성을 확보하기 위함이다.
그러면, 블록체인(100)은 생성된 보고서를 스마트 컨트랙트에 저장할 수 있다(S460).
제4 사용자 노드(240)는 블록체인(100) 상에 보고서에 대한 찬반 투표를 제출하는 제4 트랜잭션을 생성할 수 있다(S470). 제4 사용자 노드(240)는 제3 트랜잭션을 통해 제출된 보고서와 보상 정책을 열람하고 이에 대해 찬반 투표를 제출할 수 있다. 또한, 제4 사용자 노드(240)는 블록체인(100) 상에 찬반 투표에 따른 보상 금액을 제출하는 제4 트랜잭션을 생성할 수 있다.
그러면, 블록체인(100)은 찬반 투표에 관한 정보를 스마트 컨트랙트에 저장할 수 있다(S480).
제5 사용자 노드(250)는 블록체인(100) 상에 인증서를 요청하는 제5 트랜잭션을 생성할 수 있다(S490). 제5 사용자 노드(250)는 요청한 인증서를 열람한 후, 해당 인증서에 대한 사용을 허가할 것인지 불허할 것인지를 결정할 수 있다. 해당 인증서에 대한 사용을 허가할 경우에는 해당 인증서를 통해 서버에 접속할 수 있다. 해당 인증서에 대한 사용을 불허할 경우에는 서버 접속을 해제할 수 있다.
HTTPS 통신 환경에서 사용되는 인증서는 보안 통신 과정에서 접속 대상 사이트의 신원을 확인하고 안전성 확인을 목적으로 하고 있다. 이러한 인증서는 도메인 신분 확인 측면에서 유의미하다고 볼 수 있지만, 인증서 생성부터 관리, 폐기까지 하나의 TTP에 전적으로 의지하게 된다. 이러한 단일 회사에 의존하는 인증 구조는 사이버 공격 발생시 피해 보상에 있어 TTP와의 계약에 전적으로 의존하며, 이러한 의존적 성향에 의해 TTP가 사이버 공격의 대상이 될 수 있다. 본 발명은 HTTPS 환경에서 인증 과정에서 사용되는 인증서를 통한 도메인 신분 인증을 TTP없이 제공할 수 있는 블록체인 시스템과 다수결 투표 방식을 통해, 공격자가 인증서의 당위성을 조작하기 어렵게 하는 장점을 가진다. 뿐만 아니라, 본 발명은 경제적 관점에서 보상 방법까지 포함한다는 장점을 가진다.
본 발명은 사용자들은 유일한 TTP가 아닌 여러 서드 파티(third party)의 의견을 확인 할 수 있고 이에 대한 사용 결과를 검증한 노드들이 배상을 하여야 한다. 이에 따라, 검증을 수행하는 노드들이 배상 책임이 있음을 인지하고 인증서와 해당 도메인을 검증하므로, 사용자는 이를 신뢰하고 사용할 수 있다.
이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
100 : 블록체인
210 : 제1 사용자 노드
220 : 제2 사용자 노드
230 : 제3 사용자 노드
240 : 제4 사용자 노드
250 : 제5 사용자 노드

Claims (5)

  1. 인증서를 저장하는 블록체인; 및
    상기 인증서를 생성, 폐기, 평가 및 사용하는 복수의 사용자 노드;를 포함하고,
    상기 복수의 사용자 노드는,
    상기 블록체인 상에 인증서 생성 코드 및 상기 인증서 생성 코드의 해시값을 제출하는 제1 트랜잭션을 생성하는 제1 사용자 노드;
    상기 블록체인 상에 상기 인증서 생성 코드 및 상기 인증서 생성 코드의 해시값을 이용하여 상기 인증서를 생성 및 업로드하는 제2 트랜잭션을 생성하는 제2 사용자 노드; 및
    상기 블록체인 상에 상기 인증서의 안전성을 평가하는 보고서를 제출하는 제3 트랜잭션을 생성하는 제3 사용자 노드;
    상기 블록체인 상에 상기 보고서에 대한 찬반 투표 및 상기 찬반 투표에 따른 보상 금액을 제출하는 제4 트랜잭션을 생성하는 제4 사용자 노드; 및
    상기 블록체인 상에 상기 인증서를 요청하는 제5 트랜잭션을 생성하는 제5 사용자 노드;를 포함하는 인증서 관리 시스템.
  2. 제1항에 있어서,
    상기 제1 트랜잭션은,
    상기 제2 사용자 노드가 상기 인증서 생성 코드 및 상기 인증서 생성 코드의 해시값을 이용하여 상기 인증서를 생성할 경우 지불하는 사용 비용을 포함하는 인증서 관리 시스템.
  3. 제1항에 있어서,
    상기 보고서는,
    상기 인증서에 대한 안정성 및 위험 정도를 포함하는 신뢰도 정보와 상기 신뢰도 정보에 따른 보상 정책을 포함하는 인증서 관리 시스템.
  4. 제1항에 있어서,
    상기 보상 금액은,
    상기 인증서의 사용으로 인한 피해 발생시 상기 제5 사용자 노드에 지급되거나
    상기 제5 사용자 노드의 상기 인증서에 대한 사용 허가 또는 사용 불가 결정에 따라, 찬성 투표를 제출한 제4 사용자 노드 또는 반대 투표를 제출한 제4 사용자 노드에 상금으로 지급되는 인증서 관리 시스템.
  5. 제1항에 있어서,
    상기 제2 사용자 노드는,
    상기 블록체인 상에서 인증서 폐기 목록에 상기 인증서를 등록시키는 제6 트랜잭션을 생성하는 인증서 관리 시스템.
KR1020210014908A 2020-11-25 2021-02-02 블록체인 기반의 인증서 관리 시스템 KR102437042B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200160085 2020-11-25
KR1020200160085 2020-11-25

Publications (2)

Publication Number Publication Date
KR20220072699A KR20220072699A (ko) 2022-06-02
KR102437042B1 true KR102437042B1 (ko) 2022-08-29

Family

ID=81985575

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210014908A KR102437042B1 (ko) 2020-11-25 2021-02-02 블록체인 기반의 인증서 관리 시스템

Country Status (1)

Country Link
KR (1) KR102437042B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101637854B1 (ko) 2015-10-16 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
KR101877335B1 (ko) 2017-01-02 2018-08-09 주식회사 코인플러그 블록체인 및 이와 연동되는 머클 트리 구조 기반의 모바일 아이디를 이용하여 사용자를 비대면 인증하는 방법, 단말 및 이를 이용한 서버
KR101890587B1 (ko) 2016-10-13 2018-08-23 주식회사 코인플러그 머클 트리 구조를 사용하여 m of n 다중 서명에 의한 인증서 서비스를 제공하는 방법 및 이를 이용한 서버

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101637854B1 (ko) 2015-10-16 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
KR101890587B1 (ko) 2016-10-13 2018-08-23 주식회사 코인플러그 머클 트리 구조를 사용하여 m of n 다중 서명에 의한 인증서 서비스를 제공하는 방법 및 이를 이용한 서버
KR101877335B1 (ko) 2017-01-02 2018-08-09 주식회사 코인플러그 블록체인 및 이와 연동되는 머클 트리 구조 기반의 모바일 아이디를 이용하여 사용자를 비대면 인증하는 방법, 단말 및 이를 이용한 서버

Also Published As

Publication number Publication date
KR20220072699A (ko) 2022-06-02

Similar Documents

Publication Publication Date Title
US11196573B2 (en) Secure de-centralized domain name system
US11032252B2 (en) Distributed authentication between network nodes
JP6285454B2 (ja) エンティティ・ネットワーク・トランスレーション(ent)
US7350074B2 (en) Peer-to-peer authentication and authorization
Madala et al. Certificate transparency using blockchain
CN114172735A (zh) 基于智能合约的双链混合式区块链数据共享方法及系统
US20190132310A1 (en) Server authentication using multiple authentication chains
Chen et al. XAuth: Efficient privacy-preserving cross-domain authentication
KR102118962B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
Li et al. Decentralized public key infrastructures atop blockchain
CN114329529A (zh) 一种基于区块链的资产数据管理方法及系统
EP3966997B1 (en) Methods and devices for public key management using a blockchain
Garba et al. LightLedger: a novel blockchain-based domain certificate authentication and validation scheme
WO2018088475A1 (ja) 電子認証方法及びプログラム
KR102118935B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
El-Hajj et al. Ethereum for secure authentication of iot using pre-shared keys (psks)
CN113228560A (zh) 用于发行的发行设备和方法以及用于请求数字证书的请求设备和方法
CN114760071B (zh) 基于零知识证明的跨域数字证书管理方法、系统和介质
CN114567491A (zh) 一种基于零信任原则与区块链技术的医学病历共享方法与系统
KR102118947B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
Yang et al. An access control model based on blockchain master-sidechain collaboration
Saleem et al. ProofChain: An X. 509-compatible blockchain-based PKI framework with decentralized trust
TWI818209B (zh) 基於分散式分類帳之憑證鑑別及憑證發布之方法及系統
CN113302612B (zh) 一种用于跨链和跨网络数据传输的计算机实现方法、系统及装置
Durán et al. An architecture for easy onboarding and key life-cycle management in blockchain applications

Legal Events

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