KR102269753B1 - 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치 - Google Patents

컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치 Download PDF

Info

Publication number
KR102269753B1
KR102269753B1 KR1020190100582A KR20190100582A KR102269753B1 KR 102269753 B1 KR102269753 B1 KR 102269753B1 KR 1020190100582 A KR1020190100582 A KR 1020190100582A KR 20190100582 A KR20190100582 A KR 20190100582A KR 102269753 B1 KR102269753 B1 KR 102269753B1
Authority
KR
South Korea
Prior art keywords
private key
nth
block generating
generating node
partitioned
Prior art date
Application number
KR1020190100582A
Other languages
English (en)
Other versions
KR20210020699A (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 주식회사 코인플러그
Priority to KR1020190100582A priority Critical patent/KR102269753B1/ko
Publication of KR20210020699A publication Critical patent/KR20210020699A/ko
Application granted granted Critical
Publication of KR102269753B1 publication Critical patent/KR102269753B1/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 블록체인 네트워크를 이용하여 프라이빗 키를 백업하는 방법에 있어서, (a) 사용자에 의한 프라이빗 키 백업 요청이 획득되면, 사용자 단말이, 상기 프라이빗 키를 분할하여 제1 분할된 프라이빗 키 내지 제n - 상기 n은 1 이상의 정수임 - 분할된 프라이빗 키를 생성하며, 상기 블록체인 네트워크를 구성하는 제1 블록체인 노드 내지 제n 블록체인 노드 각각의 제1 블록체인 어드레스 내지 제n 블록체인 어드레스, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키, 및 상기 사용자의 DID를 포함하는 제1 프라이빗 키 백업 요청 트랜잭션 내지 제n 프라이빗 키 백업 요청 트랜잭션을 생성하는 단계; 및 (b) 상기 사용자 단말이, 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션을 상기 블록체인 네트워크로 브로드캐스팅하여 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션이 상기 제1 블록체인 어드레스 내지 상기 제n 블록체인 어드레스에 대응되는 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 전송되도록 하며, 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션 각각을 수신한 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 하여금 상기 사용자의 DID와 연계하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 저장하도록 하도록 하는 단계; 를 포함하는 방법에 관한 것이다.

Description

컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치{METHOD FOR PERFORMING BACKUP AND RECOVERY PRIVATE KEY IN CONSORTIUM BLOCKCHAIN NETWORK, AND DEVICE USING THEM}
본 발명은 사용자의 프라이빗 키를 백업 및 복원하는 방법 및 장치에 관한 것으로, 보다 상세하게는, 컨소시엄 블록체인 네트워크에서 사용자의 프라이빗 키를 백업 및 복원하는 방법 및 장치에 관한 것이다.
일반적으로 PKI(public key infrastructure) 시스템에서 사용되는 비대칭 키는 프라이빗 키와 퍼블릭 키로 구성되어 있다.
이중, 프라이빗 키는 사용자가 생성하여 관리하는 것으로, 외부에 절대적으로 노출되어서는 안 되는 정보이다.
특히, 블록체인 네트워크의 사용자는 프라이빗 키와 퍼블릭 키를 스스로 생성하며, 프라이빗 키의 분실에 대비하여 생성된 프라이빗 키를 백업하여 관리하고 있다.
일 예로, 블록체인 네트워크 사용자는 프라이빗 키를 프린트하거나 다른 문서에 기재하여 관리하고 있다.
이는 사용자들이 블록체인 어플리케이션을 부담 없이 사용하게 하는 데 있어 가장 큰 허들(hurdle)이며, 재발급이 가능한 공인인증서와는 다르게, 프라이빗 키를 분실할 경우에는 프라이빗 키의 해당 주소와 연결된 블록체인 네트워크 상의 자산을 영원히 복구할 수 없게 되는 문제점이 있다.
또한, 다른 문서를 이용하여 프라이빗 키를 관리하는 경우에는 프라이빗 키의 도난 등의 문제가 발생할 수 있으며, 프라이빗 키가 제3자에 의해 도용될 경우에는 블록체인 네트워크 상의 사용자 자산에 대한 권한을 상실하게 되는 문제점이 발생할 수 있다.
본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 블록체인 네트워크 사용자들이 자신의 프라이빗 키를 효과적으로 관리할 수 있도록 하는 것을 다른 목적으로 한다.
또한, 본 발명은 블록체인 네트워크 사용자들이 자신의 프라이빗 키를 용이하게 백업할 수 있도록 하며, 백업된 프라이빗 키를 용이하게 복원할 수 있도록 하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 블록체인 네트워크 사용자들이 자신의 프라이빗 키를 블록체인 네트워크에 백업하여 제3자에 의한 도용을 방지할 수 있도록 하는 것을 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 실시예에 따르면, 블록체인 네트워크를 이용하여 프라이빗 키를 백업하는 방법에 있어서, (a) 사용자에 의한 프라이빗 키 백업 요청이 획득되면, 사용자 단말이, 상기 프라이빗 키를 분할하여 제1 분할된 프라이빗 키 내지 제n - 상기 n은 1 이상의 정수임 - 분할된 프라이빗 키를 생성하며, 상기 블록체인 네트워크를 구성하는 제1 블록체인 노드 내지 제n 블록체인 노드 각각의 제1 블록체인 어드레스 내지 제n 블록체인 어드레스, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키, 및 상기 사용자의 DID를 포함하는 제1 프라이빗 키 백업 요청 트랜잭션 내지 제n 프라이빗 키 백업 요청 트랜잭션을 생성하는 단계; 및 (b) 상기 사용자 단말이, 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션을 상기 블록체인 네트워크로 브로드캐스팅하여 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션이 상기 제1 블록체인 어드레스 내지 상기 제n 블록체인 어드레스에 대응되는 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 전송되도록 하며, 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션 각각을 수신한 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 하여금 상기 사용자의 DID와 연계하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 저장하도록 하도록 하는 단계; 를 포함하는 방법이 제공된다.
상기 (b) 단계에서, 상기 사용자 단말은, 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션에 대응하여 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로부터 사용자 인증 정보 요청이 획득되면, (i) 상기 사용자의 DID에 대응되는 상기 사용자의 입증 정보인 자격 증명을 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 전송하여 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각이 상기 자격 증명을 획득하도록 하거나, 상기 자격 증명이 저장된 데이터 허브의 정보를 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 전송하여 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각이 상기 데이터 허브와의 인터랙션을 통해 상기 자격 증명을 획득하도록 하며, (ii) 상기 자격 증명을 획득한 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 하여금 상기 자격 증명이 유효한지를 확인하여 상기 사용자를 인증하도록 할 수 있다.
상기 (a) 단계에서, 상기 사용자 단말은, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각의 퍼블릭 키들을 이용하여 암호화하여 암호화된 제1 분할된 프라이빗 키 내지 암호화된 제n 분할된 프라이빗 키를 생성하며, 상기 암호화된 제1 분할된 프라이빗 키 내지 상기 암호화된 제n 분할된 프라이빗 키 각각이 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션 각각에 포함되도록 하며, 상기 (b) 단계에서, 상기 사용자 단말은, 상기 암호화된 제1 분할된 프라이빗 키 내지 상기 암호화된 제n 분할된 프라이빗 키 각각이 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각에 저장되도록 할 수 있다.
상기 (a) 단계에서, 상기 사용자 단말은, 상기 프라이빗 키를 shamir의 비밀 분산 기법으로 분할하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키를 생성할 수 있다.
상기 블록체인 네트워크는, 컨소시엄 블록체인 네트워크, 프라이빗 블록체인 네트워크, 및 퍼블릭 블록체인 네트워크 중 어느 하나를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 블록체인 네트워크를 이용하여 프라이빗 키를 복원하는 방법에 있어서, (a) 프라이빗 키를 분할한 제1 분할된 프라이빗 키 내지 제n - 상기 n은 1 이상의 정수임 - 분할된 프라이빗 키 각각이 블록체인 네트워크를 구성하는 제1 블록체인 노드 내지 제n 블록체인 노드 각각에 사용자의 DID와 연계되어 저장된 상태이거나, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키를 상기 제1 블록체인 노드 내지 상기 재n 블록체인 노드의 퍼블릭키를 이용하여 암호화한 암호화된 제1 분할된 프라이빗 키 내지 암호화된 제n 분할된 프라이빗 키 각각이 상기 제1 블록체인 노드 내지 상기 재n 블록체인 노드 각각에 상기 사용자의 DID와 연계되어 저장된 상태에서, 사용자에 의해 프라이빗 키 복원 요청이 획득되면, 사용자 단말이, 적어도 상기 사용자의 DID를 포함하는 분할된 프라이빗 키 전송 요청 트랜잭션을 상기 블록체인 네트워크로 브로드캐스팅하여 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 하여금 상기 사용자의 DID와 연계되어 저장된 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 상기 사용자 단말로 전송하도록 하거나, 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 하여금 암호화된 제1 분할된 프라이빗 키 내지 암호화된 제n 분할된 프라이빗 키 각각을 각각의 프라이빗 키로 복호화하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 생성하도록 하며, 복호화된 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 상기 사용자 단말로 전송하도록 하는 단계; 및 (b) 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로부터 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각이 획득되면, 상기 사용자 단말이, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키을 이용하여 상기 프라이빗 키를 복원하는 단계; 를 포함하는 방법이 제공된다.
상기 (a) 단계에서, 상기 사용자 단말은, 상기 분할된 프라이빗 키 전송 요청 트랜잭션에 대응하여 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로부터 사용자 인증 정보 요청이 획득되면, (i) 상기 사용자의 DID에 대응되는 상기 사용자의 입증 정보인 자격 증명을 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 전송하여 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각이 상기 자격 증명을 획득하도록 하거나, 상기 자격 증명이 저장된 데이터 허브의 정보를 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 전송하여 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각이 상기 데이터 허브와의 인터랙션을 통해 상기 자격 증명을 획득하도록 하며, (ii) 상기 자격 증명을 획득한 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 하여금 상기 자격 증명이 유효한지를 확인하여 상기 사용자를 인증하도록 할 수 있다.
상기 (b) 단계에서, 상기 사용자 단말은, 라그랑제 보간법을 이용하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키로부터 상기 프라이빗 키를 복원할 수 있다.
상기 (b) 단계에서, 상기 사용자 단말은, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 중 적어도 m - 상기 m은 1 이상이며 n 이하인 정수임 - 개의 분할된 프라이빗 키가 획득되면, 상기 라그랑제 보간법을 이용하여 상기 프라이빗 키를 복원할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 블록체인 네트워크를 이용하여 프라이빗 키를 백업하는 사용자 단말에 있어서, 블록체인 네트워크를 이용하여 프라이빗 키를 백업하기 위한 인스트럭션들을 저장하는 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 블록체인 네트워크를 이용하여 프라이빗 키를 백업하기 위한 동작을 수행하는 프로세서; 를 포함하되, 상기 프로세서는, (i) 사용자에 의한 프라이빗 키 백업 요청이 획득되면, 상기 프라이빗 키를 분할하여 제1 분할된 프라이빗 키 내지 제n - 상기 n은 1 이상의 정수임 - 분할된 프라이빗 키를 생성하며, 상기 블록체인 네트워크를 구성하는 제1 블록체인 노드 내지 제n 블록체인 노드 각각의 제1 블록체인 어드레스 내지 제n 블록체인 어드레스, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키, 및 상기 사용자의 DID를 포함하는 제1 프라이빗 키 백업 요청 트랜잭션 내지 제n 프라이빗 키 백업 요청 트랜잭션을 생성하는 프로세스, 및 (ii) 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션을 상기 블록체인 네트워크로 브로드캐스팅하여 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션이 상기 제1 블록체인 어드레스 내지 상기 제n 블록체인 어드레스에 대응되는 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 전송되도록 하며, 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션 각각을 수신한 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 하여금 상기 사용자의 DID와 연계하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 저장하도록 하도록 하는 프로세스를 수행하는 사용자 단말이 제공된다.
상기 프로세서는, 상기 (ii) 프로세스에서, 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션에 대응하여 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로부터 사용자 인증 정보 요청이 획득되면, (ii-1) 상기 사용자의 DID에 대응되는 상기 사용자의 입증 정보인 자격 증명을 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 전송하여 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각이 상기 자격 증명을 획득하도록 하거나, 상기 자격 증명이 저장된 데이터 허브의 정보를 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 전송하여 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각이 상기 데이터 허브와의 인터랙션을 통해 상기 자격 증명을 획득하도록 하며, (ii-2) 상기 자격 증명을 획득한 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 하여금 상기 자격 증명이 유효한지를 확인하여 상기 사용자를 인증하도록 할 수 있다.
상기 프로세서는, 상기 (i) 프로세스에서, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각의 퍼블릭 키들을 이용하여 암호화하여 암호화된 제1 분할된 프라이빗 키 내지 암호화된 제n 분할된 프라이빗 키를 생성하며, 상기 암호화된 제1 분할된 프라이빗 키 내지 상기 암호화된 제n 분할된 프라이빗 키 각각이 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션 각각에 포함되도록 하며, 상기 (ii) 프로세스에서, 상기 암호화된 제1 분할된 프라이빗 키 내지 상기 암호화된 제n 분할된 프라이빗 키 각각이 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각에 저장되도록 할 수 있다.
상기 프로세서는, 상기 (i) 프로세스에서, 상기 프라이빗 키를 shamir의 비밀 분산 기법으로 분할하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키를 생성할 수 있다.
상기 블록체인 네트워크는, 컨소시엄 블록체인 네트워크, 프라이빗 블록체인 네트워크, 및 퍼블릭 블록체인 네트워크 중 어느 하나를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 블록체인 네트워크를 이용하여 프라이빗 키를 복원하는 사용자 단말에서 있어서, 블록체인 네트워크를 이용하여 프라이빗 키를 복원하기 위한 인스트럭션들이 저장된 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 블록체인 네트워크를 이용하여 프라이빗 키를 복원하기 위한 동작을 수행하는 프로세서; 를 포함하되, 상기 프로세서는, (i) 프라이빗 키를 분할한 제1 분할된 프라이빗 키 내지 제n - 상기 n은 1 이상의 정수임 - 분할된 프라이빗 키 각각이 블록체인 네트워크를 구성하는 제1 블록체인 노드 내지 제n 블록체인 노드 각각에 사용자의 DID와 연계되어 저장된 상태이거나, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키를 상기 제1 블록체인 노드 내지 상기 재n 블록체인 노드의 퍼블릭키를 이용하여 암호화한 암호화된 제1 분할된 프라이빗 키 내지 암호화된 제n 분할된 프라이빗 키 각각이 상기 제1 블록체인 노드 내지 상기 재n 블록체인 노드 각각에 상기 사용자의 DID와 연계되어 저장된 상태에서, 사용자에 의해 프라이빗 키 복원 요청이 획득되면, 적어도 상기 사용자의 DID를 포함하는 분할된 프라이빗 키 전송 요청 트랜잭션을 상기 블록체인 네트워크로 브로드캐스팅하여 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 하여금 상기 사용자의 DID와 연계되어 저장된 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 상기 사용자 단말로 전송하도록 하거나, 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 하여금 암호화된 제1 분할된 프라이빗 키 내지 암호화된 제n 분할된 프라이빗 키 각각을 각각의 프라이빗 키로 복호화하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 생성하도록 하며, 복호화된 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 상기 사용자 단말로 전송하도록 하는 프로세스, 및 (ii) 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로부터 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각이 획득되면, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키을 이용하여 상기 프라이빗 키를 복원하는 프로세스를 수행하는 사용자 단말이 제공된다.
상기 프로세서는, 상기 (i) 프로세스에서, 상기 분할된 프라이빗 키 전송 요청 트랜잭션에 대응하여 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로부터 사용자 인증 정보 요청이 획득되면, (i-1) 상기 사용자의 DID에 대응되는 상기 사용자의 입증 정보인 자격 증명을 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 전송하여 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각이 상기 자격 증명을 획득하도록 하거나, 상기 자격 증명이 저장된 데이터 허브의 정보를 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 전송하여 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각이 상기 데이터 허브와의 인터랙션을 통해 상기 자격 증명을 획득하도록 하며, (i-2) 상기 자격 증명을 획득한 상기 제1 블록체인 노드 내지 상기 제n 블록체인 노드 각각으로 하여금 상기 자격 증명이 유효한지를 확인하여 상기 사용자를 인증하도록 할 수 있다.
상기 프로세서는, 상기 (ii) 프로세스에서, 라그랑제 보간법을 이용하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키로부터 상기 프라이빗 키를 복원할 수 있다.
상기 프로세서는, 상기 (ii) 프로세스에서, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 중 적어도 m - 상기 m은 1 이상이며 n 이하인 정수임 - 개의 분할된 프라이빗 키가 획득되면, 상기 라그랑제 보간법을 이용하여 상기 프라이빗 키를 복원할 수 있다.
삭제
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 다음과 같은 효과가 있다.
본 발명은 블록체인 네트워크 사용자들이 자신의 프라이빗 키를 분할하여 컨소시엄 블록체인 네트워크의 블록 생성 노드들에 분산 저장함으로써 자신의 프라이빗 키를 효과적으로 관리할 수 있게 된다.
본 발명은 블록체인 네트워크 사용자들이 자신의 프라이빗 키를 분할하여 컨소시엄 블록체인 네트워크의 블록 생성 노드들에 분산 저장함으로써 자신의 프라이빗 키를 용이하게 백업할 수 있게 되며, 백업된 프라이빗 키를 용이하게 복원할 수 있게 된다.
본 발명은 블록체인 네트워크 사용자들이 자신의 프라이빗 키를 분할하여 컨소시엄 블록체인 네트워크의 블록 생성 노드들에 분산 저장함으로써 제3자에 의한 도용을 방지할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하기 위한 시스템을 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하기 위한 시스템을 개략적으로 도시한 것으로, 시스템(100)은 사용자 단말(10)과 컨소시엄 블록체인 네트워크(20)를 포함할 수 있다.
먼저, 사용자 단말(10)은 사용자가 PKI 기반의 프라이빗 키와 퍼블릭 키를 생성할 수 있도록 하며, 사용자에 의한 프라이빗 키의 백업과 복원을 수행하는 주체로, PC(Personal Computer), 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿, IoT 기기, 서버 등을 포함할 수 있다. 하지만, 사용자 단말(10)은 이에 한정되지 않으며, 유무선 통신 기능을 가진 휴대용 게임기, 디지털 카메라, 개인 내비게이션 등과 같이 일회성 아이디를 생성하기 위한 컴퓨팅 연산을 수행할 수 있는 모든 장치를 포함할 수 있다.
또한, 사용자 단말(10)은 프라이빗 키의 백업과 복원을 위한 인스트럭션들을 저장하는 메모리와 메모리에 저장된 인스트럭션들에 대응하여 프라이빗 키의 백업과 복원을 위한 동작을 수행하는 프로세서를 포함할 수 있다.
구체적으로, 사용자 단말(10)은 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세스, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
다음으로, 컨소시엄 블록체인 네트워크(20)는 사용자의 프라이빗 키를 분산 저장하는 것으로, 다수의 블록 생성 노드(BP)들로 블록체인 네트워크를 구성한다.
이때, 컨소시엄 블록체인 네트워크(20)는 퍼블릭 블록체인 네트워크와 프라이빗 블록체인 네트워크의 중간 형태로, 관리자에 의해 승인받은 블록 생성 노드들만이 블록 생성에 참여할 수 있는 있으며, 같은 목적을 가지고 있는 여러 기관이 하나의 컨소시엄을 구성하여 공정성과 확장성을 보완한 블록체인 네트워크일 수 있다.
한편, 컨소시엄 블록체인 네트워크(20)를 구성하는 각각의 블록 생성 노드(BP)들 각각은, PC(Personal Computer), 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿, 서버 등을 포함할 수 있으나, 이에 한정되지 않으며, 유무선 통신 기능을 가진 휴대용 게임기, 디지털 카메라, 개인 내비게이션 등과 같이 컴퓨팅 연산을 수행하는 모든 컴퓨팅 장치를 포함할 수 있다.
구체적으로, 블록 생성 노드(BP)들 각각은 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
이와 같이 구성된 본 발명의 일 실시예에 따른 시스템을 참조하여 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법을 도 2를 참조하여 설명하면 다음과 같다.
사용자는 사용자 단말(10)을 통해 컨소시엄 블록체인 네트워크(20)에서 사용하기 위한 PKI 기반의 프라이빗 키와 퍼블릭 키를 생성할 수 있다.
이후, 프라이빗 키를 백업하기 위하여 사용자는 사용자 단말(10)을 통해 프라이빗 키를 m개로 분할(S1)할 수 있다.
이때, 사용자 단말(10)은 Shamir의 비밀 분산 기법인 (m, n) 비밀 분산 기법에 의해 Q(0)=프라이빗 키이고 차수가 m-1인 임의의 다항식 Q(x)를 선택하고, Q(i)(1≤i≤n)의 값을 갖는 n개의 분할된 프라이빗 키를 생성한다.
그리고, 사용자는 사용자 단말(10)을 통해 컨소시엄 블록체인 네트워크(20)로 n개의 분할된 프라이빗 키에 대한 백업을 요청(S2)함으로써 컨소시엄 블록체인 네트워크(20)로 하여금 n개의 분할된 프라이빗 키를 백업하도록 할 수 있다. 즉, 컨소시엄 블록체인 네트워크(20)를 구성하는 블록 생성 노드(BP)들 중 n개의 블록 생성 노드(BP)들이 각각의 분할된 프라이빗 키를 분산 저장(S6)할 수 있도록 한다.
일 예로, 사용자 단말(10)은 n개로 분할된 프라이빗 키 각각에 대하여, n개의 블록 생성 노드(BP)들의 퍼블릭 키를 이용한 n개의 블록 생성 노드(BP)들의 블록체인 어드레스들을 확인하고, 확인된 어드레스들을 참조하여 각각의 블록 생성 노드(BP)들로 n개로 분할된 프라이빗 키 각각을 전송한다.
이때, 각각의 블록 생성 노드(BP)들로 전송하는 각각의 분할된 프라이빗 키는 각각의 블록 생성 노드(B))들의 퍼블릭 키를 이용하여 암호화하여 전송하거나 암호화없이 각각의 분할된 프라이빗 키를 전송할 수 있다.
그러면, 각각의 블록 생성 노드(B)들은 등록 요청된 각각의 분할된 프라이빗 키를 저장하여, 등록 결과를 사용자 단말(10)로 전송하여 줌으로써 사용자가 사용자 단말(10)을 통해 각각의 분할된 프라이빗 키가 컨소시엄 블록체인 네트워크(20)에 등록된 것을 확인할 수 있도록 할 수 있다.
또한, 분할된 프라이빗 키의 백업 요청시, 사용자 단말(10)은 사용자의 DID(decentralized identifier)를 이용함으로써 백업 요청된 프라이빗 키에 대한 사용자를 식별할 수 있도록 할 수 있다.
일 예로, 사용자가 DID를 이용하여 분할된 프라이빗 키들에 대한 백업 요청을 하면, 각각의 블록 생성 노드(BP)들은 사용자 단말(10)로 사용자 인증 정보를 요청(S3)한다.
그러면, 사용자 단말(10)은 사용자의 입증 정보인 VC(verifiable credential)을 각각의 블록 생성 노드(BP)들로 전송하거나 VC가 저장된 데이터 허브(15)와의 인터랙션을 통해 데이터 허브(15)로부터 각각의 블록 생성 노드(BP)들이 사용자의 DID에 대응되는 VC를 획득(S4)하도록 할 수 있다.
그리고, 각각의 블록 생성 노드(BP)들은 사용자 단말(10) 또는 데이터 허브(15)로부터 사용자의 VC가 획득되면, 사용자의 VC가 유효한지를 확인하여 사용자가 유효한 사용자인지를 인증(S5)할 수 있다.
이와 같은 방법에 의해 사용자가 프라이빗 키를 백업한 상태에서, 백업된 프라이빗 키를 이용하여 자신의 프라이빗 키를 복원하기 위하여, 사용자 단말(10)을 통해 컨소시엄 블록체인 네트워크(20)의 각각의 블록 생성 노드(BP)들로 분할된 프라이빗 키들의 전송을 요청(S11)한다.
그러면, 컨소시엄 블록체인 네트워크(20)의 각각의 블록 생성 노드(BP)들은 저장하고 있는 각각의 분할된 프라이빗 키들을 확인하고(S15), 확인된 각각의 분할된 프라이빗 키들을 사용자 단말(10)로 전송(S15)하여 준다.
이때, 블록 생성 노드(BP)들 각각은, 저장하고 하는 분할된 프라이빗 키로 각각의 블록 생성 노드(BP)들의 퍼블릭 키로 암호화된 상태일 경우에는, 블록 생성 노드(BP)들 각각의 프라이빗 키를 이용하여 복호화하고, 복호화된 각각의 분할된 프라이빗 키들을 사용자 단말(10)로 전송하여 줄 수 있다.
또한, 분할된 프라이빗 키들의 전송 요청시, 사용자 단말(10)은 사용자의 DID(decentralized identifier)를 이용함으로써 분할된 프라이빗 키들의 전송 요청에 대한 사용자를 식별할 수 있도록 할 수 있다.
일 예로, 사용자가 DID를 이용하여 분할된 프라이빗 키들에 대한 전송 요청을 하면, 각각의 블록 생성 노드(BP)들은 사용자 단말(10)로 사용자 인증 정보를 요청(S12)한다.
그러면, 사용자 단말(10)은 사용자의 입증 정보인 VC를 각각의 블록 생성 노드(BP)들로 전송하거나 VC가 저장된 데이터 허브(15)와의 인터랙션을 통해 데이터 허브(15)로부터 각각의 블록 생성 노드(BP)들이 사용자의 DID에 대응되는 VC를 획득(S13)하도록 할 수 있다.
그리고, 각각의 블록 생성 노드(BP)들은 사용자 단말(10) 또는 데이터 허브(15)로부터 사용자의 VC가 획득되면, 사용자의 VC가 유효한지를 확인하여 사용자가 유효한 사용자인지를 인증(S14)할 수 있다.
이후, 컨소시엄 블록체인 네트워크(20)의 각각의 블록 생성 노드(BP)들로부터 분할된 프라이빗 키를 수신한 사용자 단말(10)은 수신된 분할된 프라이빗 키를 이용하여 사용자의 프라이빗 키를 복원(S17)할 수 있다.
일 예로, 사용자 단말(10)은 컨소시엄 블록체인 네트워크(20)로부터 획득한 분할된 프라이빗 키의 개수가 m 이상이 되면, 라그랑제 보간법을 이용하여 사용자의 프라이빗 키를 복원할 수 있다.
즉, 사용자 단말(10)은 n개의 분할된 프라이빗 키들 중 m개 이상의 분할된 프라이빗 키들이 획득되면, 라그랑제 보간법을 수행하여 다항식 Q(x)와 프라이빗 키=Q(0) 값을 계산할 수 있다. 이때, 만약 수신되는 분할된 프라이빗 키들의 개수가 m 미만일 경우에는 Q(0), 즉, 프라이빗 키를 복원할 수 없다. 이는 m 미만의 블록 생성 노드(BP)들에 의한 공모를 방지하도록 하여 프라이빗 키를 보호할 수 있도록 한다.
상기에서는 컨소시엄 블록체인 네트워크를 이용하여 분할된 프라이빗 키들을 백업 및 복원하는 것으로 설명하였으나, 컨소시엄 블록체인 네트워크와 같이 블록 생성을 위한 특정 블록체인 노드들이 설정된 프라이빗 블록체인 네트워크에서도 본 발명이 동일하게 적용될 수 있다.
또한, 퍼블릭 블록체인 네트워크에서도 본 발명의 일 실시예에 따라 블록을 생성하는 블록체인 노드, 즉, miner 노드들을 이용하여 본 발명의 일 실시예에 따라 분할된 프라이빗 키들을 백업 및 복원할 수도 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 프라이빗 키 백업 및 복원 시스템,
10: 사용자 단말,
20: 컨소시엄 블록체인 네트워크
BP: 블록체인 노드

