KR20190111042A - 블록체인 노드들 간의 통신을 위한 방법, 장치와 전자 디바이스, 및 블록체인 기반 인증서 관리를 위한 방법, 장치와 전자 디바이스 - Google Patents

블록체인 노드들 간의 통신을 위한 방법, 장치와 전자 디바이스, 및 블록체인 기반 인증서 관리를 위한 방법, 장치와 전자 디바이스 Download PDF

Info

Publication number
KR20190111042A
KR20190111042A KR1020197021995A KR20197021995A KR20190111042A KR 20190111042 A KR20190111042 A KR 20190111042A KR 1020197021995 A KR1020197021995 A KR 1020197021995A KR 20197021995 A KR20197021995 A KR 20197021995A KR 20190111042 A KR20190111042 A KR 20190111042A
Authority
KR
South Korea
Prior art keywords
node
digital certificate
certificate
blockchain
information
Prior art date
Application number
KR1020197021995A
Other languages
English (en)
Other versions
KR102268950B1 (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 KR20190111042A publication Critical patent/KR20190111042A/ko
Application granted granted Critical
Publication of KR102268950B1 publication Critical patent/KR102268950B1/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • H04L2209/38

Abstract

제1 노드에 의해 전송되는 제1 통신 요청이 제2 노드에 의해 수신되는데, 여기서 제1 통신 요청은 제1 노드의 디지털 인증서를 포함하고, 제1 노드의 디지털 인증서는 제1 노드 및 제2 노드를 포함하는 블록체인에 저장된다. 제1 노드의 디지털 인증서가 유효한지의 여부가, 제1 통신 요청 및 인증서 유효성 정보에 기초하여 제2 노드를 사용하여 검증되는데, 여기서 인증서 유효성 정보는 블록체인에 저장되고 노드의 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되며, 제1 노드의 디지털 인증서가 유효한 경우, 제1 노드에 대한 통신 연결을 확립할지의 여부가 제2 노드에 의해 결정된다.

Description

블록체인 노드들 간의 통신을 위한 방법, 장치와 전자 디바이스, 및 블록체인 기반 인증서 관리를 위한 방법, 장치와 전자 디바이스
관련 출원에 대한 교차 참조
본 출원은 2017년 7월 26일자로 출원된 중국 특허 출원 제201710617599.7호에 대한 우선권을 주장하는데, 상기 중국 특허 출원은 참조에 의해 그 전체가 본원에 통합된다.
기술 분야
본 출원은 컴퓨터 기술의 분야에 관한 것으로, 특히, 블록체인 노드 사이의 통신을 위한 방법, 장치, 및 전자 디바이스, 및 블록체인 기반의 디지털 인증서 관리를 위한 방법, 장치, 및 전자 디바이스에 관한 것이다.
컴퓨터 기술의 발달에 따라, 블록체인 기술(분산 원장 기술(distributed ledger technology)로도 또한 칭해짐)이, 탈집중화, 개방성 및 투명성, 무단 변경 방지(tamper-resistance) 및 신뢰성(dependability)과 같은 이점 때문에, 선호되며, 따라서, 많은 분야, 예를 들면, 지능형 계약, 증권 거래, 전자 상거래, 사물 인터넷(Internet of Things), 소셜 커뮤니케이션, 파일 저장, 존재 증명, 신원 인증(identity authentication), 및 지분 참여형 크라우드펀딩(equity crowdfunding)에 널리 적용된다.
현재, 블록체인 시스템은 주로 다음의 세 가지 타입으로 분류된다: 퍼블릭 블록체인(public blockchain), 프라이빗 블록체인(private blockchain), 및 컨소시엄 블록체인(consortium blockchain). 이들 세 가지 타입의 블록체인은 개방 대상에서 주로 상이하다. 퍼블릭 블록체인은 모든 사람에게 개방된다. 프라이빗 블록체인은 단일의 개인, 엔티티 또는 조직에게 개방된다. 컨소시엄 블록체인은 특정한 개인, 엔티티 또는 조직에게 개방되며, 다른 개인, 엔티티 또는 조직에게는 개방되지 않는다.
블록체인에서, 특히 특정한 조직에 대한 컨소시엄 블록체인에서, 통신 보안을 향상시키기 위해, 인증 기관 센터(certificate authority center)(CA 센터)는 일반적으로, 블록체인 통신에 참여하는 각각의 노드에 노드 인증서를 발행하도록 설계되며, 그 결과, 유효한 인증서를 보유하는 노드만이 서로 통신할 수 있다. 몇몇 구현예에서, 발행되는 노드 인증서 및 인증서 유효성에 관련되는 정보, 예를 들면, 인증서 폐기 목록은 CA 센터 내의 서버에 저장된다. 블록체인 내의 노드가 서로 통신할 필요가 있는 경우, 인증서의 유효성 및 통신 프로세스의 완전한 검증을 확인하기 위해, CA 센터에 저장되어 있으며 인증서 유효성에 관련되는 정보는 호출되어 조회된다. 그 방법의 주요 단점은 다음과 같다:
블록체인 노드 사이의 보안 통신은, 통신 연결이 확립될 때 노드 인증서의 유효성의 검증에 의존한다. 일단 CA 센터가 해킹되면, 해커는 인증서 유효성에 관련되는 정보를 임의적으로 수정할 수 있다. 예를 들면, 해커는 인증서 폐기 목록을 무단 변경하여 폐기된 인증서를 다시 정상으로 복원할 수 있다. 해커는 또한, 이들 이전에 폐기된 인증서를 사용하여 인가없이 블록체인에 참여할 수 있고, 블록체인 내의 노드는 무단 변경된 정보에 기초하여 인증서 유효성을 확인하는데, 이것은 블록체인의 보안을 위협한다.
본 출원의 구현예는, 블록체인 노드 사이의 통신의 보안을 향상시키기 위한 그리고 블록체인 네트워크의 보안을 더욱 향상시키기 위한, 블록체인 노드 사이의 통신을 위한 방법, 장치, 및 전자 디바이스, 및 블록체인 기반의 디지털 인증서 관리를 위한 방법, 장치, 및 전자 디바이스를 제공한다.
다음의 기술적 솔루션은 본 출원의 구현예에서 사용된다:
제1 양태에 따르면, 본 출원의 구현예는 다음의 것을 포함하는 블록체인 노드 사이의 통신을 위한 방법을 제공한다: 제2 노드에 의해, 제1 노드에 의해 전송되는 제1 통신 요청 - 제1 통신 요청은 제1 노드의 디지털 인증서를 포함하고, 제1 노드의 디지털 인증서는, 제1 노드 및 제2 노드를 포함하는 블록체인에 저장됨 - 을 수신하는 것; 제1 통신 요청 및 인증서 유효성 정보 - 인증서 유효성 정보는 블록체인에 저장되고, 노드의 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용됨 - 에 기초하여, 제2 노드에 의해, 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하는 것; 및 제1 노드의 디지털 인증서가 유효한 경우, 제2 노드에 의해, 제1 노드에 대한 통신 연결을 확립할지의 여부를 결정하는 것.
바람직하게는, 제1 양태에서 제공되는 블록체인 노드 사이의 통신을 위한 방법은: 제2 노드에 의해, 제2 통신 요청 - 제2 통신 요청은 제2 노드의 디지털 인증서를 포함하고, 그 결과, 제1 노드는, 제2 통신 요청 및 인증서 유효성 정보에 기초하여, 제2 노드의 디지털 인증서가 유효한지의 여부를 검증함 - 을 제1 노드로 전송하는 것을 더 포함하고; 그리고 제1 노드의 디지털 인증서가 유효한 경우, 제2 노드에 의해, 제1 노드에 대한 통신 연결을 확립할지의 여부를 결정하는 것은: 제1 노드의 디지털 인증서가 유효하고 제2 노드의 디지털 인증서가 유효하다는 것을 제1 노드가 검증하는 경우, 제2 노드에 의해, 제1 노드에 대한 통신 연결을 확립하는 것을 포함한다.
바람직하게는, 제1 양태에서 제공되는 블록체인 노드 사이의 통신을 위한 방법에서, 인증서 유효성 정보는 폐기되는 무효한 디지털 인증서를 기록하고, 제1 통신 요청 및 인증서 유효성 정보에 기초하여 제2 노드에 의해, 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하는 것은 다음의 것을 포함한다: 제2 노드에 의해, 제1 통신 요청에 기초하여 제1 노드의 디지털 인증서를 결정하는 것; 블록체인에 저장되어 있는 인증서 유효성 정보에 기초하여 제2 노드에 의해, 제1 노드의 디지털 인증서가 인증서 유효성 정보에 기록되는지의 여부를 검증하는 것; 및 제1 노드의 디지털 인증서가 인증서 유효성 정보에 기록되는 경우, 제1 노드의 디지털 인증서가 무효하다는 것을 검증하는 것.
바람직하게는, 제1 양태에서 제공되는 블록체인 노드 사이의 통신을 위한 방법에서, 인증서 유효성 정보는 유효한 디지털 인증서를 기록하고, 제1 통신 요청 및 인증서 유효성 정보에 기초하여 제2 노드에 의해, 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하는 것은 다음의 것을 포함한다: 제2 노드에 의해, 제1 통신 요청에 기초하여 제1 노드의 디지털 인증서를 결정하는 것; 블록체인에 저장되어 있는 인증서 유효성 정보에 기초하여 제2 노드에 의해, 제1 노드의 디지털 인증서가 인증서 유효성 정보에 기록되는지의 여부를 검증하는 것; 및 제1 노드의 디지털 인증서가 인증서 유효성 정보에 기록되는 경우, 제1 노드의 디지털 인증서가 유효하다는 것을 검증하는 것.
바람직하게는, 제2 노드에 의해, 제1 노드에 의해 전송되는 제1 통신 요청을 수신하기 이전에, 제1 양태에 제공되는 블록체인 노드 사이의 통신을 위한 방법은: 제1 노드의 디지털 인증서를 블록체인에 기록하는 것에 의해, 제1 노드 및 제2 노드를 포함하는 블록체인에 제1 노드의 디지털 인증서를 저장하는 것을 더 포함한다.
바람직하게는, 제1 양태에서 제공되는 블록체인 노드 사이의 통신을 위한 방법에서, 인증서 유효성 정보는, 블록체인에 의해 수신되는 폐기된 무효한 디지털 인증서 및/또는 유효한 디지털 인증서에 기초하여 결정된다.
바람직하게는, 제1 양태에서 제공되는 블록체인 노드 사이의 통신을 위한 방법에서, 제2 노드에 의해 수신되는 제1 통신 요청은, 보안 소켓 계층(Secure Sockets Layer; SSL) 프로토콜 또는 전송 계층 보안(Transport Layer Security; TLS) 프로토콜에 기초하여 제1 노드에 의해 전송된다.
제2 양태에 따르면, 본 출원의 구현예는 다음의 것을 포함하는 블록체인 기반의 디지털 인증서 관리를 위한 방법을 제공한다: CA 센터에 의해 전송되는 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 수신하는 것; 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하는 것; 및 디지털 인증서 및 인증서 유효성 정보를 블록체인에 저장하는 것 - 디지털 인증서 및 인증서 유효성 정보는, 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 제1 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하기 위해 사용됨 - .
바람직하게는, 제2 양태에서 제공되는 블록체인 기반의 디지털 인증서 관리를 위한 방법은 다음의 것을 더 포함한다: 블록체인 내의 제1 노드에 의해, 인증서 신청 요청 - 인증서 신청 요청은 제1 노드의 신청 정보를 포함하고, 제1 노드의 디지털 인증서에 대해 CA 센터에게 신청하기 위해 사용됨 - 을 CA 센터로 전송하는 것.
제3 양태에 따르면, 본 출원의 구현예는 다음의 것을 포함하는 블록체인 기반의 디지털 인증서 관리를 위한 방법을 제공한다: 블록체인 내의 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 블록체인으로 전송하고, 그 결과, 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 제1 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하도록, 블록체인이, 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하고, 디지털 인증서 및 인증서 유효성 정보를 저장하는 것.
바람직하게는, 제3 양태에서 제공되는 블록체인 기반의 디지털 인증서 관리를 위한 방법은 다음의 것을 더 포함한다: 블록체인 내의 노드에 의해 전송되는 인증서 신청 요청 - 인증서 신청 요청은 제1 노드의 신청 정보를 포함하고 제1 노드의 디지털 인증서에 대해 CA 센터에게 신청하기 위해 사용됨 - 을 수신하는 것; 제1 노드의 신청 정보를 수신 및 리뷰하는 것; 및 제1 노드의 신청 정보가 리뷰를 통과하는 경우, 제1 노드에게 디지털 인증서 - 디지털 인증서의 유효성 상태 정보는 유효함임 - 를 발행하는 것.
제4 양태에 따르면, 본 출원의 구현예는 블록체인 노드 사이의 통신을 위한 장치를 제공한다. 장치는 블록체인 내의 제2 노드에 적용되며 다음의 것을 포함한다: 제1 노드에 의해 전송되는 제1 통신 요청 - 제1 통신 요청은 제1 노드의 디지털 인증서를 포함하고, 제1 노드의 디지털 인증서는, 제1 노드 및 제2 노드를 포함하는 블록체인에 저장됨 - 을 수신하도록 구성되는 통신 요청 수신 모듈; 제1 통신 요청 및 인증서 유효성 정보 - 인증서 유효성 정보는 블록체인에 저장되고, 노드의 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용됨 - 에 기초하여, 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하도록 구성되는 유효성 검증 모듈; 및 제1 노드의 디지털 인증서가 유효한 경우, 제1 노드에 대한 통신 연결을 확립할지의 여부를 결정하도록 구성되는 통신 연결 확립 모듈.
바람직하게는, 제4 양태에서 제공되는 블록체인 노드 사이의 통신을 위한 장치는: 제2 통신 요청 - 제2 통신 요청은 제2 노드의 디지털 인증서를 포함하고, 그 결과, 제1 노드는, 제2 통신 요청 및 인증서 유효성 정보에 기초하여, 제2 노드의 디지털 인증서가 유효한지의 여부를 검증함 - 을 제1 노드로 전송하도록 구성되는 통신 요청 전송 모듈을 더 포함하고; 그리고 통신 연결 확립 모듈은 구체적으로: 제1 노드의 디지털 인증서가 유효하고 제2 노드의 디지털 인증서가 유효하다는 것을 제1 노드가 검증하는 경우, 제1 노드에 대한 통신 연결을 확립하도록 구성된다.
제5 양태에 따르면, 본 출원의 구현예는 전자 디바이스를 제공한다. 전자 디바이스는 블록체인 내의 제2 노드에 적용되며: 프로세서; 및 컴퓨터 실행 가능 명령어를 저장하도록 구성되는 메모리를 포함하되, 실행 가능 명령어는, 다음의 동작을 수행하도록 프로세서에 의해 실행된다: 제1 노드에 의해 전송되는 제1 통신 요청 - 제1 통신 요청은 제1 노드의 디지털 인증서를 포함하고, 제1 노드의 디지털 인증서는, 제1 노드 및 제2 노드를 포함하는 블록체인에 저장됨 - 을 수신하는 동작; 제1 통신 요청 및 인증서 유효성 정보 - 인증서 유효성 정보는 블록체인에 저장되고, 노드의 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용됨 - 에 기초하여, 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하는 동작; 및 제1 노드의 디지털 인증서가 유효한 경우, 제1 노드에 대한 통신 연결을 확립할지의 여부를 결정하는 동작.
바람직하게는, 제5 양태에서 제공되는 전자 디바이스에서, 실행 가능 명령어는 다음의 동작을 또한 수행하도록 프로세서에 의해 실행된다: 제2 통신 요청 - 제2 통신 요청은 제2 노드의 디지털 인증서를 포함하고, 그 결과, 제1 노드는, 제2 통신 요청 및 인증서 유효성 정보에 기초하여, 제2 노드의 디지털 인증서가 유효한지의 여부를 검증함 - 을 제1 노드로 전송하는 동작; 및 제1 노드의 디지털 인증서가 유효하고, 제2 노드의 디지털 인증서가 유효하다는 것을 제1 노드가 검증하는 경우, 제2 노드에 의해, 제1 노드에 대한 통신 연결을 확립하는 동작.
제6 양태에 따르면, 본 출원의 구현예는 블록체인 기반의 디지털 인증서 관리를 위한 장치를 제공한다. 장치는 블록체인에 적용되며 다음의 것을 포함한다: CA 센터에 의해 전송되는 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 수신하도록 구성되는 인증서 정보 수신 모듈; 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하도록 구성되는 인증서 유효성 정보 결정 모듈; 및 블록체인에 디지털 인증서 및 인증서 유효성 정보를 저장하도록 구성되는 스토리지 모듈 - 디지털 인증서 및 인증서 유효성 정보는, 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 제1 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하기 위해 사용됨 - .
제7 양태에 따르면, 본 출원의 구현예는 전자 디바이스를 제공한다. 전자 디바이스는 블록체인에 적용되며: 프로세서; 및 컴퓨터 실행 가능 명령어를 저장하도록 구성되는 메모리를 포함하되, 실행 가능 명령어는, 다음의 동작을 수행하도록 프로세서에 의해 실행된다: CA 센터에 의해 전송되는 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 수신하는 동작; 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하는 동작; 및 디지털 인증서 및 인증서 유효성 정보를 블록체인에 저장하는 동작 - 디지털 인증서 및 인증서 유효성 정보는, 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 제1 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하기 위해 사용됨 - .
제8 양태에 따르면, 본 출원의 구현예는 블록체인 기반의 디지털 인증서 관리를 위한 장치를 제공한다. 이 장치는 CA 센터에 적용되며 다음의 것을 포함한다: 블록체인 내의 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 블록체인으로 전송하도록 구성되며, 그 결과, 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 제1 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하도록, 블록체인이, 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하고, 디지털 인증서 및 인증서 유효성 정보를 저장하게 되는 전송 모듈.
바람직하게는, 제8 양태에서 제공되는 블록체인 기반의 디지털 인증서 관리를 위한 장치는 다음의 것을 더 포함한다: 블록체인 내의 노드에 의해 전송되는 인증서 신청 요청 - 인증서 신청 요청은 제1 노드의 신청 정보를 포함하고 제1 노드의 디지털 인증서에 대해 CA 센터에게 신청하기 위해 사용됨 - 을 수신하도록 구성되는 신청 요청 수신 모듈; 제1 노드의 신청 정보를 수신 및 리뷰하도록 구성되는 수신 및 리뷰 모듈(receiving and reviewing module); 및 제1 노드의 신청 정보가 리뷰를 통과하는 경우, 제1 노드에게 디지털 인증서 - 디지털 인증서의 유효성 상태 정보는 유효임 - 를 발행하도록 구성되는 발행 및 전송 모듈.
제9 양태에 따르면, 본 출원의 구현예는 전자 디바이스를 제공한다. 전자 디바이스는 CA 센터에 적용되며: 프로세서; 및 컴퓨터 실행 가능 명령어를 저장하도록 구성되는 메모리를 포함하되, 실행 가능 명령어는, 다음의 동작을 수행하도록 프로세서에 의해 실행된다: 블록체인 내의 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 블록체인으로 전송하고, 그 결과, 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 제1 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하도록, 블록체인이, 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하고, 디지털 인증서 및 인증서 유효성 정보를 저장하는 동작.
바람직하게는, 제9 양태에서 제공되는 전자 디바이스에서, 실행 가능 명령어는 다음의 동작을 추가로 수행하도록 프로세서에 의해 실행된다: 블록체인 내의 노드에 의해 전송되는 인증서 신청 요청 - 인증서 신청 요청은 제1 노드의 신청 정보를 포함하고 제1 노드의 디지털 인증서에 대해 CA 센터에게 신청하기 위해 사용됨 - 을 수신하는 동작; 제1 노드의 신청 정보를 수신 및 리뷰하는 동작; 및 제1 노드의 신청 정보가 리뷰를 통과하는 경우, 제1 노드에게 디지털 인증서 - 디지털 인증서의 유효성 상태 정보는 유효임 - 를 발행하는 동작.
본 출원의 구현예는 다음의 유리한 효과를 달성하기 위해 이전의 기술 솔루션 중 적어도 하나를 사용할 수 있다.
본 출원의 기술적 솔루션을 사용하는 것에 의해, 제1 노드가 통신 요청을 전송할 때 필요로 되는 디지털 인증서는 블록체인에 저장되고, 제1 노드의 디지털 인증서가 유효한지의 여부를 제2 노드가 검증할 때 기초로서 사용되는 인증서 유효성 정보도 또한 블록체인에 저장된다. 블록체인의 탈집중화, 개방성 및 투명성, 및 무단 변경 방지와 같은 이점 때문에, CA 센터가 해킹되더라도, 해커는 블록체인에 저장되어 있는 디지털 인증서 및 인증서 유효성 정보를 무단 변경할 수 없고, 따라서, 무효한 디지털 인증서를 사용하여 블록체인에 참여할 수 없다. 인증서의 유효성 정보는 블록체인에 저장되며, 노드 인증서의 유효성 상태 정보를 정확하게 반영할 수 있다. 따라서, 인증서의 유효성 정보를 사용하여 노드의 인증서가 유효한지의 여부를 검증하는 것에 의해, 블록체인 노드 사이의 통신의 보안을 보장하고 블록체인 네트워크의 보안을 더욱 향상시키도록, 승인되지 않은 노드가 블록체인에 참여하는 것이 방지될 수 있다.
여기에서 설명되는 첨부의 도면은, 본 출원의 더 나은 이해를 제공하도록 그리고 본 출원의 일부를 구성하도록 의도된다. 본 출원의 예시적인 구현예 및 본 출원의 구현예의 설명은, 본 출원을 설명하도록 의도되며, 본 출원에 대한 제한을 구성하지는 않는다. 첨부의 도면에서:
도 1은, 본 출원의 구현예에 따른, 블록체인 노드 사이의 통신을 위한 방법을 예시하는 개략적인 플로우차트이다.
도 2는, 본 출원의 구현예에 따른, 블록체인 노드 사이의 통신을 위한 방법의 단순화된 시나리오를 예시하는 개략도이다.
도 3은, 본 출원의 구현예에 따른, 블록체인 기반의 디지털 인증서 관리를 위한 방법을 예시하는 개략적인 플로우차트이다.
도 4는, 본 출원의 구현예에 따른, 블록체인 및 CA 센터가 디지털 인증서를 관리하기 위해 상호 작용하는 시나리오를 예시하는 개략도이다.
도 5는, 본 출원의 구현예에 따른, 블록체인에 적용되는 블록체인 노드 사이의 통신을 위한 장치를 예시하는 개략적인 구조도이다.
도 6은, 본 출원의 구현예에 따른, 블록체인에 적용되는 블록체인 노드 사이의 통신을 위한 다른 장치를 예시하는 개략적인 구조도이다.
도 7은, 본 출원의 구현예에 따른, 블록체인 내의 노드에 적용되는 전자 디바이스를 예시하는 개략적인 구조도이다.
도 8은, 본 출원의 구현예에 따른, 블록체인에 적용되는 디지털 인증서 관리를 위한 장치를 예시하는 개략적인 구조도이다.
도 9는, 본 출원의 구현예에 따른, 블록체인에 적용되는 디지털 인증서 관리를 위한 전자 디바이스를 예시하는 개략적인 구조도이다.
도 10은, 본 출원의 구현예에 따른, CA 센터에서 디지털 인증서 관리를 위한 전자 디바이스를 예시하는 개략적인 구조도이다.
도 11은, 본 개시의 구현예에 따른, 블록체인 노드 사이의 통신을 위한 컴퓨터 구현 방법의 예를 예시하는 플로우차트이다.
본 출원의 목적, 기술적 솔루션, 및 이점을 더욱 명확하게 만들기 위해, 하기에서는, 본 출원의 특정한 구현예 및 대응하는 첨부의 도면을 참조하여 본 출원의 기술적 솔루션을 설명한다. 명백하게, 설명되는 구현예는 본 출원의 구현예의 전체가 아닌 일부에 불과하다. 창의적인 노력 없이 본 출원의 구현예에 기초하여 기술 분야에서 통상의 기술을 가진 자에 의해 획득되는 다른 구현예는 본 출원의 보호 범위 내에 속할 것이다.
현재, 블록체인 시스템은 주로 다음의 세 가지 타입으로 분류된다: 퍼블릭 블록체인, 프라이빗 블록체인, 및 컨소시엄 블록체인. 이들 세 가지 타입의 블록체인은 개방 대상에서 주로 상이하다. 퍼블릭 블록체인은 모든 사람에게 개방된다. 누구나 트랜잭션을 판독하고 전송할 수 있으며 트랜잭션은 효과적으로 확인될 수 있다. 누구나 합의 프로세스에 참여할 수 있다. 통상적인 애플리케이션은, 비트코인(bitcoin), 이더리움(Ethereum), 하이퍼레저(hyperledger), 등등을 포함한다. 프라이빗 블록체인은 단일의 개인, 엔티티 또는 조직에게 개방된다. 기록 퍼미션(write permission)은 오직 하나의 조직에 의해서만 제어된다. 판독 퍼미션(read permission)은 외부에 공개될 수 있거나 또는 랜덤하게 제한될 수 있다. 통상적인 애플리케이션은 Linux Foundation(리눅스 파운데이션)의 하이퍼레저 프로젝트, 등등, R3CEVCorda 플랫폼, 및 Gem Health 네트워크를 포함한다. 컨소시엄 블록체인은 퍼블릭 블록체인과 프라이빗 블록체인 사이에서 서비스를 제공하며, 특정한 개인, 엔티티, 또는 조직에게 개방되고, 다른 개인, 엔티티 또는 조직은 제한된다.
블록체인에서, 특히 복수의 특정한 조직에 대한 컨소시엄 블록체인에서, 통신 보안을 향상시키기 위해, 인증 기관 센터(CA 센터)가 일반적으로 설계된다. CA 조직으로도 또한 칭해지는 CA 센터는, 전자 상거래 트랜잭션에서 신뢰를 받는 써드파티로서 역할을 하며, 퍼블릭 키 시스템에서 퍼블릭 키의 유효성 검증을 담당한다. CA 센터는, 퍼블릭 키를 사용하는 각각의 노드 유저에게 디지털 인증서를 발행한다. 디지털 인증서의 기능은, 인증서에 나열되는 유저가 인증서에 나열되는 퍼블릭 키를 유효하게 소유하였다는 것을 증명하는 것이다. 공격자가 인증서를 위조하거나 또는 변경하는 것을 방지하기 위해, CA 센터는 각각의 디지털 인증서에 디지털적으로 서명한다.
블록체인 애플리케이션에서, 블록체인의 CA 센터는 블록체인 내의 노드 사이의 상호 인증을 구현할 수 있고 블록체인 노드 사이의 통신의 보안을 향상시킬 수 있다. 블록체인은 하나의 CA 센터를 유지하고, 블록체인 통신에 참여하는 각각의 노드에게 노드의 디지털 인증서(노드 인증서로도 또한 칭해짐)를 발행하며, 그 결과, 유효한 인증서를 보유하는 노드만이 서로 통신할 수 있다.
몇몇 구현예에서, 발행된 노드 인증서 및 인증서 유효성에 관련되는 정보(인증서에 대응하는 노드가 블록체인에 참여하도록 허용되는지의 여부를 반영함) 둘 모두는 CA 센터의 서버에 저장되고, 통신 프로세스의 검증을 완료하기 위해 통신 동안 블록체인 내의 노드에 의해 호출되어 조회될 수 있다. 블록체인 노드 사이의 보안 통신이 통신 연결이 확립될 때 노드 인증서 유효성의 검증에 의존하기 때문에, 그 방법에는 상대적으로 큰 보안 위험이 존재한다. 이전의 구현 솔루션에서, CA 센터에 의해 발행되는 노드 인증서 및 인증서 유효성에 관련되는 정보 둘 모두는 CA 센터의 서버에 저장된다. 일단 CA 센터가 해킹되면, 해커는 인증서 유효성에 관련되는 정보를 임의적으로 수정할 수 있다. 예를 들면, 해커는 인증서 폐기 목록을 변경할 수 있고 폐기된 인증서를 정상으로 복원할 수 있다. 해커는 이들 이전에 폐기된 인증서를 사용하여 인가없이 블록체인에 참여할 수 있고, 그에 의해, 블록체인의 보안을 위협할 수 있다.
또한, 이전의 구현 솔루션에서, 노드 인증서 유효성을 검증하기 위해, 블록체인은, CA 센터에 저장되며 인증서 유효성에 관련되는 정보를 원격으로 호출할 필요가 있다. 결과적으로, 응답 속도는 느릴 수 있고, 정보가 송신 동안 인터셉트되고, 정보 호출 속도 및 보안과 관련되는 위험이 발생할 수 있으며, 따라서, 노드 인증서 유효성의 검증이 영향을 받는다.
따라서, 본 출원의 구현예는, 블록체인 노드 사이의 통신 보안을 향상시키고 블록체인 네트워크의 보안을 더욱 향상시키기 위한, 블록체인 노드 사이의 통신을 위한 방법, 장치, 및 전자 디바이스, 및 블록체인 기반의 디지털 인증서 관리를 위한 방법, 장치, 및 전자 디바이스를 제공한다.
본 출원의 구현예에서 제공되는 기술적 솔루션은, 첨부의 도면을 참조하여 이하에서 상세하게 설명된다.
도 1에서 도시되는 바와 같이, 본 출원의 구현예는 블록체인 노드 사이의 통신을 위한 방법을 제공한다. 그 방법은 구체적으로 다음의 단계를 포함할 수 있다:
S101. 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청 - 제1 통신 요청은 제1 노드의 디지털 인증서를 포함하고, 제1 노드의 디지털 인증서는, 제1 노드 및 제2 노드를 포함하는 블록체인에 저장됨 - 을 수신한다.
S103. 제2 노드는, 제1 통신 요청 및 인증서 유효성 정보 - 인증서 유효성 정보는 블록체인에 저장되고, 노드의 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용됨 - 에 기초하여, 제1 노드의 디지털 인증서가 유효한지의 여부를 검증한다.
S105. 제1 노드의 디지털 인증서가 유효한 경우, 제2 노드는 제1 노드에 대한 통신 연결을 확립한다.
이전의 구현예에서의 제1 노드 및 제2 노드는 블록체인 내의 임의의 두 개의 상이한 노드일 수 있다는 것이 이해될 수 있다. 블록체인 내의 제1 노드(이것은 블록체인 내의 임의의 노드일 수 있음)가 제2 노드(이것은 블록체인 내의 제1 노드 이외의 임의의 노드일 수 있음)와 통신할 것으로 예상되는 경우, CA 센터에 의해 인증되는 제1 노드의 유효한 신원을 제2 노드에게 증명하기 위해, 제1 노드는 제1 노드의 디지털 인증서를 통신 요청에 추가할 수 있고, 통신 요청을 제2 노드로 전송할 수 있다. 이 상호 작용 프로세스에 적용 가능한 시나리오는 다음의 것일 수 있다: 제1 노드는 제2 노드와 통신하기를 기대하고, 통신 연결을 확립하기 이전에, 제1 노드의 통신 요청에 동의할지의 여부를 결정하기 위해, 제2 노드는, 통신을 요청하는 제1 노드가 인가된 노드인지의 여부를 먼저 검증한다. 이 시나리오에서, 제2 노드에 대응하는 제1 노드는 이전의 제1 통신 요청을 제2 노드로 전송하고, 검증을 위해 제1 노드의 디지털 인증서를 제2 노드로 전송하고; 그리고 그 다음, 제1 노드는 제2 노드로부터 응답 또는 피드백을 수신하기 위해 대기한다. 예를 들면, 응답 또는 피드백은, 디지털 인증서 검증 결과: 유효 또는 무효일 수 있거나, 또는 제1 노드의 디지털 인증서가 유효하다는 것을 제2 노드가 검증한 이후 통신 연결을 확립할 것을 결정하는 것을 나타내는 정보일 수 있거나, 또는 제1 노드의 검증을 위해 제2 노드에 의해 제1 노드로 전송되는 제2 노드의 디지털 인증서일 수 있다.
블록체인 내의 제2 노드(이것은 블록체인 내의 임의의 노드일 수 있음)가 제1 노드(이것은 블록체인 내의 제2 노드 이외의 임의의 노드일 수 있음)와 통신할 것으로 예상되는 경우, 단계 S101 이전에, 사전 단계가 포함될 수 있다는 것이 또한 이해될 수 있다: 제1 노드와의 세션을 확립할 것을 요청하기 위해 그리고 검증을 위해 제1 노드의 디지털 인증서를 전송할 것을 제1 노드에게 요청하기 위해, 제2 노드는 핸드 셰이크 요청을 상기 제1 노드에 전송하고; 응답에서, 제1 노드는, 그 다음, 이전의 제1 통신 요청을 제2 노드로 전송할 수 있고, 검증을 위해 제1 노드의 디지털 인증서를 제2 노드로 전송한다. 이 상호 작용 프로세스에 적용 가능한 시나리오는 다음의 것일 수 있다: 제2 노드는 제1 노드와 통신하기를 기대하고, 통신 연결을 확립할 때, 제1 노드에 대한 통신 연결을 확립할지의 여부를 결정하기 위해, 제2 노드는, 블록체인 내의 제1 노드가 인가된 노드인지의 여부를 먼저 검증할 것으로 예상된다. 이전의 시나리오와 마찬가지로, 제2 노드는, 다양한 타입의 콘텐츠를 포함하며 다양한 형태의 정보를 제1 노드에 피드백할 수 있고, 세부 사항은 여기서는 설명되지 않는다.
통신 보안을 보장하기 위해, 통신 요청을 수신하는 제2 노드는, 제2 노드에 대한 통신 연결을 확립하는 제1 노드가 유효한 신원을 갖는지의 여부를 검증할 필요가 있고, 구체적으로는, 제2 노드는, 제1 노드에 의해 전송되는 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한 디지털 인증서인지의 여부를 검증할 수 있다는 것이 이해될 수 있다. 특정한 구현예에서, 본 출원은 블록체인에 저장되어 있는 인증서 유효성 정보를 사용하여 제1 노드의 디지털 인증서를 검증한다.
본 출원의 구현예에서, 블록체인 내의 각각의 노드의 디지털 인증서 및 이전의 인증서 유효성 정보는 노드를 포함하는 블록체인에 저장되고, 디지털 인증서는, 디지털 인증서를 블록체인에 기록하는 것에 의해 블록체인에 저장될 수 있다. 따라서, 본 출원의 구현예에서, 인증서 유효성 검증 결과가 올바르고 정확한 것을 보장하기 위해, 그리고 블록체인 네트워크의 보안 및 안정성을 보장하기 위해, 탈집중화 및 무단 변경 방지와 같은 블록체인의 특성이 사용되어, 해커가 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 반영하는 인증서 유효성 정보를 무단 변경하는 것을 방지할 수 있다. 또한, 본 출원의 이 구현예에서, 디지털 인증서의 유효성을 검증할 때, 제2 노드는, CA 센터에 저장되어 있는 인증서 유효성 정보를 원격에서 호출할 필요 없이, 노드에 로컬하게 저장되어 있는 인증서 유효성 정보를 직접적으로 판독할 수 있고, 결과적으로, 유효성 검증의 속도 및 보안이 향상된다. 또한, 인증서 유효성 정보와 같은 정보를 로컬하게 호출하는 것에 의해, CA 센터에 대한 블록체인의 단일 지점 종속성(single point dependency)이 제거될 수 있고, 블록체인 네트워크의 신뢰성이 더욱 향상된다.
본 출원의 이 구현예에서, 디지털 인증서의 유효성 상태 정보는 다음의 두 가지 타입으로 분류될 수 있다: 인증서가 유효하다는 것을 나타내는 유효성 상태 정보의 하나의 타입, 및 인증서가 무효하다는 것을 나타내는 유효성 상태 정보의 다른 타입. 무효한 디지털 인증서는 일반적으로 CA 센터에 의해 폐기된다.
단계 S103이 수행되기 이전에, 제1 노드 및 제2 노드를 포함하는 블록체인으로부터 인증서 유효성 정보를 호출하는 것에 의해 디지털 인증서의 유효성을 검증하기 위해, 블록체인에 의해 수신되는 디지털 인증서 및 디지털 인증서의 유효성 상태 정보의 레코드가 미리 조합되어 제2 노드에 의한 조회에 대한 인증서 유효성 정보를 형성할 수 있다. 더 구체적으로는, 인증서 유효성 정보는, 유효한 인증서 목록으로부터 취합되는(assembled) 유효한 디지털 인증서를 수신하기 위한 기초로서 구현될 수 있고, 또한 폐기된 인증서 목록으로부터 취합되는 무효한 디지털 인증서를 수신하는 기초를 반영한다.
또한, 예를 들면, 폐기되는 무효한 디지털 인증서가 이전의 인증서 유효성 정보에 기록되는 경우, 이전의 인증서 유효성 정보는, 수신되는 무효한 디지털 인증서의 레코드에 기초하여 형성되는 폐기된 인증서 목록으로서 구현되고, 제2 노드가, 제1 통신 요청 및 인증서 유효성 정보에 기초하여, 제1 노드의 디지털 인증서가 이전의 단계 S103에서 유효한지의 여부를 검증하는 것은, 구체적으로 다음의 것을 포함할 수 있다: 제2 노드에 의해, 제1 통신 요청에 기초하여 제1 노드의 디지털 인증서를 결정하는 것; 블록체인에 저장되어 있는 인증서 유효성 정보에 기초하여 제2 노드에 의해, 제1 노드의 디지털 인증서가 이전의 인증서 유효성 정보에 기록되는지의 여부를 검증하는 것; 및 제1 노드의 디지털 인증서가 인증서 유효성 정보에 기록되는 경우 - 이것은 제1 노드의 디지털 인증서가 폐기되었다는 것을 나타냄 - , 제1 노드의 디지털 인증서가 무효하다는 것을 검증하는 것.
마찬가지로, 이전의 인증서 유효성 정보가 유효한 디지털 인증서를 기록하는 경우, 예를 들면, 이전의 인증서 유효성 정보가 수신되는 유효한 디지털 인증서의 레코드에 기초하여 형성되는 유효한 인증서 목록으로서 구현되는 경우, 제2 노드가, 제1 통신 요청 및 인증서 유효성 정보에 기초하여, 제1 노드의 디지털 인증서가 이전의 단계 S103에서 유효한지의 여부를 검증하는 것은, 구체적으로 다음의 것을 포함할 수 있다: 제2 노드에 의해, 제1 통신 요청에 기초하여 제1 노드의 디지털 인증서를 결정하는 것; 블록체인에 저장되어 있는 인증서 유효성 정보에 기초하여 제2 노드에 의해, 제1 노드의 디지털 인증서가 인증서 유효성 정보에 기록되는지의 여부를 검증하는 것; 및 제1 노드의 디지털 인증서가 인증서 유효성 정보에 기록되는 경우 - 이것은 제1 노드의 디지털 인증되었다는 것을 나타냄 - , 제1 노드의 디지털 인증서가 유효하다는 것을 검증하는 것.
특정한 구현예에서, 제2 노드는 제1 노드에 의해 전송되는 제1 통신 요청을 파싱하여(parse) 제1 노드의 디지털 인증서를 결정할 수 있다.
노드의 디지털 인증서는 CA 센터(이것은 이전의 CA 센터일 수 있음)에 의해 발행되고, 블록체인 통신에 참여하는 각각의 노드의 엔티티 신원을 검증하기 위해 사용된다. 인터넷 통신에서, 디지털 인증서는, 통신 중인 당사자(party)의 신원 정보를 나타내는 일련의 숫자로 구현될 수 있고, 인증서 버전 번호, 인증서 보유자 정보(예를 들면, 인증서 보유자 정보는 인증서에 대응하는 노드의 신원 정보로서 구현될 수 있다), CA 센터 정보, 인증서 유효 기간, 인증서 일련 번호, 및 CA 센터 서명과 같은 콘텐츠를 포함할 수 있다.
이전의 구현예에서, 제2 노드가 제1 노드의 디지털 인증서를 검증하는 프로세스가 설명된다. 제1 노드의 디지털 인증서가 유효한 경우, 제2 노드는 또한, 제1 노드에 대한 통신 연결을 확립할지의 여부를 결정할 수 있다. 더 구체적으로는, 그것은, 블록체인이 위치되는 제1 노드와 제2 노드 사이의 통신 프로토콜에 기초하여 결정될 수 있다. 하기에서는, 예를 사용하는 것에 의해 자세한 설명을 제공한다.
예를 들면, 통신의 프로토콜이, 노드간 통신을 위해 단방향 검증만이 수행될 필요가 있다는 것을 규정하면, 제1 노드의 디지털 인증서가 유효하다는 것을 제2 노드가 검증하는 경우, 제2 노드는 제1 노드에 대한 통신 연결을 직접적으로 확립할 수 있다.
예를 들면, 통신 프로토콜이, 노드간 통신을 위해 양방향 검증이 수행될 필요가 있다는 것을 규정하면, 본 출원의 이 구현예에서, 제1 노드의 인증서 유효성의 검증 외에, 제2 노드는 또한 제2 노드의 디지털 인증서를 제1 노드로 전송할 필요가 있고, 그 결과, 제1 노드는 제2 노드의 디지털 인증서의 유효성을 검증한다. 구체적으로, 본 출원의 이 구현예에서의 방법은 다음의 것을 더 포함할 수 있다: 제2 노드에 의해, 제2 통신 요청 - 제2 통신 요청은 제2 노드의 디지털 인증서를 포함함 - 을 제1 노드에 전송하는 것. 제2 노드는 제2 노드의 디지털 인증서를 제1 노드로 전송하고, 그 결과, 제1 노드는, 제2 통신 요청 내의 디지털 인증서 및 제1 노드에 로컬하게 저장되어 있는 인증서 유효성 정보에 기초하여 제2 노드의 디지털 인증서가 유효한지의 여부를 검증한다. 또한, 제2 노드의 디지털 인증서가 유효하다는 것을 제1 노드가 검증하고 제1 노드의 디지털 인증서가 유효하다는 것을 제2 노드가 검증한 이후, 제2 노드와 제1 노드 사이에서 통신 연결이 확립된다. 블록체인 노드 사이의 통신의 이러한 점대점 적용 시나리오(point-to-point application scenario)의 경우, 양방향 검증 방법이 선호된다.
특정한 구현예에서, 특정한 노드는 통신 요청 개시자(initiator)로서 작용하고, 다른 노드는 통신 요청 수신자(recipient)로서 작용한다. 피어 노드의 디지털 인증서가 최종적으로 검증될 수 있다면, 노드 둘 모두의 상호 작용 시퀀스는 노드 둘 모두의 통신 프로토콜에 의해 결정될 수 있다. 본 출원의 이 구현예에서 제공되는 솔루션은, 특정한 단계 및 단계의 실행 순서에 제한을 부과하지 않는다.
특정한 구현예에서, 바람직하게는, 통신 연결은, SSL 프로토콜 또는 TLS 프로토콜을 사용하는 것에 의해 블록체인 내의 노드 사이에서 확립된다. 따라서, 제2 노드에 의해 수신되는 제1 통신 요청은 SSL 프로토콜 또는 TLS 프로토콜에 기초하여 제1 노드에 의해 전송되고, 결과적으로, 암호화된 통신 채널이 노드 사이에서 확립된다. 데이터 송신 보안을 보장하기 위해, 네트워크 연결은 SSL 프로토콜 또는 TLS 프로토콜을 사용하는 것에 의해 송신 계층에서 암호화될 수 있다. 데이터 암호화 기술을 사용하는 것에 의해, 네트워크 송신 프로세스에서 데이터가 인터셉트 또는 도청되지 않는 것이 추가로 보장될 수 있다.
이전의 구현예는, 본 출원에서의 블록체인 노드 사이의 통신을 위한 방법의 복수의 양태를 상세히 설명한다. 도 2는 그 방법의 정보 교환 프로세스를 간략하게 예시한다. 여기서는, 단방향 인증만이 예로서 사용된다.
S01. 제1 노드는 제2 노드로 통신 요청을 전송한다.
S02. 제2 노드는 인증서 유효성 정보를 로컬하게 호출하고 제1 노드의 디지털 인증서가 유효한지의 여부를 검증한다.
S03. 제1 노드의 디지털 인증서가 유효한 경우, 제2 노드는 제1 노드에 대한 통신 연결을 확립한다.
본 출원의 이 구현의 핵심 아이디어는 다음과 같다: 검증 결과의 올바름 및 정확도를 보장하기 위해, 그리고 블록체인 내의 노드의 통신 보안을 보장하기 위해, 블록체인의 디지털 인증서가 블록체인에 저장되고, 노드의 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보도 또한 블록체인에 저장되고, 그 결과, 디지털 인증서는 그러한 무단 변경 방지 정보를 사용하는 것에 의해 검증된다.
하기에서는, 블록체인 시스템 및 CA 센터에 의한 블록체인 기반의 디지털 인증서 관리의 특정한 구현예를 상세하게 설명한다.
도 3에서 도시되는 바와 같이, 본 출원의 구현예는, 블록체인 기반의 디지털 인증서 관리를 위한 방법을 제공한다. 방법은 블록체인 시스템에 적용되며, 구체적으로는, 다음의 단계를 포함할 수 있다:
S201. CA 센터에 의해 전송되는 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 수신함.
S203. 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정함.
S205. 디지털 인증서 및 인증서 유효성 정보를 블록체인에 저장함 - 디지털 인증서 및 인증서 유효성 정보는, 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 제1 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하기 위해 사용됨 - .
구체적으로, 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하는 단계 S203이, 이전의 구현예에서 설명되는 바와 같이, 수행되는 경우, 블록체인에 의해 수신되는 디지털 인증서 및 디지털 인증서의 유효성 상태 정보의 레코드는, 제2 노드에 의해 조회될 인증서 유효성 정보를 결정하도록, 조합될 수 있다. 더 구체적으로는, 인증서 유효성 정보는, 수신되는 유효한 디지털 인증서의 레코드에 기초하여 형성되는 유효한 인증서 목록으로서 구현될 수 있을 뿐만 아니라, 수신되는 무효한 디지털 인증서의 레코드에 기초하여 형성되는 폐기된 인증서 목록으로서 또한 구현될 수 있다.
특정한 구현예에서, 검증 결과의 정확도를 보장하기 위해, 블록체인은 단계 S201에서 수신되는 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보에 기초하여 새로운 디지털 인증서 또는 디지털 인증서의 새로운 유효성 상태 정보를 저장할 수 있고, 그 결과, 블록체인에 저장되어 있는 인증서 유효성 정보도 또한 상응하게 업데이트될 수 있다.
블록체인 기반의 디지털 인증서 관리를 위한 이전의 방법에 대응하는 방법에서, 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 제1 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하기 위해, CA 센터는 또한 블록체인 내의 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 블록체인으로 전송하고, 그 결과, 블록체인은, 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하고, 디지털 인증서 및 인증서 유효성 정보를 저장한다.
블록체인의 경우, CA 센터에 의해 전송되는 디지털 인증서 및 디지털 인증서의 유효성 상태 정보의 수신 외에, 블록체인에 가입을 요청하는 노드가 또한 인증서 신청 요청을 CA 센터로 전송할 수 있다. 인증서 신청 요청은 제1 노드의 신청 정보를 포함하고 제1 노드의 디지털 인증서에 대해 CA 센터에게 신청하기 위해 사용된다.
따라서, CA 센터는 블록체인 내의 노드에 의해 전송되는 인증서 신청 요청을 수신할 수 있다. 인증서 신청 요청은, 제1 노드의 신청 정보를 포함하며 제1 노드의 디지털 인증서에 대해 CA 센터에게 신청하기 위해 사용된다. CA 센터는 또한, 제1 노드의 신청 정보를 수신하여 리뷰한다. 제1 노드의 신청 정보가 리뷰를 통과하면, CA 센터는 제1 노드에게 디지털 인증서를 발행하고, 디지털 인증서의 유효성 상태 정보는 "유효"이다.
도 4는 블록체인 시스템과 CA 센터 사이의 상호 작용의 예시적인 프로세스를 간략하게 예시한다. 블록체인 내 노드가 디지털 인증서에 대해 CA 센터에게 신청하는 스테이지는 구체적으로 다음의 단계를 포함할 수 있다:
S10. 블록체인 시스템(예를 들면, 제1 노드)은, 디지털 인증서를 신청하기 위한 신청서를, CA 센터(인증서 신청을 수락하는 RA 기관 및 인증서를 발행하는 CA 기관을 포함함)로 전송한다.
S12. RA(수락 기관)는 신청서를 수신 및 리뷰하고, 신청서가 리뷰를 통과한 이후, RA는 프로세싱을 위해 신청서를 CA 기관(인증 기관)으로 포워딩한다.
S14. CA 기관은 디지털 인증서를 발행하고, CA 기관은 발행된 디지털 인증서를 블록체인 시스템으로 전송한다.
S16. 발행된 디지털 인증서를 수신한 이후, 블록체인 시스템은 인증서를 블록체인에 기록하여 인증서를 블록체인 시스템 내의 모든 노드(예컨대, 도 4에서 도시되는 제1 노드, 제2 노드, 제3 노드 및 제4 노드)에 저장한다.
또한, CA 센터에 의해 발행되는 디지털 증명서가 폐기되는 경우, 디지털 증명서의 유효성 상태 정보가 "유효"로부터 "무효"(또는 "폐기")로 변경되고, CA 센터는 단계 S20을 수행하여, 인증서의 유효성 상태 정보를 업데이트하기 위한 명령어를 블록체인 시스템으로 전송한다. 특정한 구현예에서, CA 센터는, 새로운 디지털 인증서를 발행하기 위한 유사한 방법을 사용하는 것에 의해, 디지털 인증서 및 디지털 인증서의 유효성 상태 정보 둘 모두를 블록체인으로 전송할 수 있다. 유일한 차이점은, 디지털 인증서의 유효성 상태 정보가 이 상황에서 "무효" 또는 "폐기됨"이다는 것이다. 이전의 정보를 수신한 이후, 노드의 디지털 인증서가 검증될 때 정확한 인증서 유효성 정보를 제공하기 위해, 블록체인은 단계 S22를 수행하고, 인증서의 새로운 유효성 상태 정보에 기초하여 인증서 유효성 정보를 업데이트하고, 인증서 유효성 정보를 블록체인에 기록한다.
본 출원의 구현예는 블록체인 노드 사이의 통신을 위한 장치를 추가로 제공한다. 도 5에서 도시되는 바와 같이, 장치는 블록체인 내의 제2 노드에 적용되며 다음의 것을 포함한다: 제1 노드에 의해 전송되는 제1 통신 요청 - 제1 통신 요청은 제1 노드의 디지털 인증서를 포함하고, 제1 노드의 디지털 인증서는, 제1 노드 및 제2 노드를 포함하는 블록체인에 저장됨 - 을 수신하도록 구성되는 통신 요청 수신 모듈(101); 제1 통신 요청 및 인증서 유효성 정보 - 인증서 유효성 정보는 블록체인에 저장되고, 노드의 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용됨 - 에 기초하여, 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하도록 구성되는 유효성 검증 모듈(103); 및 제1 노드의 디지털 인증서가 유효한 경우, 제1 노드에 대한 통신 연결을 확립할지의 여부를 결정하도록 구성되는 통신 연결 확립 모듈(105).
도 6에서 도시되는 바와 같이, 이전의 장치는: 제2 통신 요청 - 제2 통신 요청은 제2 노드의 디지털 인증서를 포함하고, 그 결과, 제1 노드는, 제2 통신 요청 및 인증서 유효성 정보에 기초하여, 제2 노드의 디지털 인증서가 유효한지의 여부를 검증함 - 을 제1 노드로 전송하도록 구성되는 통신 요청 전송 모듈(107)을 더 포함할 수 있고; 그리고 통신 연결 확립 모듈(105)은 구체적으로: 제1 노드의 디지털 인증서가 유효하고 제2 노드의 디지털 인증서가 유효하다는 것을 제1 노드가 검증하는 경우, 제1 노드에 대한 통신 연결을 확립하도록 구성될 수 있다.
도 7은, 본 출원의 구현예에 따른, 전자 디바이스의 개략적인 구조도이다. 도 7을 참조하면, 전자 디바이스는 프로세서를 포함하고, 옵션 사항으로(optionally) 하드웨어의 관점에서 내부 버스, 네트워크 인터페이스, 및 스토리지를 더 포함한다. 스토리지는, 메모리, 예를 들면, 고속 랜덤 액세스 메모리(random access memory; RAM)를 포함할 수 있거나, 또는 비휘발성 메모리, 예를 들면, 적어도 하나의 자기 디스크 메모리를 더 포함할 수 있다. 물론, 전자 디바이스는 다른 서비스에 의 해 필요로 되는 하드웨어를 더 포함할 수 있다.
프로세서, 네트워크 인터페이스, 및 스토리지는 내부 버스를 사용하는 것에 의해 인터커넥트될 수 있다. 내부 버스는 산업 표준 아키텍쳐(Industry Standard Architecture; ISA) 버스, 주변 장치 컴포넌트 인터커넥트(Peripheral Component Interconnect; PCI) 버스, 확장형 산업 표준 아키텍쳐(extended industry standard architecture; EISA) 버스, 등등일 수 있다. 버스는 어드레스 버스, 데이터 버스, 제어 버스, 등등으로 분류될 수 있다. 표현의 용이성을 위해, 도 7에서는 양방향 화살표만이 사용되지만, 그러나, 그것은 하나의 버스만이 또는 하나의 타입의 버스만이 존재한다는 것을 나타내는 것은 아니다.
스토리지는 프로그램을 저장하도록 구성된다. 구체적으로, 프로그램은 프로그램 코드를 포함할 수 있고, 프로그램 코드는 컴퓨터 동작 명령어를 포함할 수 있다. 스토리지는 메모리 및 비휘발성 메모리를 포함할 수 있고, 프로세서에게 명령어 및 데이터를 제공한다.
논리적인 관점에서 블록체인 노드 사이의 통신을 위한 장치를 형성하기 위해, 프로세서는 비휘발성 메모리로부터 대응하는 컴퓨터 프로그램을 메모리로 판독하고, 그 다음, 대응하는 컴퓨터 프로그램을 실행한다. 프로세서는 스토리지에 저장되어 있는 프로그램을 실행하여 다음의 동작을 수행한다: 제1 노드에 의해 전송되는 제1 통신 요청 - 제1 통신 요청은 제1 노드의 디지털 인증서를 포함하고, 제1 노드의 디지털 인증서는, 제1 노드 및 제2 노드를 포함하는 블록체인에 저장됨 - 을 수신하는 동작; 제1 통신 요청 및 인증서 유효성 정보 - 인증서 유효성 정보는 블록체인에 저장되고, 노드의 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용됨 - 에 기초하여, 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하는 동작; 및 제1 노드의 디지털 인증서가 유효한 경우, 제1 노드에 대한 통신 연결을 확립할지의 여부를 결정하는 동작.
블록체인 노드 사이의 통신을 위해 장치에 의해 수행되며 본 출원의 도 1에서 도시되는 구현예에서 개시되는 이전의 방법은, 프로세서에 적용될 수 있거나 또는 프로세서에 의해 구현될 수 있다. 프로세서는 집적 회로 칩일 수 있으며, 신호 프로세싱 성능을 구비할 수 있다. 구현 프로세스에서, 이전의 방법의 단계는, 프로세서 내의 하드웨어의 집적 논리 회로 또는 소프트웨어의 형태의 명령어를 사용하는 것에 의해 완료될 수 있다. 이전의 프로세서는 범용 프로세서일 수 있으며, 중앙 프로세싱 유닛(central processing unit; CPU), 네트워크 프로세서(network processor; NP), 등등을 포함할 수 있거나, 또는 디지털 신호 프로세서(digital signal processor; DSP), 주문형 집적 회로(application-specific integrated circuit; ASIC), 필드 프로그래머블 게이트 어레이(field programmable gate array; FPGA), 또는 다른 프로그래머블 논리 디바이스(programmable logic device; PLD), 이산 게이트 또는 트랜지스터 논리 디바이스, 또는 이산 하드웨어 컴포넌트일 수 있다. 이전의 프로세서는, 본 출원의 구현예에서 개시되는 방법, 단계, 및 논리적 블록도를 구현 또는 수행할 수 있다. 범용 프로세서는 마이크로프로세서일 수 있거나, 또는 프로세서는 임의의 종래의 프로세서, 등등일 수 있다. 본 출원의 구현예를 참조하여 개시되는 방법의 단계는, 하드웨어 디코딩 프로세서에 의해 직접적으로 수행되어 완료될 수 있거나, 또는 디코딩 프로세서에서 하드웨어 모듈 및 소프트웨어 모듈의 조합을 사용하는 것에 의해 수행 및 완료될 수 있다. 소프트웨어 모듈은, RAM, 플래시 메모리, 리드 온리 메모리(read-only memory; ROM), 프로그래머블 리드 온리 메모리(programmable read-only memory; PROM), 전기적으로 소거가능한 프로그래머블 리드 온리 메모리(electrically erasable programmable read-only memory; EEPROM), 또는 레지스터와 같은, 기술 분야에서의 성숙한 저장 매체에 위치될 수 있다. 저장 매체는 스토리지에 위치되고, 프로세서는 스토리지로부터 정보를 판독하고 프로세서의 하드웨어를 사용하는 것에 의해 이전의 방법의 단계를 완료한다.
전자 디바이스는 또한, 블록체인 노드 사이의 통신을 위한 장치에 의해 수행되는 도 1의 방법을 수행하고, 도 1에서 도시되는 구현예에서 블록체인 노드 사이의 통신을 위한 장치의 기능을 구현할 수 있다. 세부 사항은 본 출원의 이 구현예에서는 설명되지 않는다.
본 출원의 구현예는 또한 컴퓨터 판독 가능 저장 매체를 제공한다. 컴퓨터 판독 가능 저장 매체는 하나 이상의 프로그램을 저장하는데, 하나 이상의 프로그램은 명령어를 포함한다. 명령어는, 도 1에서 도시되는 구현예에서 블록체인 노드 사이의 통신을 위한 장치에 의해 수행되는 방법을 수행하기 위해, 복수의 애플리케이션 프로그램을 포함하는 전자 디바이스에 의해 실행되며, 명령어는 다음의 것을 포함한다: 제1 노드에 의해 전송되는 제1 통신 요청 - 제1 통신 요청은 제1 노드의 디지털 인증서를 포함하고, 제1 노드의 디지털 인증서는, 제1 노드 및 제2 노드를 포함하는 블록체인에 저장됨 - 을 수신하는 것; 제1 통신 요청 및 인증서 유효성 정보 - 인증서 유효성 정보는 블록체인에 저장되고, 노드의 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용됨 - 에 기초하여, 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하는 것; 및 제1 노드의 디지털 인증서가 유효한 경우, 제1 노드에 대한 통신 연결을 확립할지의 여부를 결정하는 것.
여전히 또한, 도 7에서 도시되는 전자 디바이스에서, 실행 가능 명령어는 다음의 동작을 또한 수행하도록 프로세서에 의해 실행된다: 제2 통신 요청 - 제2 통신 요청은 제2 노드의 디지털 인증서를 포함하고, 그 결과, 제1 노드는, 제2 통신 요청 및 인증서 유효성 정보에 기초하여, 제2 노드의 디지털 인증서가 유효한지의 여부를 검증함 - 을 제1 노드로 전송하는 동작; 및 제1 노드의 디지털 인증서가 유효하고, 제2 노드의 디지털 인증서가 유효하다는 것을 제1 노드가 검증하는 경우, 제2 노드에 의해, 제1 노드에 대한 통신 연결을 확립하는 동작.
본 출원의 구현예는 또한 블록체인 기반의 디지털 인증서 관리를 위한 장치를 제공한다. 도 8에서 도시되는 바와 같이, 장치는 블록체인에 적용되며 다음의 것을 포함한다: CA 센터에 의해 전송되는 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 수신하도록 구성되는 인증서 정보 수신 모듈(201); 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하도록 구성되는 인증서 유효성 정보 결정 모듈(203); 및 블록체인에 디지털 인증서 및 인증서 유효성 정보를 저장하도록 구성되는 스토리지 모듈(205) - 디지털 인증서 및 인증서 유효성 정보는, 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 제1 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하기 위해 사용됨 - .
도 9는, 본 출원의 구현예에 따른, 전자 디바이스의 개략적인 구조도이다. 도 9를 참조하면, 전자 디바이스는 프로세서를 포함하고, 옵션 사항으로 하드웨어의 관점에서 내부 버스, 네트워크 인터페이스, 및 스토리지를 더 포함한다. 스토리지는, 메모리, 예를 들면, 고속 RAM을 포함할 수 있거나, 또는 비휘발성 메모리, 예를 들면, 적어도 하나의 자기 디스크 메모리를 더 포함할 수 있다. 물론, 전자 디바이스는 다른 서비스에 의 해 필요로 되는 하드웨어를 더 포함할 수 있다.
프로세서, 네트워크 인터페이스, 및 스토리지는 내부 버스를 사용하는 것에 의해 인터커넥트될 수 있다. 내부 버스는 ISA 버스, PCI 버스, EISA 버스, 등등일 수 있다. 버스는 어드레스 버스, 데이터 버스, 제어 버스, 등등으로 분류될 수 있다. 표현의 용이성을 위해, 도 9에서는 양방향 화살표만이 사용되지만, 그러나, 그것은 하나의 버스만이 또는 하나의 타입의 버스만이 존재한다는 것을 나타내는 것은 아니다.
스토리지는 프로그램을 저장하도록 구성된다. 구체적으로, 프로그램은 프로그램 코드를 포함할 수 있고, 프로그램 코드는 컴퓨터 동작 명령어를 포함할 수 있다. 스토리지는 메모리 및 비휘발성 메모리를 포함할 수 있고, 프로세서에게 명령어 및 데이터를 제공한다.
논리적인 관점에서 블록체인 기반의 디지털 인증서 관리를 위한 장치를 형성하기 위해, 프로세서는 비휘발성 메모리로부터 대응하는 컴퓨터 프로그램을 메모리로 판독하고, 그 다음, 대응하는 컴퓨터 프로그램을 실행한다. 프로세서는 스토리지에 저장되어 있는 프로그램을 실행하여 다음의 동작을 수행한다: CA 센터에 의해 전송되는 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 수신하는 것; 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하는 것; 및 디지털 인증서 및 인증서 유효성 정보를 블록체인에 저장하는 것 - 디지털 인증서 및 인증서 유효성 정보는, 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 제1 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하기 위해 사용됨 - .
블록체인 기반의 디지털 인증서 관리를 위한 장치에 의해 수행되며 본 출원의 이전의 구현예에서 개시되는 이전의 방법은 프로세서에 적용될 수 있거나 또는 프로세서에 의해 구현될 수 있다. 프로세서는 집적 회로 칩일 수 있으며, 신호 프로세싱 성능을 구비할 수 있다. 구현 프로세스에서, 이전의 방법의 단계는, 프로세서 내의 하드웨어의 집적 논리 회로 또는 소프트웨어의 형태의 명령어를 사용하는 것에 의해 완료될 수 있다. 이전의 프로세서는 범용 프로세서일 수 있으며, CPU, NP, 등등을 포함할 수 있거나, 또는 DSP, ASIC, FPGA, 또는 다른 PLD, 이산 게이트 또는 트랜지스터 논리 디바이스, 또는 이산 하드웨어 컴포넌트일 수 있다. 이전의 프로세서는, 본 출원의 구현예에서 개시되는 방법, 단계, 및 논리적 블록도를 구현 또는 수행할 수 있다. 범용 프로세서는 마이크로프로세서일 수 있거나, 또는 프로세서는 임의의 종래의 프로세서, 등등일 수 있다. 본 출원의 구현예를 참조하여 개시되는 방법의 단계는, 하드웨어 디코딩 프로세서에 의해 직접적으로 수행되어 완료될 수 있거나, 또는 디코딩 프로세서에서 하드웨어 모듈 및 소프트웨어 모듈의 조합을 사용하는 것에 의해 수행 및 완료될 수 있다. 소프트웨어 모듈은, RAM, 플래시 메모리, ROM, PROM, EEPROM, 또는 레지스터와 같은, 기술 분야에서의 성숙한 저장 매체에 위치될 수 있다. 저장 매체는 스토리지에 위치되고, 프로세서는 스토리지로부터 정보를 판독하고 프로세서의 하드웨어를 사용하는 것에 의해 이전의 방법의 단계를 완료한다.
전자 디바이스는 또한 블록체인 기반의 디지털 인증서 관리를 위한 장치에 의해 수행되는 방법을 수행할 수 있고, 이전의 구현예에서의 블록체인 기반의 디지털 인증서 관리를 위한 장치의 기능을 구현할 수 있다. 세부 사항은 본 출원의 이 구현예에서는 설명되지 않는다.
본 출원의 구현예는 또한 컴퓨터 판독 가능 저장 매체를 제공한다. 컴퓨터 판독 가능 저장 매체는 하나 이상의 프로그램을 저장하는데, 하나 이상의 프로그램은 명령어를 포함한다. 명령어는 복수의 애플리케이션 프로그램을 포함하는 전자 디바이스에 의해 실행되어, 이전의 구현예에서의 블록체인 기반의 디지털 인증서 관리를 위한 장치에 의해 수행되는 방법을 수행하는데, 명령어는 다음의 것을 포함한다: CA 센터에 의해 전송되는 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 수신하는 것; 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하는 것; 및 디지털 인증서 및 인증서 유효성 정보를 블록체인에 저장하는 것 - 디지털 인증서 및 인증서 유효성 정보는, 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 제1 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하기 위해 사용됨 - .
본 출원의 구현예는 또한 블록체인 기반의 디지털 인증서 관리를 위한 장치를 제공한다. 장치는 CA 센터에 적용되며 다음의 것을 포함한다: 블록체인 내의 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 블록체인으로 전송하도록 구성되며, 그 결과, 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 제1 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하도록, 블록체인이, 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하고, 디지털 인증서 및 인증서 유효성 정보를 저장하게 되는 전송 모듈.
또한, 이전의 장치는 다음의 것을 더 포함한다: 블록체인 내의 노드에 의해 전송되는 인증서 신청 요청 - 인증서 신청 요청은 제1 노드의 신청 정보를 포함하고 제1 노드의 디지털 인증서에 대해 CA 센터에게 신청하기 위해 사용됨 - 을 수신하도록 구성되는 신청 요청 수신 모듈; 제1 노드의 신청 정보를 수신 및 리뷰하도록 구성되는 수신 및 리뷰 모듈(receiving and reviewing module); 및 제1 노드의 신청 정보가 리뷰를 통과하는 경우, 제1 노드에게 디지털 인증서 - 디지털 인증서의 유효성 상태 정보는 유효임 - 를 발행하도록 구성되는 발행 및 전송 모듈.
도 10은, 본 출원의 구현예에 따른, 전자 디바이스의 개략적인 구조도이다. 도 10을 참조하면, 전자 디바이스는 프로세서를 포함하고, 옵션 사항으로 하드웨어의 관점에서 내부 버스, 네트워크 인터페이스, 및 스토리지를 더 포함한다. 스토리지는, 메모리, 예를 들면, 고속 RAM을 포함할 수 있거나, 또는 비휘발성 메모리, 예를 들면, 적어도 하나의 자기 디스크 메모리를 더 포함할 수 있다. 물론, 전자 디바이스는 다른 서비스에 의 해 필요로 되는 하드웨어를 더 포함할 수 있다.
프로세서, 네트워크 인터페이스, 및 스토리지는 내부 버스를 사용하는 것에 의해 인터커넥트될 수 있다. 내부 버스는 ISA 버스, PCI 버스, EISA 버스, 등등일 수 있다. 버스는 어드레스 버스, 데이터 버스, 제어 버스, 등등으로 분류될 수 있다. 표현의 용이성을 위해, 도 10에서는 양방향 화살표만이 사용되지만, 그러나, 그것은 하나의 버스만이 또는 하나의 타입의 버스만이 존재한다는 것을 나타내는 것은 아니다.
스토리지는 프로그램을 저장하도록 구성된다. 구체적으로, 프로그램은 프로그램 코드를 포함할 수 있고, 프로그램 코드는 컴퓨터 동작 명령어를 포함할 수 있다. 스토리지는 메모리 및 비휘발성 메모리를 포함할 수 있고, 프로세서에게 명령어 및 데이터를 제공한다.
논리적인 관점에서 블록체인 기반의 디지털 인증서 관리를 위한 장치를 형성하기 위해, 프로세서는 비휘발성 메모리로부터 대응하는 컴퓨터 프로그램을 메모리로 판독하고, 그 다음, 대응하는 컴퓨터 프로그램을 실행한다. 프로세서는 스토리지에 저장되어 있는 프로그램을 실행하여 다음의 동작을 수행한다: 블록체인 내의 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 블록체인으로 전송하고, 그 결과, 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 제1 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하도록, 블록체인은, 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하고, 디지털 인증서 및 인증서 유효성 정보를 저장하는 것.
블록체인 기반의 디지털 인증서 관리를 위한 장치에 의해 수행되며 본 출원의 이전의 구현예에서 개시되는 이전의 방법은 프로세서에 적용될 수 있거나 또는 프로세서에 의해 구현될 수 있다. 프로세서는 집적 회로 칩일 수 있으며, 신호 프로세싱 성능을 구비할 수 있다. 구현 프로세스에서, 이전의 방법의 단계는, 프로세서 내의 하드웨어의 집적 논리 회로 또는 소프트웨어의 형태의 명령어를 사용하는 것에 의해 완료될 수 있다. 이전의 프로세서는 범용 프로세서일 수 있으며, CPU, NP, 등등을 포함할 수 있거나, 또는 DSP, ASIC, FPGA, 또는 다른 PLD, 이산 게이트 또는 트랜지스터 논리 디바이스, 또는 이산 하드웨어 컴포넌트일 수 있다. 이전의 프로세서는, 본 출원의 구현예에서 개시되는 방법, 단계, 및 논리적 블록도를 구현 또는 수행할 수 있다. 범용 프로세서는 마이크로프로세서일 수 있거나, 또는 프로세서는 임의의 종래의 프로세서, 등등일 수 있다. 본 출원의 구현예를 참조하여 개시되는 방법의 단계는, 하드웨어 디코딩 프로세서에 의해 직접적으로 수행되어 완료될 수 있거나, 또는 디코딩 프로세서에서 하드웨어 모듈 및 소프트웨어 모듈의 조합을 사용하는 것에 의해 수행 및 완료될 수 있다. 소프트웨어 모듈은, RAM, 플래시 메모리, ROM, PROM, EEPROM, 및 레지스터와 같은, 기술 분야에서의 성숙한 저장 매체에 위치될 수 있다. 저장 매체는 스토리지에 위치되고, 프로세서는 스토리지로부터 정보를 판독하고 프로세서의 하드웨어를 사용하는 것에 의해 이전의 방법의 단계를 완료한다.
전자 디바이스는 또한 블록체인 기반의 디지털 인증서 관리를 위한 장치에 의해 수행되는 방법을 수행할 수 있고, 이전의 구현예에서의 블록체인 기반의 디지털 인증서 관리를 위한 장치의 기능을 구현할 수 있다. 세부 사항은 본 출원의 이 구현예에서는 설명되지 않는다.
본 출원의 구현예는 또한 컴퓨터 판독 가능 저장 매체를 제공한다. 컴퓨터 판독 가능 저장 매체는 하나 이상의 프로그램을 저장하는데, 하나 이상의 프로그램은 명령어를 포함한다. 명령어는 복수의 애플리케이션 프로그램을 포함하는 전자 디바이스에 의해 실행되어, 이전의 구현예에서의 블록체인 기반의 디지털 인증서 관리를 위한 장치에 의해 수행되는 방법을 수행하는데, 명령어는 다음의 것을 포함한다: 블록체인 내의 노드의 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 블록체인으로 전송하고, 그 결과, 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 제1 통신 요청에 포함되는 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하도록, 블록체인이, 디지털 인증서의 유효성 상태 정보에 기초하여, 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하고, 디지털 인증서 및 인증서 유효성 정보를 저장하는 것.
또한, 도 10에서 도시되는 전자 디바이스에서, 실행 가능 명령어는 다음의 동작을 또한 수행하도록 프로세서에 의해 실행된다: 블록체인 내의 노드에 의해 전송되는 인증서 신청 요청 - 인증서 신청 요청은 제1 노드의 신청 정보를 포함하고 제1 노드의 디지털 인증서에 대해 CA 센터에게 신청하기 위해 사용됨 - 을 수신하는 것; 제1 노드의 신청 정보를 수신 및 리뷰하는 것; 및 제1 노드의 신청 정보가 리뷰를 통과하는 경우, 제1 노드에게 디지털 인증서 - 디지털 인증서의 유효성 상태 정보는 유효함임 - 를 발행하는 것.
본 출원에서의 구현예는 점진적인 방식으로 설명된다. 구현예에서의 동일한 또는 유사한 부분에 대해서는, 구현예를 참조한다. 각각의 구현예는 다른 구현예와의 차이점에 중점을 둔다. 특히, 시스템 구현예는 방법 구현예와 유사하고, 따라서, 간략하게 설명된다. 관련된 부품의 경우, 방법 구현예의 관련된 설명을 참조한다.
본 출원의 특정한 구현예가 상기에서 설명되었다. 다른 구현예는 첨부된 청구범위의 범위 내에 속한다. 몇몇 상황에서, 청구범위에 설명되는 액션 또는 단계는, 구현예에서의 순서와는 상이한 순서로 수행될 수 있고 소망되는 결과가 여전히 달성될 수 있다. 또한, 첨부하는 도면에서 묘사되는 프로세스는 소망되는 결과를 달성하기 위해 반드시 특정한 실행 순서를 요구하지는 않는다. 몇몇 구현예에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다.
기술 분야의 숙련된 자는, 본 개시의 구현예가, 방법, 시스템, 또는 컴퓨터 프로그램 제품으로서 제공될 수 있다는 것을 이해해야 한다. 따라서, 본 개시는 하드웨어 전용 구현예, 소프트웨어 전용 구현예, 또는 소프트웨어 및 하드웨어의 조합을 갖는 구현예의 형태를 사용할 수 있다. 또한, 본 개시는, 컴퓨터 사용 가능 프로그램 코드를 포함하는 (자기 디스크 메모리, 콤팩트 디스크 리드 온리 메모리(compact disk read-only memory; CD-ROM), 및 광학 메모리를 포함하는, 그러나 이들로 제한되지는 않는) 하나 이상의 컴퓨터 사용 가능 저장 매체 상에 구현되는 컴퓨터 프로그램 제품의 형태를 사용할 수 있다.
본 개시는, 본 개시의 구현예에 기초한 방법, 디바이스(시스템), 및 컴퓨터 프로그램 제품의 플로우차트 및/또는 블록도를 참조하여 설명된다. 컴퓨터 프로그램 명령어는 플로우차트 및/또는 블록도 내의 각각의 프로시져 및/또는 각각의 블록 및 플로우차트 및/또는 블록도 내의 프로시져 및/또는 블록의 조합을 구현하기 위해 사용될 수 있다는 것이 이해되어야 한다. 이들 컴퓨터 프로그램 명령어는, 범용 컴퓨터, 전용 컴퓨터, 임베딩된 프로세서, 또는 다른 프로그래머블 데이터 프로세싱 디바이스의 프로세서에 제공되어 머신을 생성할 수 있고, 그 결과, 명령어는 컴퓨터 또는 다른 프로그래머블 데이터 프로세싱 디바이스의 프로세서에 의해 실행되어, 플로우차트 내의 하나 이상의 프로시져에서 및/또는 블록도 내의 하나 이상의 블록에서 명시된 기능을 구현하기 위한 장치를 생성한다.
컴퓨터 또는 다른 프로그래머블 데이터 프로세싱 디바이스에게 특정한 방식으로 작동할 것을 지시할 수 있는 이들 컴퓨터 프로그램 명령어는 컴퓨터 판독가능 메모리에 저장될 수 있고, 그 결과, 컴퓨터 판독 가능 메모리에 저장되어 있는 명령어는 명령어 장치를 포함하는 아티팩트(artifact)를 생성한다. 명령어 장치는 플로우차트 내의 하나 이상의 프로시져에서의 및/또는 블록도 내의 하나 이상의 블록에서의 특정한 기능을 구현한다.
이들 컴퓨터 프로그램 명령어는, 컴퓨터 또는 다른 프로그래머블 데이터 프로세싱 디바이스 상으로 로딩될 수 있고, 그 결과, 컴퓨터 구현 프로세싱을 생성하도록, 일련의 동작 및 단계가 컴퓨터 또는 다른 프로그래머블 디바이스 상에서 수행된다. 따라서, 컴퓨터 또는 다른 프로그래머블 디바이스 상에서 실행되는 명령어는, 플로우차트 내의 하나 이상의 프로시져의 및/또는 블록도 내의 하나 이상의 블록의 명시된 기능을 구현하기 위한 단계를 제공한다.
통상적인 구성에서, 컴퓨팅 디바이스는 하나 이상의 CPU, 입력/출력 인터페이스, 네트워크 인터페이스, 및 메모리를 포함한다.
메모리는, 컴퓨터 판독 가능 매체에 휘발성 메모리, RAM, 및/또는 비휘발성 메모리, 등등, 예를 들면, ROM 또는 플래시 메모리를 포함할 수 있다. 메모리는 컴퓨터 판독 가능 매체의 한 예이다.
컴퓨터 판독 가능 매체는, 임의의 방법 또는 기술을 사용하는 것에 의해 정보를 저장할 수 있는, 영구적, 비영구적, 이동식, 및 비이동식 매체를 포함한다. 정보는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터일 수 있다. 컴퓨터 저장 매체는, 위상 변경 RAM(phase change RAM; PRAM), 정적 RAM(static RAM; SRAM), 동적 RAM(dynamic RAM; DRAM), 다른 타입의 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 스토리지 디바이스, CD-ROM, 디지털 다기능 디스크(digital versatile disc; DVD), 또는 다른 광학 메모리, 카세트, 자기 디스크, 또는 다른 자기 스토리지 디바이스 또는 임의의 다른 비 송신 매체를 포함하지만, 그러나 이들로 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨팅 디바이스에 의해 액세스될 수 있는 정보를 저장하도록 구성될 수 있다. 본 명세서에서의 정의에 기초하여, 컴퓨터 판독 가능 매체는 변조된 데이터 신호 및 캐리어와 같은 컴퓨터 판독 가능 일시적 매체를 포함하지 않는다.
또한, 용어 "포함한다(include)", "포함한다(comprise)", 또는 임의의 다른 변형어는 비 배타적인 포함을 포괄하도록 의도되며, 그 결과, 일련의 엘리먼트를 포함하는 프로세스, 방법, 상품, 또는 디바이스는 이들 엘리먼트를 포함할 뿐만 아니라, 명시적으로 열거되지 않은 다른 엘리먼트를 또한 포함하거나, 또는 그러한 프로세스, 방법, 상품, 또는 디바이스에 내재하는 엘리먼트를 더 포함한다는 것을 또한 유의해야 한다. "~를 포함하는(includes a ...)" 전방에 오는 엘리먼트는, 추가적인 제약 없이, 그 엘리먼트를 포함하는 프로세스, 방법, 상품, 또는 디바이스에서 추가적인 동일한 엘리먼트의 존재를 배제하지는 않는다.
기술 분야의 숙련된 자는, 본 출원의 구현예가, 방법, 시스템, 또는, 컴퓨터 프로그램 제품으로서 제공될 수 있다는 것을 이해해야 한다. 따라서, 본 출원은 하드웨어 전용 구현예, 소프트웨어 전용 구현예, 또는 소프트웨어와 하드웨어의 조합을 갖는 구현예의 형태를 사용할 수 있다. 또한, 본 출원은, 컴퓨터 사용 가능 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용 가능 저장 매체(자기 디스크 메모리, CD-ROM, 및 광학 메모리를 포함하지만 그러나 이들로 제한되지는 않음) 상에서 구현되는 컴퓨터 프로그램 제품의 형태를 사용할 수 있다.
앞선 설명은 본 출원의 구현예에 불과하며, 본 출원을 제한하도록 의도되는 것은 아니다. 기술 분야의 숙련된 자는 본 출원에 대해 다양한 수정 및 변경을 가할 수 있다. 본 출원의 취지 및 원리 내에서 이루어지는 임의의 수정예, 등가적 대체예, 개선예, 등등은, 본 출원의 청구범위의 범위 내에 속할 것이다.
도 11은 본 개시의 구현예에 따른, 블록체인 노드 사이의 통신을 위한 컴퓨터 구현 방법(1100)의 예를 예시하는 플로우차트이다. 제시의 명확성을 위해, 이하의 설명은, 이 설명의 다른 도면의 맥락에서 방법(1100)을 일반적으로 설명한다. 그러나, 방법(1100)은, 예를 들면, 임의의 시스템, 환경, 소프트웨어, 및 하드웨어에 의해 또는 시스템, 환경, 소프트웨어, 및 하드웨어의 조합에 의해 적절하게 수행될 수 있다는 것이 이해될 것이다. 몇몇 구현예에서, 방법(1100)의 다양한 단계는 병렬로, 조합하여, 루프에서, 또는 임의의 순서로 실행될 수 있다.
1102에서, 제1 통신 요청은 블록체인 내의 제2 노드에서 수신되는데, 여기서 제1 통신 요청은 동일한 블록체인 내의 제1 노드로부터 수신된다. 본원에서 설명되는 제1 및 제2 노드는 블록체인 내의 임의의 두 개의 상이한 노드일 수 있다. 제1 노드가 제2 노드와 통신할 것으로 예상되는 경우, 제1 노드는 설명되는 프로세스를 개시할 수 있다. 여기서, 제1 통신 요청은, 제1 노드의 신원을 검증함에 있어서 제2 노드에 의해 사용될 제1 노드의 디지털 인증서를 포함할 수 있다. 또한, 제1 노드의 디지털 인증서는 블록체인에 저장된다. 1102로부터, 방법(1100)은 1104로 진행한다.
1104에서, 제2 노드는, 제1 통신 요청에 기초하여, 블록체인 내의 노드와 관련되는 인증서 유효성 정보의 세트에 액세스할 수 있다. 인증서 유효성 정보는 블록체인에 저장되는 특정한 디지털 인증서(예를 들면, 폐기된 디지털 인증서)를 유효한 또는 무효한 것으로 식별하는 정보를 저장 또는 기록할 수 있다. 몇몇 경우에, 새로운 유효성 정보가, 예컨대 인증 기관으로부터 수신되기 때문에, 인증서 유효성 정보는 시간이 지남에 따라 업데이트될 수 있다. 몇몇 예에서, 1102의 동작 이전에 노드의 디지털 인증서가 수신되는 경우, 노드의 디지털 인증서는 블록체인에 저장된다. 또한, 디지털 인증서에 기초하는 그리고 수신된 디지털 인증서의 유효성 상태 정보 및 관련 노드를 반영하기 위해 사용되는 인증서 유효성 정보의 세트도 또한 블록체인에 저장된다. 그렇게 함에 있어서, 디지털 인증서는, 블록체인 외부의 추가적인 조회를 필요로 하지 않으면서 검증 결과의 올바름 및 정확도를 보장하기 위해, 무단 변경 방지 정보를 사용하여 검증될 수 있고, 따라서, 블록체인 내의 노드의 통신 보안을 보장할 수 있다. 몇몇 경우에, 인증서 유효성 정보는 유효한 인증서 목록 및 폐기된 인증서 목록을 포함할 수 있는데, 여기서 목록은 특정한 노드 및 디지털 인증서의 유효성 상태를 결정하기 위해 사용될 수 있다. 1104로부터, 방법(1100)은 1106으로 진행한다.
1106에서, 제1 통신 요청 및 액세스된 인증서 유효성 정보에 기초하여, 제2 노드는, 제1 노드의 디지털 인증서가 유효한지의 여부를 검증한다. 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하기 위해, 제2 노드는, 인증 기관(CA) 센터에 저장되어 있는 인증서 유효성 정보를 원격으로 호출할 필요 없이, 노드에 로컬로 저장되어 있는 인증서 유효성 정보를 직접적으로 판독할 수 있을 수도 있다. 검증은, 제1 노드 및 그것의 디지털 인증서가 로컬 인증서 유효성 정보에 저장될 때 유효 인증서 목록에 포함되는지 또는 무효 인증서 목록에 포함되는지의 여부를 결정하는 것을 포함할 수 있다. 제1 노드의 디지털 인증서가 유효한 것으로 결정되면, 방법(1100)은 1108에서 계속될 수 있다. 제1 노드의 디지털 인증서가 무효한 것으로 결정되면, 방법(1100)은 제1 노드의 디지털 인증서가 유효한 것으로 검증될 수 없기 때문에, 종료된다.
1108에서, (예를 들면, 제1 노드와 제2 노드 사이의) 노드간 통신을 위한 통신 프로토콜이 단방향인지 또는 양방향인지의 여부에 관한 결정이 이루어진다. 통신 프로토콜이 단방향 검증을 요구하면, 방법(1100)은 1110에서 계속된다. 통신 프로토콜이 양방향 검증을 요구하면, 방법(1100)은 1112로 진행한다. 단방향 검증에서, 제1 노드의 디지털 인증서의 유효성의 검증은, 제2 노드와 제1 노드 사이에서 통신 연결을 확립하기에 충분하다. 양방향 검증에서, 통신 연결이 확립될 수 있기 이전에 제1 노드는 또한 제2 노드를 검증해야만 한다.
1112에서, 양방향 검증 구현예에서, 제2 통신 요청이 제2 노드로부터 제1 노드로 전송되는데, 여기서 제2 통신 요청은 제2 노드의 디지털 인증서를 포함하며, 제2 노드의 디지털 인증서는 두 노드와 동일한 블록체인에 저장된다. 제2 통신 요청은 제1 노드의 유효성을 성공적으로 검증하는 것에 응답하여 전송될 수 있거나, 또는 제2 통신 요청은 제1 통신 요청을 수신하는 것에 응답하여 전송될 수 있다. 몇몇 경우에, 제2 통신 요청은 제1 노드가 유효한 것으로 또는 유효하지 않은 것으로 결정되는지의 여부에 관계없이 전송될 수 있다. 1112로부터, 방법(1100)은 1114로 진행한다.
1114에서, 제1 노드는, 1104에서 제2 노드에 의해 수행되는 동작과 유사하게, 제2 통신 요청에 기초하여, 인증서 유효성 정보에 액세스할 수 있다. 1116에서, 제1 노드는, 1106에서 제1 노드에 의해 수행되는 동작과 유사하게, 제2 통신 요청 및 액세스된 인증서 유효성 정보에 기초하여, 제2 노드의 디지털 인증서가 유효한지의 여부를 검증할 수 있다. 제2 노드의 디지털 인증서가 무효하면, 통신 연결은 확립되지 않을 수도 있다. 그러나, 제2 노드의 디지털 인증서가 유효한 것으로 검증되면, 방법(1100)은 1110으로 진행할 수 있다.
1110에서, 제2 노드와 제1 노드 사이의 통신 연결은 검증(들)에 기초하여 확립될 수 있다.
몇몇 경우에, 특정한 노드와 관련되는 하나 이상의 디지털 인증서는, 이전에 디지털 인증서를 발행한 CA에 의해 폐기될 수도 있다. 그들 경우에, 디지털 인증서의 유효성 상태 정보가 "유효"로부터 "무효"(또는 "폐기")로 변경된다. 그 다음, CA는 특정한 노드에 대한 디지털 인증서의 유효성 상태 정보를 업데이트하기 위한 명령어를 블록체인으로 전송할 수 있다. 명령어의 수신시, 저장된 디지털 인증서는 업데이트될 수 있고, 인증 기관 정보는 노드의 디지털 인증서의 현재 상태를 반영하도록 업데이트될 수 있다. 그러한 정보는 블록체인에 저장될 수 있고 미래의 상호 작용을 위해 사용될 수 있다.
몇몇 경우에, 통신 연결은, SSL 프로토콜 또는 TLS 프로토콜을 사용하는 것에 의해 블록체인 내의 노드 사이에서 확립된다. 따라서, 제2 노드에 의해 수신되는 제1 통신 요청은, SSL 프로토콜 또는 TLS 프로토콜에 기초하여 제1 노드에 의해 전송되고, 암호화된 통신 채널이 노드 사이에서 확립된다. 데이터 송신 보안을 보장하기 위해, 네트워크 연결은 SSL 프로토콜 또는 TLS 프로토콜을 사용하는 것에 의해 송신 계층에서 암호화될 수 있다. 데이터 암호화 기술을 사용하는 것에 의해, 네트워크 송신 프로세스에서 데이터가 인터셉트 또는 도청되지 않는 것이 추가로 보장될 수 있다. 1110 이후, 방법(1100)은 정지한다.
본 명세서에서 설명되는 주제의 구현예는, 특정한 이점 또는 기술적 효과를 실현하도록 구현될 수 있다. 예를 들면, 설명된 주제의 구현예는, 보안이 유지되는 것을 보장하도록, 탈집중화, 개방성 및 투명성, 및 무단 변경 방지와 같은 블록체인의 이점을 사용한다. CA 센터가 해킹되더라도, 해커는 블록체인에 저장되어 있는 디지털 인증서 및 인증서 유효성 정보를 무단 변경할 수 없고, 따라서, 무효한 디지털 인증서를 사용하여 블록체인에 참여할 수 없다. 인증서의 유효성 정보는 블록체인에 저장되며, 노드 인증서의 유효성 상태 정보를 정확하게 반영할 수 있다. 따라서, 인증서의 유효성 정보를 사용하여 노드의 인증서가 유효한지의 여부를 검증하는 것에 의해, 블록체인 노드 사이의 통신의 보안을 보장하고 블록체인 네트워크의 보안을 더욱 향상시키도록, 승인되지 않은 노드가 블록체인에 참여하는 것이 방지될 수 있다.
본 출원의 구현예에서, 블록체인 내의 각각의 노드의 디지털 인증서 및 이전의 인증서 유효성 정보는 노드를 포함하는 블록체인에 저장되고, 디지털 인증서는, 디지털 인증서를 블록체인에 기록하는 것에 의해 블록체인에 저장될 수 있다. 따라서, 본 출원의 구현예에서, 인증서 유효성 검증 결과가 올바르고 정확한 것을 보장하기 위해, 그리고 그에 의해, 블록체인 네트워크의 보안 및 안정성을 보장하기 위해, 탈집중화 및 무단 변경 방지와 같은 블록체인의 특성이 사용되어, 해커가 디지털 인증서 및 디지털 인증서의 유효성 상태 정보를 반영하는 인증서 유효성 정보를 무단 변경하는 것을 방지할 수 있다. 또한, 본 출원의 이 구현예에서, 디지털 인증서의 유효성을 검증할 때, 제2 노드는, CA 센터에 저장되어 있는 인증서 유효성 정보를 원격에서 호출할 필요 없이, 노드에 로컬하게 저장되어 있는 인증서 유효성 정보를 직접적으로 판독할 수 있다. 이것에 기초하여, 유효성 검증의 속도와 보안이 향상된다. 또한, 인증서 유효성 정보와 같은 정보를 로컬하게 호출하는 것에 의해, CA 센터에 대한 블록체인의 단일 지점 종속성이 제거될 수 있고, 블록체인 네트워크의 신뢰성이 더욱 향상된다.
본 명세서에서 설명되는 실시형태 및 동작은, 디지털 전자 회로부(circuitry)에서, 또는, 본 명세서에서 개시되는 구조체를 비롯한 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로 또는 그들 중 하나 이상의 조합으로 구현될 수 있다. 동작은, 하나 이상의 컴퓨터 판독 가능 스토리지 디바이스 상에 저장되어 있는 또는 다른 소스로부터 수신되는 데이터에 대한 데이터 프로세싱 장치에 의해 수행되는 동작으로서 구현될 수 있다. 데이터 프로세싱 장치, 컴퓨터, 또는 컴퓨팅 디바이스는, 예로서, 프로그래머블 프로세서, 컴퓨터, 시스템 온 칩, 또는 전술한 것 중 다수의 것, 또는 전술한 것의 조합을 비롯한, 데이터를 프로세싱하기 위한 장치, 디바이스, 및 머신을 포괄할 수도 있다. 장치는, 예를 들면, 중앙 프로세싱 유닛(CPU), 필드 프로그래머블 게이트 어레이(FPGA) 또는 주문형 집적 회로(ASIC)와 같은 특수 목적의 논리 회로부를 포함할 수 있다. 장치는 또한, 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들면, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 오퍼레이팅 시스템(예를 들면, 오퍼레이팅 시스템 또는 오퍼레이팅 시스템의 조합), 크로스 플랫폼 런타임 환경, 가상 머신, 또는 그들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은, 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은, 여러 가지 상이한 컴퓨팅 모델 인프라를 실현할 수 있다.
컴퓨터 프로그램(예를 들면, 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 소프트웨어 모듈, 소프트웨어 유닛, 스크립트, 또는 코드로서 또한 알려짐)은, 컴파일식 언어(compiled language) 또는 인터프리트식 언어(interpreted language), 선언적 언어(declarative language) 또는 절차적 언어(procedural language)를 비롯한, 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 그것은, 독립형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 오브젝트, 또는 컴퓨팅 환경에서 사용하기에 적절한 다른 유닛으로서 배치되는 것을 비롯한, 임의의 형태로 배치될 수 있다. 프로그램은, 다른 프로그램 또는 데이터를 유지하는 파일의 부분(예를 들면, 마크업 언어 문서에 저장되는 하나 이상의 스크립트)에, 문제가 되는 프로그램에 전용되는 단일의 파일에, 또는 다수의 협력 파일(coordinated file)(예를 들면, 하나 이상의 모듈, 서브 프로그램, 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 상에서 또는 하나의 사이트에 위치되거나 또는 다수의 사이트에 걸쳐 분산되며 통신 네트워크에 의해 인터커넥트되는 다수의 컴퓨터 상에서 실행될 수 있다.
컴퓨터 프로그램의 실행을 위한 프로세서는, 예로서, 범용 및 특수 목적 마이크로프로세서, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서 둘 모두를 포함한다. 일반적으로, 프로세서는 리드 온리 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트는, 명령어에 따라 액션을 수행하기 위한 프로세서 및 명령어 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스를 포함할 것이고, 하나 이상의 대용량 스토리지 디바이스로부터 데이터를 수신하도록 그리고 하나 이상의 대용량 스토리지 디바이스로 데이터를 전송하도록, 또는 둘 모두를 하도록 동작 가능하게 커플링될 것이다. 컴퓨터는, 다른 디바이스, 예를 들면, 모바일 디바이스, 개인 휴대형 정보 단말(personal digital assistant; PDA), 게임 콘솔, 전지구 위치 결정 시스템(global positioning system; GPS) 수신기, 또는 휴대용 스토리지 디바이스에 임베딩될 수 있다. 컴퓨터 프로그램 명령어 및 데이터를 저장하기에 적절한 디바이스는, 예로서, 반도체 메모리 디바이스, 자기 디스크, 및 광자기 디스크(magneto-optical disk)를 비롯한, 비휘발성 메모리, 매체, 및 메모리 디바이스를 포함한다. 프로세서 및 메모리는 특수 목적의 논리 회로부에 의해 보충될 수 있거나, 또는 특수 목적의 논리 회로부에 통합될 수 있다.
모바일 디바이스는 핸드셋, 유저 기기(user equipment; UE), 이동 전화(예를 들면, 스마트폰), 태블릿, 웨어러블 디바이스(예를 들면, 스마트워치 및 스마트 안경), 인체 내부의 이식 디바이스(예를 들면, 바이오 센서, 달팽이관 임플란트), 또는 다른 타입의 모바일 디바이스를 포함할 수 있다. 모바일 디바이스는, 다양한 통신 네트워크(이하에서 설명됨)에 무선으로(예를 들면, 무선 주파수(RF) 신호를 사용하여) 통신할 수 있다. 모바일 디바이스는, 모바일 디바이스의 현재 환경의 특성을 결정하기 위한 센서를 포함할 수 있다. 센서는, 카메라, 마이크, 근접 센서, GPS 센서, 모션 센서, 가속도계, 주변 광 센서, 습도 센서, 자이로스코프, 콤파스, 기압계, 지문 센서, 얼굴 인식 시스템, RF 센서(예를 들면, Wi-Fi 및 셀룰러 무선), 열 센서, 또는 다른 타입의 센서를 포함할 수 있다. 예를 들면, 카메라는, 이동식 또는 고정식 렌즈를 갖는 전방 대향 또는 후방 대향 카메라, 플래시, 이미지 센서, 및 이미지 프로세서를 포함할 수 있다. 카메라는, 얼굴 및/또는 홍채 인식을 위한 세부 사항(detail)을 캡쳐할 수 있는 메가 픽셀 카메라일 수 있다. 카메라는, 데이터 프로세서 및 메모리에 저장되어 있는 또는 원격으로 액세스되는 인증 정보와 함께, 얼굴 인식 시스템을 형성할 수 있다. 얼굴 인식 시스템 또는 하나 이상의 센서, 예를 들면, 마이크, 모션 센서, 가속도계, GPS 센서, 또는 RF 센서는 유저 인증을 위해 사용할 수 있다.
유저와의 상호 작용을 제공하기 위해, 실시형태는, 디스플레이 디바이스 및 입력 디바이스, 예를 들면, 정보를 유저에게 디스플레이하기 위한 액정 디스플레이(liquid crystal display; LCD) 또는 유기 발광 다이오드(organic light-emitting diode; OLED)/가상 현실(virtual-reality; VR)/증강 현실(augmented-reality; AR) 디스플레이 및 유저가 컴퓨터에 입력을 제공할 수 있게 하는 터치스크린, 키보드, 및 포인팅 디바이스를 구비하는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스가 유저와의 상호 작용을 제공하기 위해 또한 사용될 수 있고; 예를 들면, 유저에게 제공되는 피드백은 임의의 형태의 감각 피드백(sensory feedback), 예를 들면, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백을 사용할 수 있고; 유저로부터의 입력은, 음향, 음성, 또는 촉각 입력을 비롯한, 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는, 유저에 의해 사용되는 디바이스로 문서를 전송하는 것 및 유저에 의해 사용되는 디바이스로부터 문서를 수신하는 것에 의해; 예를 들면, 웹 브라우저로부터 수신되는 요청에 응답하여 유저의 클라이언트 디바이스 상에서 웹 브라우저에 웹 페이지를 전송하는 것에 의해, 유저와 상호 작용할 수 있다.
실시형태는, 임의의 형태 또는 매체의 유선 또는 무선 디지털 데이터 통신(또는 그 조합), 예를 들면, 통신 네트워크에 의해 인터커넥트되는 컴퓨팅 디바이스를 사용하여 구현될 수 있다. 인터커넥트된 디바이스의 예는, 통상적으로 통신 네트워크를 통해 상호 작용하는, 일반적으로 서로 멀리 떨어진 클라이언트 및 서버이다. 클라이언트, 예를 들면, 모바일 디바이스는, 그 자체로, 서버와 함께, 또는 서버를 통해 트랜잭션을 수행할 수 있는데, 예를 들면, 트랜잭션을 구매, 판매, 지불, 제공, 전송, 또는 대여할 수 있거나, 또는 트랜잭션을 인가할 수 있다. 그러한 트랜잭션은, 액션 및 응답이 시간적으로 근접하도록 실시간일 수도 있다; 예를 들면, 개인은 액션 및 응답을 실질적으로 동시에 발생하는 것으로 인식하며, 개인의 액션에 후속하는 응답에 대한 시간 차이는 1 밀리초(ms) 미만 또는 1 초(s) 미만이거나, 또는 응답은, 시스템의 프로세싱 제한을 고려하여 의도적인 지연을 갖지 않는다.
통신 네트워크의 예는, 근거리 통신망(local area network; LAN), 무선 액세스 네트워크(Radio Access Network; RAN), 도시권 통신망(Metropolitan Area Network; MAN) 및 광역 통신망(wide area network; WAN)을 포함한다. 통신 네트워크는, 인터넷의 전체 또는 일부, 다른 통신 네트워크, 또는 통신 네트워크의 조합을 포함할 수 있다. 정보는, 롱 텀 에볼루션(long term evolution; LTE), 5Q IEEE 802, 인터넷 프로토콜(IP), 또는 다른 프로토콜 또는 프로토콜의 조합을 비롯한, 다양한 프로토콜 및 표준에 따라 통신 네트워크 상에서 송신될 수 있다. 통신 네트워크는, 연결된 컴퓨팅 디바이스 사이에서, 음성, 비디오, 생체 인식, 또는 인증 데이터, 또는 다른 정보를 송신할 수 있다.
별개의 구현예로서 설명되는 피쳐는, 조합하여, 단일의 구현예에서 구현될 수도 있고, 한편, 단일의 구현예로서 설명되는 피쳐는 다수의 구현예에서, 개별적으로, 또는 임의의 적절한 하위 조합으로 구현될 수도 있다. 특정한 순서로 설명되고 주장되는 동작은 그 특정한 순서를 요구하는 것으로 이해되지 않아야 하고, 모든 예시된 동작이 수행되어야 한다는 것을 규정하는 것으로도 이해되지 않아야 한다(몇몇 동작은 옵션 사항일 수 있음). 적절히, 멀티태스킹 또는 병렬 프로세싱(또는 멀티태스킹과 병렬 프로세싱의 조합)이 수행될 수 있다.

Claims (13)

  1. 블록체인 노드(blockchain node)들 사이의 통신을 위한 방법으로서,
    제2 노드에 의해, 제1 노드에 의해 전송되는 제1 통신 요청 - 상기 제1 통신 요청은 상기 제1 노드의 디지털 인증서를 포함하고, 상기 제1 노드의 상기 디지털 인증서는, 상기 제1 노드 및 상기 제2 노드를 포함하는 블록체인에 저장됨 - 을 수신하는 단계(S101);
    상기 제1 통신 요청 및 인증서 유효성 정보 - 상기 인증서 유효성 정보는 상기 블록체인에 저장되고, 노드의 디지털 인증서의 유효성 상태 정보를 반영하기 위해 사용됨 - 에 기초하여, 상기 제2 노드에 의해, 상기 제1 노드의 상기 디지털 인증서가 유효한지의 여부를 검증하는 단계(S103); 및
    상기 제1 노드의 상기 디지털 인증서가 유효한 경우, 상기 제2 노드에 의해, 상기 제1 노드에 대한 통신 연결을 확립할지의 여부를 결정하는 단계(S105)를 포함하는, 블록체인 노드들 사이의 통신을 위한 방법.
  2. 제1항에 있어서,
    상기 제2 노드에 의해, 제2 통신 요청 - 상기 제2 통신 요청은 상기 제2 노드의 디지털 인증서를 포함하는 것에 의해, 상기 제1 노드는, 상기 제2 통신 요청 및 상기 인증서 유효성 정보에 기초하여, 상기 제2 노드의 상기 디지털 인증서가 유효한지의 여부를 검증함 - 을 상기 제1 노드로 전송하는 단계(S01)를 더 포함하고,
    상기 제1 노드의 상기 디지털 인증서가 유효한 경우, 상기 제2 노드에 의해, 상기 제1 노드에 대한 통신 연결을 확립할지의 여부를 결정하는 단계는,
    상기 제1 노드의 상기 디지털 인증서가 유효하고, 상기 제2 노드의 상기 디지털 인증서가 유효하다는 것을 상기 제1 노드가 검증하는 경우, 상기 제2 노드에 의해, 상기 제1 노드에 대한 상기 통신 연결을 확립하는 단계(S05)를 포함하는 것인, 블록체인 노드들 사이의 통신을 위한 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 인증서 유효성 정보는 폐기되는 무효한 디지털 인증서를 기록하고, 상기 제1 통신 요청 및 인증서 유효성 정보에 기초하여 상기 제2 노드에 의해, 상기 제1 노드의 상기 디지털 인증서가 유효한지의 여부를 검증하는 단계는,
    상기 제2 노드에 의해, 상기 제1 통신 요청에 기초하여 상기 제1 노드의 상기 디지털 인증서를 결정하는 단계;
    상기 블록체인에 저장되어 있는 상기 인증서 유효성 정보에 기초하여 상기 제2 노드에 의해, 상기 제1 노드의 상기 디지털 인증서가 상기 인증서 유효성 정보에 기록되어 있는지의 여부를 검증하는 단계; 및
    상기 제1 노드의 상기 디지털 인증서가 상기 인증서 유효성 정보에 기록되어 있는 경우, 상기 제1 노드의 상기 디지털 인증서가 무효하다는 것을 검증하는 단계를 포함하는 것인, 블록체인 노드들 사이의 통신을 위한 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 인증서 유효성 정보는 유효한 디지털 인증서를 기록하고, 상기 제1 통신 요청 및 인증서 유효성 정보에 기초하여 상기 제2 노드에 의해, 상기 제1 노드의 상기 디지털 인증서가 유효한지의 여부를 검증하는 단계는,
    상기 제2 노드에 의해, 상기 제1 통신 요청에 기초하여 상기 제1 노드의 상기 디지털 인증서를 결정하는 단계;
    상기 블록체인에 저장되어 있는 상기 인증서 유효성 정보에 기초하여 상기 제2 노드에 의해, 상기 제1 노드의 상기 디지털 인증서가 상기 인증서 유효성 정보에 기록되어 있는지의 여부를 검증하는 단계; 및
    상기 제1 노드의 상기 디지털 인증서가 상기 인증서 유효성 정보에 기록되어 있는 경우, 상기 제1 노드의 상기 디지털 인증서가 유효하다는 것을 검증하는 단계를 포함하는 것인, 블록체인 노드들 사이의 통신을 위한 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    제2 노드에 의해, 상기 제1 노드에 의해 전송되는 제1 통신 요청을 수신하는 단계 이전에, 상기 방법은,
    상기 제1 노드의 상기 디지털 인증서를 상기 블록체인에 기록하는 것에 의해, 상기 제1 노드 및 상기 제2 노드를 포함하는 상기 블록체인에 상기 제1 노드의 상기 디지털 인증서를 저장하는 단계를 더 포함하는 것인, 블록체인 노드들 사이의 통신을 위한 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 인증서 유효성 정보는, 상기 블록체인에 의해 수신되는 폐기된 무효한 디지털 인증서 및/또는 유효한 디지털 인증서에 기초하여 결정되는 것인, 블록체인 노드들 사이의 통신을 위한 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 제2 노드에 의해 수신되는 상기 제1 통신 요청은, SSL 프로토콜 또는 TLS 프로토콜에 기초하여 상기 제1 노드에 의해 전송되는 것인, 블록체인 노드들 사이의 통신을 위한 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    인증 기관(certificate authority; CA) 센터에 의해 전송되는, 노드의 디지털 인증서 및 상기 디지털 인증서의 유효성 상태 정보를 수신하는 단계(S201);
    상기 디지털 인증서의 상기 유효성 상태 정보에 기초하여, 상기 디지털 인증서의 상기 유효성 상태 정보를 반영하기 위해 사용되는 인증서 유효성 정보를 결정하는 단계(S203); 및
    상기 디지털 인증서 및 상기 인증서 유효성 정보를 블록체인에 저장하는 단계 - 상기 디지털 인증서 및 상기 인증서 유효성 정보는, 상기 블록체인 내의 제2 노드가 제1 노드에 의해 전송되는 제1 통신 요청을 수신한 이후, 상기 제1 통신 요청에 포함되는 상기 제1 노드의 디지털 인증서가 유효한지의 여부를 검증하기 위해 사용됨 - (S205)를 더 포함하는, 블록체인 노드들 사이의 통신을 위한 방법.
  9. 제8항에 있어서,
    상기 블록체인 내의 상기 제1 노드에 의해, 인증서 신청 요청 - 상기 인증서 신청 요청은 상기 제1 노드의 신청 정보를 포함하고, 상기 제1 노드의 상기 디지털 인증서에 대해 상기 CA 센터에게 신청하기 위해 사용됨 - 을 CA 센터로 전송하는 단계를 더 포함하는, 블록체인 노드들 사이의 통신을 위한 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 디지털 인증서는, 버전 번호, 일련 번호, 인증서 보유자 정보, 유효 기간, 및 CA 센터 서명 중 적어도 하나를 포함하는 것인, 블록체인 노드들 사이의 통신을 위한 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 디지털 인증서는 상기 블록체인 내의 상기 노드에서 체인화되기 이전에는 무효한 것인, 블록체인 노드들 사이의 통신을 위한 방법.
  12. 블록체인 노드들 사이의 통신을 위한 장치로서,
    상기 장치는 제1항 내지 제11항 중 어느 한 항에 따른 방법을 수행하도록 구성되는 복수의 모듈을 포함하는, 블록체인 노드들 사이의 통신을 위한 방법.
  13. 전자 디바이스로서,
    상기 전자 디바이스는 블록체인 내의 제2 노드에 적용되며,
    프로세서; 및
    컴퓨터 실행 가능 명령어를 저장하도록 구성되는 메모리를 포함하고, 상기 컴퓨터 실행 가능 명령어는, 제1항 내지 제11항 중 어느 한 항에 따른 다음의 동작을 수행하도록 상기 프로세서에 의해 실행되는 것인, 전자 디바이스.
KR1020197021995A 2017-07-26 2018-07-26 블록체인 노드들 간의 통신을 위한 방법, 장치와 전자 디바이스, 및 블록체인 기반 인증서 관리를 위한 방법, 장치와 전자 디바이스 KR102268950B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710617599.7A CN107592293A (zh) 2017-07-26 2017-07-26 区块链节点间通讯方法、数字证书管理方法、装置和电子设备
CN201710617599.7 2017-07-26
PCT/US2018/043919 WO2019023470A1 (en) 2017-07-26 2018-07-26 METHOD, APPARATUS AND ELECTRONIC COMMUNICATION DEVICE BETWEEN NODES OF A BLOCK CHAIN AND METHOD, APPARATUS AND ELECTRONIC DEVICE FOR MANAGING CERTIFICATES BASED ON BLOCK CHAIN

Publications (2)

Publication Number Publication Date
KR20190111042A true KR20190111042A (ko) 2019-10-01
KR102268950B1 KR102268950B1 (ko) 2021-06-28

Family

ID=61041865

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197021995A KR102268950B1 (ko) 2017-07-26 2018-07-26 블록체인 노드들 간의 통신을 위한 방법, 장치와 전자 디바이스, 및 블록체인 기반 인증서 관리를 위한 방법, 장치와 전자 디바이스

Country Status (10)

Country Link
US (2) US10862691B2 (ko)
EP (1) EP3602389A1 (ko)
JP (1) JP6934058B2 (ko)
KR (1) KR102268950B1 (ko)
CN (1) CN107592293A (ko)
MY (1) MY195638A (ko)
PH (1) PH12019501719A1 (ko)
SG (2) SG11201906533VA (ko)
TW (1) TWI713353B (ko)
WO (1) WO2019023470A1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220079800A (ko) * 2020-10-28 2022-06-14 클라우드마인즈 로보틱스 컴퍼니 리미티드 프로그램 검증 방법 및 장치, 플랫폼 및 사용자 단말기 및 온라인 서비스 시스템
WO2022149642A1 (ko) * 2021-01-11 2022-07-14 이지스체인 주식회사 무선 통신을 이용한 개인간 비대면 신원 확인 시스템
KR102479987B1 (ko) * 2022-04-19 2022-12-22 주식회사 블로코 검증요청자 단말기로부터 복수 개의 상위 인증기관 인증서들을 획득한 환경에서의 인증서 검증 방법 및 이를 위한 시스템
KR102479986B1 (ko) * 2022-04-19 2022-12-22 주식회사 블로코 블록체인 네트워크로부터 복수 개의 상위 인증기관 인증서들을 획득한 환경에서의 인증서 검증 방법 및 이를 위한 시스템
KR102479985B1 (ko) * 2022-04-19 2022-12-22 주식회사 블로코 블록체인을 활용한 인증서 검증 방법 및 이를 위한 시스템
WO2023287097A1 (ko) * 2021-07-13 2023-01-19 주식회사 헤세그 블록체인 네트워크 상의 특수 목적 토큰을 이용한 탈중앙화 자격 증명 방법 및 그 시스템
WO2023204411A1 (ko) * 2022-04-19 2023-10-26 주식회사 블로코 블록체인을 활용한 인증서 검증 방법 및 이를 위한 시스템

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107592293A (zh) * 2017-07-26 2018-01-16 阿里巴巴集团控股有限公司 区块链节点间通讯方法、数字证书管理方法、装置和电子设备
CN108390872B (zh) * 2018-02-09 2021-02-26 北京京东尚科信息技术有限公司 证书管理方法、装置、介质及电子设备
CN108537063A (zh) * 2018-02-26 2018-09-14 阿里巴巴集团控股有限公司 一种数据存储的方法、装置及设备
CN108509514A (zh) * 2018-03-09 2018-09-07 史玉成 一种基于区块链的大数据分析方法及系统
CN110324290B (zh) * 2018-03-30 2022-02-01 贵州白山云科技股份有限公司 网络设备认证的方法、网元设备、介质及计算机设备
CN110380857B (zh) 2018-04-12 2020-09-11 中国移动通信有限公司研究院 数字证书处理方法及装置、区块链节点、存储介质
US11615060B2 (en) 2018-04-12 2023-03-28 ISARA Corporation Constructing a multiple entity root of trust
CN108960825A (zh) * 2018-06-26 2018-12-07 阿里巴巴集团控股有限公司 基于区块链的电子签名方法及装置、电子设备
US11487852B2 (en) * 2018-06-26 2022-11-01 Dell Products, L.P. Blockchain-based license management
CN110493273B (zh) * 2018-06-28 2021-03-16 腾讯科技(深圳)有限公司 身份认证数据处理方法、装置、计算机设备和存储介质
CN110740039B (zh) * 2018-07-19 2022-05-13 中国移动通信有限公司研究院 一种数字证书管理系统、方法及服务终端
CN108964924B (zh) * 2018-07-24 2020-06-05 腾讯科技(深圳)有限公司 数字证书校验方法、装置、计算机设备和存储介质
US11374753B2 (en) 2018-07-27 2022-06-28 Hrl Laboratories, Llc System and method for selective transparency for public ledgers
EP3831012B1 (en) * 2018-07-27 2023-08-23 HRL Laboratories, LLC Bidirectional blockchain
CN109167771B (zh) * 2018-08-21 2020-06-05 京东数字科技控股有限公司 基于联盟链的鉴权方法、装置、设备及可读存储介质
CN109460993A (zh) * 2018-09-04 2019-03-12 咪咕文化科技有限公司 一种信息处理方法、装置及存储介质
CN109325759B (zh) * 2018-09-17 2023-09-19 简单汇信息科技(广州)有限公司 在线开立方法、管理平台、装置、系统及存储介质
EP3633915B1 (en) * 2018-10-01 2023-05-10 Schneider Electric Industries SAS Secure storage of data in a blockchain
CN109150549A (zh) * 2018-10-26 2019-01-04 北京中宇万通科技股份有限公司 一种基于国产密码算法实现区块链密码安全服务的方法
US20200134592A1 (en) * 2018-10-26 2020-04-30 Ford Global Technologies, Llc Systems and methods for vehicle sharing on peer-to-peer networks
EP3533178B1 (en) 2018-11-07 2020-09-09 Alibaba Group Holding Limited Managing communications among consensus nodes and client nodes
CN109302415B (zh) * 2018-11-09 2019-11-01 四川虹微技术有限公司 一种认证方法、区块链节点及存储介质
CN109492377A (zh) * 2018-11-09 2019-03-19 四川虹微技术有限公司 设备验证方法、装置及电子设备
US10897498B1 (en) * 2019-01-29 2021-01-19 Sprint Communications Company L.P. Distributed ledger technology (DLT) control over wireless data relays that serve user equipment (UE)
CN109803023A (zh) * 2019-01-31 2019-05-24 北京融链科技有限公司 数据处理方法及系统
KR102199464B1 (ko) * 2019-02-19 2021-01-06 군산대학교산학협력단 컨소시엄 블록체인 참가 노드 간의 인증 방안
CN111598564B (zh) * 2019-02-20 2023-11-21 华为技术有限公司 区块链节点连接建立方法、装置及设备
CN109948371B (zh) * 2019-03-07 2021-06-25 深圳市智税链科技有限公司 为区块链节点发放身份证书的方法及相关装置
CN110071807B (zh) * 2019-03-22 2022-03-01 湖南天河国云科技有限公司 区块链点对点节点认证方法、系统及计算机可读存储介质
AU2019204708B2 (en) 2019-03-27 2020-08-20 Advanced New Technologies Co., Ltd. Retrieving public data for blockchain networks using highly available trusted execution environments
CN109981650B (zh) * 2019-03-27 2022-11-18 致信互链(北京)科技有限公司 区块链中通证的转移方法及系统
CN110914851B (zh) 2019-03-27 2024-02-06 创新先进技术有限公司 提高区块链网络与外部数据源之间的通信的完整性
EP3910907B1 (en) 2019-03-29 2023-08-02 Advanced New Technologies Co., Ltd. Retrieving access data for blockchain networks using highly available trusted execution environments
GB2583767A (en) * 2019-05-10 2020-11-11 Nchain Holdings Ltd Methods and devices for public key management using a blockchain
CN110278255B (zh) * 2019-06-13 2021-10-15 深圳前海微众银行股份有限公司 一种基于区块链的物联网iot设备间通信的方法及装置
CN110545286B (zh) * 2019-09-18 2022-04-26 腾讯科技(深圳)有限公司 加入联盟链、退出联盟链的方法、装置、设备及存储介质
US11816662B2 (en) * 2019-12-06 2023-11-14 Mastercard International Incorporated Method and system for enabling communication between blockchains on heterogeneous blockchain networks
US11954678B2 (en) 2019-12-06 2024-04-09 Mastercard International Incorporated Method and system for communication between blockchains on heterogeneous blockchain networks
CN110708170B (zh) * 2019-12-13 2020-03-27 腾讯科技(深圳)有限公司 一种数据处理方法、装置以及计算机可读存储介质
CN111147517A (zh) * 2019-12-31 2020-05-12 上海分布信息科技有限公司 安全通讯方法、装置、终端设备
CN113114463B (zh) * 2020-01-13 2023-04-07 中国移动通信有限公司研究院 一种证书注册方法、验证方法及设备
CN113206817B (zh) * 2020-02-03 2022-07-12 中移物联网有限公司 一种设备连接确认方法和区块链网络
CN111352998B (zh) * 2020-02-28 2021-09-21 中国计量科学研究院 一种可信联盟区块链数字校准证书系统及其操作方法
JP6960493B2 (ja) * 2020-03-16 2021-11-05 三菱電機インフォメーションシステムズ株式会社 資金調達支援装置、資金調達支援方法、および資金調達支援プログラム
CN111447238A (zh) * 2020-04-13 2020-07-24 夏彬彬 基于区块链的数据共享系统
CN111753018B (zh) * 2020-06-30 2022-07-05 深圳壹账通智能科技有限公司 电子函证方法、系统和计算机设备
CN111541724B (zh) * 2020-07-08 2021-06-29 支付宝(杭州)信息技术有限公司 区块链一体机及其节点自动加入方法、装置
CN111541552B (zh) * 2020-07-08 2021-06-22 支付宝(杭州)信息技术有限公司 区块链一体机及其节点自动加入方法、装置
CN112118231B (zh) * 2020-08-21 2022-06-10 浙江数秦科技有限公司 一种基于区块链技术的可信身份管理方法
US10958450B1 (en) 2020-10-15 2021-03-23 ISARA Corporation Constructing a multiple-entity root certificate data block chain
CN112000976B (zh) * 2020-10-29 2021-01-29 腾讯科技(深圳)有限公司 区块链系统的认证管理方法、装置、介质及电子设备
CN114268628B (zh) * 2021-12-22 2023-06-23 深圳市名竹科技有限公司 跨区块链服务平台组网方法、系统、设备和存储介质
CN117478302B (zh) * 2023-12-28 2024-03-01 湖南天河国云科技有限公司 基于区块链隐私节点身份验证方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090133112A (ko) * 2007-05-07 2009-12-31 엘지전자 주식회사 보안 통신 방법 및 시스템
US20170076286A1 (en) * 2015-09-11 2017-03-16 Bank Of America Corporation Controlling access to data
CN106789090A (zh) * 2017-02-24 2017-05-31 陈晶 基于区块链的公钥基础设施系统及半随机联合证书签名方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206934B2 (en) * 2002-09-26 2007-04-17 Sun Microsystems, Inc. Distributed indexing of identity information in a peer-to-peer network
JP2006154125A (ja) 2004-11-26 2006-06-15 Ntt Docomo Inc ローカル認証システム、ローカル認証装置、ローカル認証方法
US7266692B2 (en) * 2004-12-17 2007-09-04 Ntt Docomo, Inc. Use of modular roots to perform authentication including, but not limited to, authentication of validity of digital certificates
JP4483817B2 (ja) 2006-03-30 2010-06-16 村田機械株式会社 失効リスト取得機能付き通信装置
US7958368B2 (en) * 2006-07-14 2011-06-07 Microsoft Corporation Password-authenticated groups
CA2585808A1 (en) * 2007-03-26 2008-09-26 David Ker Method and system for implementing a secured and centrally managed virtual ip network on a common ip network infrastructure
US8572368B1 (en) * 2011-09-23 2013-10-29 Symantec Corporation Systems and methods for generating code-specific code-signing certificates containing extended metadata
JP2014033395A (ja) 2012-08-06 2014-02-20 Nec Engineering Ltd 証明書失効リスト管理システム、証明書失効リスト生成装置、検証装置及び電子証明書検証方法
US9667616B2 (en) 2013-01-08 2017-05-30 Mitsubishi Electric Corporation Authentication processing apparatus, authentication processing system, authentication processing method and authentication processing program
DE102014203813A1 (de) 2014-02-28 2015-09-03 Siemens Aktiengesellschaft Verwendung von Zertifikaten mittels einer Positivliste
KR101637854B1 (ko) * 2015-10-16 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
CA3008705C (en) * 2015-12-14 2020-03-10 Coinplug, Inc. System for issuing public certificate on basis of block chain, and method for issuing public certificate on basis of block chain by using same
WO2017127564A1 (en) 2016-01-19 2017-07-27 Priv8Pay, Inc. Network node authentication
WO2017149537A1 (en) * 2016-02-29 2017-09-08 Secret Double Octopus Ltd System and method for securing a communication channel
KR101799343B1 (ko) 2016-05-16 2017-11-22 주식회사 코인플러그 인증 정보의 사용 방법, 파기 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버
KR101780636B1 (ko) 2016-05-16 2017-09-21 주식회사 코인플러그 인증 정보의 발급 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버
US10764067B2 (en) * 2016-05-23 2020-09-01 Pomian & Corella, Llc Operation of a certificate authority on a distributed ledger
WO2018020943A1 (ja) * 2016-07-28 2018-02-01 日本電気株式会社 番号ポータビリティ情報管理システム
CN106385315B (zh) * 2016-08-30 2019-05-17 北京三未信安科技发展有限公司 一种数字证书管理方法及系统
US10157295B2 (en) * 2016-10-07 2018-12-18 Acronis International Gmbh System and method for file authenticity certification using blockchain network
WO2018075965A1 (en) * 2016-10-20 2018-04-26 IsoNetic, Inc. Dark virtual private networks and secure services
CN106504091B (zh) * 2016-10-27 2018-06-29 深圳壹账通智能科技有限公司 区块链上交易的方法及装置
CN106972931B (zh) * 2017-02-22 2020-05-15 中国科学院数据与通信保护研究教育中心 一种pki中证书透明化的方法
CN107392040B (zh) * 2017-04-28 2019-08-09 阿里巴巴集团控股有限公司 一种共识验证的方法及装置
CN107592293A (zh) * 2017-07-26 2018-01-16 阿里巴巴集团控股有限公司 区块链节点间通讯方法、数字证书管理方法、装置和电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090133112A (ko) * 2007-05-07 2009-12-31 엘지전자 주식회사 보안 통신 방법 및 시스템
US20170076286A1 (en) * 2015-09-11 2017-03-16 Bank Of America Corporation Controlling access to data
CN106789090A (zh) * 2017-02-24 2017-05-31 陈晶 基于区块链的公钥基础设施系统及半随机联合证书签名方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PGP DIGITAL SIGNATURE CERTIFICATE POLICY for electronic signature use, State of Arizona Policy Authority Office of the Secretary of State (2001.)* *
T. Dierks 외 1명, The TLS Protocol Version 1.0, RFC 2246 (1999.01.)* *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220079800A (ko) * 2020-10-28 2022-06-14 클라우드마인즈 로보틱스 컴퍼니 리미티드 프로그램 검증 방법 및 장치, 플랫폼 및 사용자 단말기 및 온라인 서비스 시스템
WO2022149642A1 (ko) * 2021-01-11 2022-07-14 이지스체인 주식회사 무선 통신을 이용한 개인간 비대면 신원 확인 시스템
KR20220101429A (ko) * 2021-01-11 2022-07-19 서울외국어대학원대학교 산학협력단 무선 통신을 이용한 개인간 비대면 신원 확인 시스템
WO2023287097A1 (ko) * 2021-07-13 2023-01-19 주식회사 헤세그 블록체인 네트워크 상의 특수 목적 토큰을 이용한 탈중앙화 자격 증명 방법 및 그 시스템
KR20230010971A (ko) * 2021-07-13 2023-01-20 주식회사 헤세그 블록체인 네트워크 상의 특수 목적 토큰을 이용한 탈중앙화 자격 증명 방법 및 그 시스템
KR102479987B1 (ko) * 2022-04-19 2022-12-22 주식회사 블로코 검증요청자 단말기로부터 복수 개의 상위 인증기관 인증서들을 획득한 환경에서의 인증서 검증 방법 및 이를 위한 시스템
KR102479986B1 (ko) * 2022-04-19 2022-12-22 주식회사 블로코 블록체인 네트워크로부터 복수 개의 상위 인증기관 인증서들을 획득한 환경에서의 인증서 검증 방법 및 이를 위한 시스템
KR102479985B1 (ko) * 2022-04-19 2022-12-22 주식회사 블로코 블록체인을 활용한 인증서 검증 방법 및 이를 위한 시스템
WO2023204411A1 (ko) * 2022-04-19 2023-10-26 주식회사 블로코 블록체인을 활용한 인증서 검증 방법 및 이를 위한 시스템

Also Published As

Publication number Publication date
SG11201906533VA (en) 2019-08-27
TW201911807A (zh) 2019-03-16
TWI713353B (zh) 2020-12-11
US20190036711A1 (en) 2019-01-31
MY195638A (en) 2023-02-03
JP2020512715A (ja) 2020-04-23
US20200127857A1 (en) 2020-04-23
SG10202101746SA (en) 2021-03-30
US10862691B2 (en) 2020-12-08
EP3602389A1 (en) 2020-02-05
JP6934058B2 (ja) 2021-09-08
US10951424B2 (en) 2021-03-16
KR102268950B1 (ko) 2021-06-28
PH12019501719A1 (en) 2020-03-16
WO2019023470A1 (en) 2019-01-31
CN107592293A (zh) 2018-01-16

Similar Documents

Publication Publication Date Title
KR102268950B1 (ko) 블록체인 노드들 간의 통신을 위한 방법, 장치와 전자 디바이스, 및 블록체인 기반 인증서 관리를 위한 방법, 장치와 전자 디바이스
KR102232557B1 (ko) 디지털 인증서 관리 방법, 장치 및 시스템
KR102315799B1 (ko) 디지털 인증서 관리 방법 및 장치, 및 전자 디바이스
KR102074116B1 (ko) 블록체인 노드 통신 방법 및 장치
EP3602959B1 (en) Method and apparatuses for communication between blockchain nodes
US11438764B2 (en) Secure mobile initiated authentication
JP7030981B2 (ja) 資産管理方法および装置、および電子デバイス
US20210044976A1 (en) Secure mobile initiated authentications to web-services
CN110569674B (zh) 基于区块链网络的认证方法及装置
JP2021131870A (ja) クロスブロックチェーン認証方法および装置
KR102266206B1 (ko) 합의 노드와 클라이언트 노드 간의 통신을 관리하는 방법

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
AMND Amendment
AMND Amendment
N231 Notification of change of applicant
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)