Claims (18)

  1. 컨소시엄 블록체인 네트워크를 이용하여 프라이빗 키를 백업 및 복원하는 방법에 있어서,
    (a) 사용자에 의한 프라이빗 키 백업 요청이 획득되면, 사용자 단말이, 상기 프라이빗 키를 분할하여 제1 분할된 프라이빗 키 내지 제n - 상기 n은 1 이상의 정수임 - 분할된 프라이빗 키를 생성하며, 컨소시엄 블록체인 네트워크를 구성하는 제1 블록 생성 노드 내지 제n 블록 생성 노드 각각의 제1 블록체인 어드레스 내지 제n 블록체인 어드레스, 상기 제1 블록 생성 노드의 퍼블릭 키로 상기 제1 분할된 프라이빗 키를 암호화한 암호화된 제1 분할된 프라이빗 키 내지 상기 제n 블록 생성 노드의 퍼블릭 키로 상기 제n 분할된 프라이빗 키를 암호화한 암호화된 제n 분할된 프라이빗 키, 및 상기 사용자의 DID를 포함하는 제1 프라이빗 키 백업 요청 트랜잭션 내지 제n 프라이빗 키 백업 요청 트랜잭션을 생성하는 단계;
    (b) 상기 사용자 단말이, 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션을 상기 컨소시엄 블록체인 네트워크로 브로드캐스팅하여 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션이 상기 제1 블록체인 어드레스 내지 상기 제n 블록체인 어드레스에 대응되는 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 전송되도록 함으로써, 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션 각각을 수신한 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 하여금 상기 사용자의 DID와 연계하여 상기 암호화된 제1 분할된 프라이빗 키 내지 상기 암호화된 제n 분할된 프라이빗 키 각각을 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각에 저장하도록 하도록 하는 단계;
    (c) 사용자에 의해 프라이빗 키 복원 요청이 획득되면, 사용자 단말이, 적어도 상기 사용자의 DID를 포함하는 분할된 프라이빗 키 전송 요청 트랜잭션을 상기 블록체인 네트워크로 브로드캐스팅하여 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 하여금 상기 암호화된 제1 분할된 프라이빗 키 내지 상기 암호화된 제n 분할된 프라이빗 키 각각을 상기 제1 블록 생성 노드의 프라이빗 키 내지 상기 제n 블록 생성 노드의 프라이빗 키로 각각 복호화하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 생성하도록 하며, 복호화된 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 상기 사용자 단말로 전송하도록 하는 단계; 및
    (d) 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로부터 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각이 획득되면, 상기 사용자 단말이, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키을 이용하여 상기 프라이빗 키를 복원하는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 사용자 단말은, 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션에 대응하여 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로부터 사용자 인증 정보 요청이 획득되면, (i) 상기 사용자의 DID에 대응되는 상기 사용자의 입증 정보인 자격 증명을 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 전송하여 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각이 상기 자격 증명을 획득하도록 하거나, 상기 자격 증명이 저장된 데이터 허브의 정보를 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 전송하여 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각이 상기 데이터 허브와의 인터랙션을 통해 상기 자격 증명을 획득하도록 하며, (ii) 상기 자격 증명을 획득한 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 하여금 상기 자격 증명이 유효한지를 확인하여 상기 사용자를 인증하도록 하는 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 (a) 단계에서,
    상기 사용자 단말은, 상기 프라이빗 키를 shamir의 비밀 분산 기법으로 분할하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키를 생성하는 방법.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 (c) 단계에서,
    상기 사용자 단말은, 상기 분할된 프라이빗 키 전송 요청 트랜잭션에 대응하여 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로부터 사용자 인증 정보 요청이 획득되면, (i) 상기 사용자의 DID에 대응되는 상기 사용자의 입증 정보인 자격 증명을 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 전송하여 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각이 상기 자격 증명을 획득하도록 하거나, 상기 자격 증명이 저장된 데이터 허브의 정보를 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 전송하여 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각이 상기 데이터 허브와의 인터랙션을 통해 상기 자격 증명을 획득하도록 하며, (ii) 상기 자격 증명을 획득한 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 하여금 상기 자격 증명이 유효한지를 확인하여 상기 사용자를 인증하도록 하는 방법.
  8. 제1항에 있어서,
    상기 (d) 단계에서,
    상기 사용자 단말은, 라그랑제 보간법을 이용하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키로부터 상기 프라이빗 키를 복원하는 방법.
  9. 제8항에 있어서,
    상기 (d) 단계에서,
    상기 사용자 단말은, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 중 적어도 m - 상기 m은 1 이상이며 n 이하인 정수임 - 개의 분할된 프라이빗 키가 획득되면, 상기 라그랑제 보간법을 이용하여 상기 프라이빗 키를 복원하는 방법.
  10. 컨소시엄 블록체인 네트워크를 이용하여 프라이빗 키를 백업 및 복원하는 사용자 단말에 있어서,
    컨소시엄 블록체인 네트워크를 이용하여 프라이빗 키를 백업 및 복원하기 위한 인스트럭션들을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 컨소시엄 블록체인 네트워크를 이용하여 프라이빗 키를 백업및 복원하기 위한 동작을 수행하는 프로세서;
    를 포함하되,
    상기 프로세서는,
    (i) 사용자에 의한 프라이빗 키 백업 요청이 획득되면, 상기 프라이빗 키를 분할하여 제1 분할된 프라이빗 키 내지 제n - 상기 n은 1 이상의 정수임 - 분할된 프라이빗 키를 생성하며, 컨소시엄 블록체인 네트워크를 구성하는 제1 블록 생성 노드 내지 제n 블록 생성 노드 각각의 제1 블록체인 어드레스 내지 제n 블록체인 어드레스, 상기 제1 블록 생성 노드의 퍼블릭 키로 상기 제1 분할된 프라이빗 키를 암호화한 암호화된 제1 분할된 프라이빗 키 내지 상기 제n 블록 생성 노드의 퍼블릭 키로 상기 제n 분할된 프라이빗 키를 암호화한 암호화된 제n 분할된 프라이빗 키, 및 상기 사용자의 DID를 포함하는 제1 프라이빗 키 백업 요청 트랜잭션 내지 제n 프라이빗 키 백업 요청 트랜잭션을 생성하는 프로세스, (ii) 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션을 상기 컨소시엄 블록체인 네트워크로 브로드캐스팅하여 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션이 상기 제1 블록체인 어드레스 내지 상기 제n 블록체인 어드레스에 대응되는 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 전송되도록 함으로써, 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션 각각을 수신한 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 하여금 상기 사용자의 DID와 연계하여 상기 암호화된 제1 분할된 프라이빗 키 내지 상기 암호화된 제n 분할된 프라이빗 키 각각을 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각에 저장하도록 하도록 하는 프로세스, (iii) 사용자에 의해 프라이빗 키 복원 요청이 획득되면, 적어도 상기 사용자의 DID를 포함하는 분할된 프라이빗 키 전송 요청 트랜잭션을 상기 블록체인 네트워크로 브로드캐스팅하여 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 하여금 상기 암호화된 제1 분할된 프라이빗 키 내지 상기 암호화된 제n 분할된 프라이빗 키 각각을 상기 제1 블록 생성 노드의 프라이빗 키 내지 상기 제n 블록 생성 노드의 프라이빗 키로 각각 복호화하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 생성하도록 하며, 복호화된 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각을 상기 사용자 단말로 전송하도록 하는 프로세스, 및 (iv) 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로부터 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 각각이 획득되면, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키을 이용하여 상기 프라이빗 키를 복원하는 프로세스를 수행하는 사용자 단말.
  11. 제10항에 있어서,
    상기 프로세서는,
    상기 (ii) 프로세스에서, 상기 제1 프라이빗 키 백업 요청 트랜잭션 내지 상기 제n 프라이빗 키 백업 요청 트랜잭션에 대응하여 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로부터 사용자 인증 정보 요청이 획득되면, (ii-1) 상기 사용자의 DID에 대응되는 상기 사용자의 입증 정보인 자격 증명을 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 전송하여 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각이 상기 자격 증명을 획득하도록 하거나, 상기 자격 증명이 저장된 데이터 허브의 정보를 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 전송하여 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각이 상기 데이터 허브와의 인터랙션을 통해 상기 자격 증명을 획득하도록 하며, (ii-2) 상기 자격 증명을 획득한 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 하여금 상기 자격 증명이 유효한지를 확인하여 상기 사용자를 인증하도록 하는 사용자 단말.
  12. 삭제
  13. 제10항에 있어서,
    상기 프로세서는,
    상기 (i) 프로세스에서, 상기 프라이빗 키를 shamir의 비밀 분산 기법으로 분할하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키를 생성하는 사용자 단말.
  14. 삭제
  15. 삭제
  16. 제10항에 있어서,
    상기 프로세서는,
    상기 (iii) 프로세스에서, 상기 분할된 프라이빗 키 전송 요청 트랜잭션에 대응하여 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로부터 사용자 인증 정보 요청이 획득되면, (iii-1) 상기 사용자의 DID에 대응되는 상기 사용자의 입증 정보인 자격 증명을 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 전송하여 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각이 상기 자격 증명을 획득하도록 하거나, 상기 자격 증명이 저장된 데이터 허브의 정보를 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 전송하여 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각이 상기 데이터 허브와의 인터랙션을 통해 상기 자격 증명을 획득하도록 하며, (iii-2) 상기 자격 증명을 획득한 상기 제1 블록 생성 노드 내지 상기 제n 블록 생성 노드 각각으로 하여금 상기 자격 증명이 유효한지를 확인하여 상기 사용자를 인증하도록 하는 사용자 단말.
  17. 제10항에 있어서,
    상기 프로세서는,
    상기 (iv) 프로세스에서, 라그랑제 보간법을 이용하여 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키로부터 상기 프라이빗 키를 복원하는 사용자 단말.
  18. 제17항에 있어서,
    상기 프로세서는,
    상기 (iv) 프로세스에서, 상기 제1 분할된 프라이빗 키 내지 상기 제n 분할된 프라이빗 키 중 적어도 m - 상기 m은 1 이상이며 n 이하인 정수임 - 개의 분할된 프라이빗 키가 획득되면, 상기 라그랑제 보간법을 이용하여 상기 프라이빗 키를 복원하는 사용자 단말.
KR1020190100582A 2019-08-16 2019-08-16 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치 KR102269753B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190100582A KR102269753B1 (ko) 2019-08-16 2019-08-16 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190100582A KR102269753B1 (ko) 2019-08-16 2019-08-16 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200139786A Division KR20210020851A (ko) 2020-10-26 2020-10-26 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210020699A KR20210020699A (ko) 2021-02-24
KR102269753B1 true KR102269753B1 (ko) 2021-06-28

Family

ID=74689301

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190100582A KR102269753B1 (ko) 2019-08-16 2019-08-16 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102269753B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102500458B1 (ko) 2022-03-18 2023-02-16 주식회사 빅스터 컨소시엄 블록체인 네트워크 기반의 nft 기술을 활용한 디지털 자산 마켓 서비스 제공방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230020735A (ko) 2021-08-04 2023-02-13 주식회사 아이오트러스트 스마트 컨트랙트 지갑 기반 탈중앙화 신원 키 복구 시스템 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018109010A1 (en) * 2016-12-15 2018-06-21 Luxembourg Institute Of Science And Technology (List) P2p network data distribution and retrieval using blockchain log
WO2019058240A1 (en) 2017-09-22 2019-03-28 nChain Holdings Limited INTELLIGENT CONTRACT EXECUTION USING DISTRIBUTED COORDINATION

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102034449B1 (ko) * 2017-12-12 2019-10-21 주식회사 디지캡 콘텐츠 블록체인에서의 콘텐츠 암호키 관리 및 배포 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018109010A1 (en) * 2016-12-15 2018-06-21 Luxembourg Institute Of Science And Technology (List) P2p network data distribution and retrieval using blockchain log
WO2019058240A1 (en) 2017-09-22 2019-03-28 nChain Holdings Limited INTELLIGENT CONTRACT EXECUTION USING DISTRIBUTED COORDINATION

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102500458B1 (ko) 2022-03-18 2023-02-16 주식회사 빅스터 컨소시엄 블록체인 네트워크 기반의 nft 기술을 활용한 디지털 자산 마켓 서비스 제공방법

Also Published As

Publication number Publication date
KR20210020699A (ko) 2021-02-24

Similar Documents

Publication Publication Date Title
Yan et al. Deduplication on encrypted big data in cloud
US20200084027A1 (en) Systems and methods for encryption of data on a blockchain
CN110537346B (zh) 安全去中心化域名系统
CN108352015B (zh) 用于基于区块链的系统结合钱包管理系统的安全多方防遗失存储和加密密钥转移
CN110022217B (zh) 一种基于区块链的广告传媒业务数据可信存证系统
Yan et al. Heterogeneous data storage management with deduplication in cloud computing
KR101985179B1 (ko) 블록체인 기반의 ID as a Service
EP2984782B1 (en) Method and system for accessing device by a user
CN114788226B (zh) 用于建立分散式计算机应用的非托管工具
CN110519046B (zh) 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统
US20140270179A1 (en) Method and system for key generation, backup, and migration based on trusted computing
Youn et al. Efficient client-side deduplication of encrypted data with public auditing in cloud storage
CN102427442A (zh) 组合请求相关元数据和元数据内容
Yu et al. Identity privacy-preserving public auditing with dynamic group for secure mobile cloud storage
CN107113314B (zh) 用于云计算中的异构数据存储管理的方法和装置
CN109525388B (zh) 一种密钥分离的组合加密方法及系统
KR102269753B1 (ko) 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치
CN111414628A (zh) 一种数据存储方法、装置和计算设备
US20180287796A1 (en) Security key hopping
CN114117406A (zh) 一种数据处理方法、装置、设备及存储介质
KR20210020851A (ko) 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치
Yan et al. Encrypted big data deduplication in cloud storage
KR100681005B1 (ko) 키 로밍 방법 및 그를 위한 시스템
EP3800825A1 (en) Method and device for configuring alias credential
Surya et al. Single sign on mechanism using attribute based encryption in distributed computer networks

Legal Events

Date Code Title Description
GRNT Written decision to grant