KR102383492B1 - 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법 - Google Patents

블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법 Download PDF

Info

Publication number
KR102383492B1
KR102383492B1 KR1020200049324A KR20200049324A KR102383492B1 KR 102383492 B1 KR102383492 B1 KR 102383492B1 KR 1020200049324 A KR1020200049324 A KR 1020200049324A KR 20200049324 A KR20200049324 A KR 20200049324A KR 102383492 B1 KR102383492 B1 KR 102383492B1
Authority
KR
South Korea
Prior art keywords
user
master
account
key
public key
Prior art date
Application number
KR1020200049324A
Other languages
English (en)
Other versions
KR20210131031A (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 KR1020200049324A priority Critical patent/KR102383492B1/ko
Publication of KR20210131031A publication Critical patent/KR20210131031A/ko
Application granted granted Critical
Publication of KR102383492B1 publication Critical patent/KR102383492B1/ko

Links

Images

Classifications

    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/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)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법이 제공된다. 본 발명의 실시예에 따른 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법은, 사용자 키 관리 시스템이, 인증 절차가 완료된 사용자의 자산을 보관하고 거래하는 마스터 계정과 마스터 계정에 매핑되는 사용자 계정을 각각 생성하는 단계; 사용자 키 관리 시스템이, 사용자에 의해 서명된 거래 정보를 기반으로 거래(transaction)를 처리하는 단계; 및 사용자 계정에 대한 사용자 키 분실 시, 사용자 키 관리 시스템이, 마스터 계정을 유지하되, 사용자 계정을 신규 생성하고, 신규 생성된 사용자 계정과 마스터 계정 간의 매핑 관계를 갱신하여, 복구하는 단계;를 포함한다. 이에 의해, 사용자 계정 또는 사용자 키 분실 시, 마스터 계정 내 보관된 자산에 접근하지 못하는 문제를 해결하고, 자산 관리의 투명성과 추적 가능성을 제공할 수 있다.

Description

블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법{Method for managing user key using smart contract on blockchain}
본 발명은 블록체인 기술에 관한 것으로, 더욱 상세하게는 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법에 관한 것이다.
일반적으로 블록체인 네트워크(blockchain network)는 복수의 블록이 체인 형태로 연결된 블록체인 데이터를 분산 관리하기 위해, 복수의 블록체인 노드로 구성되어 있으며, 복수의 블록체인 노드는 서로 간의 통신 및 합의를 통해 체인화된 블록체인 거래장부에 대한 블록을 만들고 유지하게 된다.
그래서 블록체인 네트워크는 어느 특정 블록체인 노드가 죽거나 해킹되더라도 과반의 블록체인 노드가 정상적이면 시스템이 연속적으로 운영되어 신뢰성 있는 서비스가 가능하다.
또한, 블록체인 내 사용자 계정 주소(account)는 해당하는 개인 키(Private key)와 공개 키(Public key)가 부가되어, 블록체인 네트워크가 허용하는 트랜잭션(transaction)을 개인 키로 서명해서 보낼 수 있으며, 블록체인 네트워크는 공개 키를 이용하여 검증하고 합의하여 블록체인 거래장부에 반영할 수 있다.
이러한 블록체인 기술은 계정(account, 사용자 지갑 주소) 및 개인 키(개인 암호 키)를 사용자의 부주의로 인하여 분실하는 경우, 해당 계정 내 보관된 토큰 등의 자산을 찾을 방법이 없다는 점에서 그 불편함이 존재한다.
이를 보완하기 위해, 기존 블록체인 기반 서비스 업체들은 개인이 보관해야 할 개인 키를 서버의 데이터베이스 등에 보관하면서 분실을 대비하고 있어, 서버에 보안 침입 사고 발생 시, 개인 계정의 자산이 도난당하는 사고가 발생할 수 있다는 점에서 그 한계가 존재한다. 따라서, 이를 보완하기 위한 방안의 모색이 요구된다.
삭제
한국공개특허 제10-2021-0060746호(발명의 명칭: 블록체인의 개인 키를 통한 서명이 가능한 전자계약 서비스 시스템)
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 자산을 보관하고 거래하는 마스터 계정과 사용자가 알고 있는 사용자 계정을 각각 생성하여 분리하고, 분리된 두 계정을 스마트 계약으로 등록하여, 사용자 계정 또는 사용자 키를 분실하더라도 마스터 계정을 유지하되, 사용자 계정을 신규 생성하고, 신규 생성된 사용자 계정과 마스터 계정 간의 관계를 갱신할 수 있는 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법은, 사용자 키 관리 시스템이, 인증 절차가 완료된 사용자의 자산을 보관하고 거래하는 마스터 계정과 마스터 계정에 매핑되는 사용자 계정을 각각 생성하는 단계; 사용자 키 관리 시스템이, 사용자에 의해 서명된 거래 정보를 기반으로 거래(transaction)를 처리하는 단계; 및 사용자 계정에 대한 사용자 키 분실 시, 사용자 키 관리 시스템이, 마스터 계정을 유지하되, 사용자 계정을 신규 생성하고, 신규 생성된 사용자 계정과 마스터 계정 간의 매핑 관계를 갱신하여, 복구하는 단계;를 포함한다.
그리고 생성 단계는, 사용자의 마스터 계정 생성 시, 키 쌍(Key pair)으로 구성되는 마스터 계정에 대한 마스터 개인 키 및 마스터 공개 키를 생성하고, 생성된 마스터 개인 키 및 마스터 공개 키를 서로 분리하여 관리할 수 있다.
또한, 생성 단계는, 마스터 개인 키 및 마스터 공개 키가 생성되면, 생성된 마스터 개인 키를 암호화시켜 별도로 마련되는 암호화 저장소에 저장하되, 생성된 마스터 공개 키를 인증 절차를 통해 등록된 사용자 정보에 매칭시켜 데이터베이스에 저장하여 관리할 수 있다.
그리고 사용자 계정은, 마스터 계정과의 매핑 관계가 스마트 계약(Smart contract)으로 등록될 수 있다.
또한, 생성 단계는, 사용자의 사용자 계정 생성 시, 키 쌍(Key pair)으로 구성되는 사용자 계정에 대한 사용자 개인 키 및 사용자 공개 키를 생성하고, 생성된 사용자 공개 키를 블록체인 거래장부에 저장하여, 사용자 계정 및 마스터 계정 간의 스마트 계약 등록 시, 블록체인 거래장부에 저장된 마스터 공개 키와 사용자 공개 키 간의 매핑 관계가 이뤄지도록 할 수 있다.
그리고 처리 단계는, 사용자 개인 키로 서명된 거래 정보가 전달되면, 블록체인 거래장부에 저장된 사용자 공개 키의 유효성을 검증하고, 사용자 공개 키의 유효성이 검증되면, 사용자 공개 키와 매핑 관계인 마스터 공개 키를 이용하여 거래를 처리할 수 있다.
또한, 처리 단계는, 유효성이 검증된 사용자 공개 키와 매핑 관계인 마스터 공개 키의 키 쌍에 해당하는 마스터 개인 키로 거래 정보를 서명하여 거래를 처리하고, 거래 처리 후 갱신된 거래 정보를 블록체인 거래장부에 기록할 수 있다.
그리고 복구 단계는, 사용자 계정에 대한 사용자 키 분실 시, 사용자 개인 키 및 사용자 공개 키를 신규 생성하고, 신규 생성된 사용자 공개 키와 블록체인 거래장부에 저장된 마스터 공개 키 간의 매핑 관계를 이뤄지도록 갱신할 수 있다.
또한, 생성 단계는, 사용자의 요청에 의해 사용자 계정이 추가 생성되면, 사용자의 선택에 따라 추가 생성된 사용자 계정과 기존에 생성된 마스터 계정 간의 매핑 관계가 갱신되어 스마트 계약으로 등록되거나 또는 마스터 계정이 추가 생성되어, 추가 생성된 사용자 계정과 추가 생성된 마스터 계정 간의 매핑 관계가 스마트 계약으로 등록되도록 할 수 있다.
한편, 본 발명의 다른 실시예에 따른, 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 시스템은, 사용자 지갑을 지원하는 사용자 단말 또는 블록체인 노드에 연결되도록 하는 통신부; 및 사용자의 인증 절차가 완료되면, 자산을 보관하고 거래하는 마스터 계정을 생성하고, 사용자에 의해 서명된 거래 정보를 기반으로 블록체인 노드에 연결되어, 거래(transaction)가 처리되도록 하며, 사용자 계정에 대한 사용자 키 분실 시, 마스터 계정을 유지하되, 사용자 계정이 신규 생성되도록 하고, 신규 생성된 사용자 계정과 마스터 계정 간의 매핑 관계가 갱신되도록 하는 프로세서;를 포함한다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, 사용자 계정 또는 사용자 키 분실 시, 마스터 계정 내 보관된 자산에 접근하지 못하는 문제를 해결하고, 자산 관리의 투명성과 추적 가능성을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 시스템의 설명에 제공된 도면,
도 2는 블록체인 거래 플랫폼 운영 서버 구조의 설명에 제공된 도면,
도 3은 본 발명의 일 실시예에 따른 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법의 설명에 제공된 도면,
도 4는 사용자 계정 생성 과정의 설명에 제공된 도면,
도 5는 거래 처리 과정의 설명에 제공된 도면, 그리고
도 6은 사용자 키 분실 시, 복구 과정의 설명에 제공된 도면이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 시스템(이하에서는 '사용자 키 관리 시스템'으로 총칭하기로 함)의 설명에 제공된 도면이다.
본 실시에에 따른 사용자 키 관리 시스템은, 자산을 보관하고 거래하는 마스터 계정과 사용자가 알고 있는 사용자 계정을 각각 생성하여 분리하고, 분리된 두 계정을 스마트 계약으로 등록하여, 사용자 계정 또는 사용자 키를 분실하더라도 마스터 계정을 유지하되, 사용자 계정을 신규 생성하고, 신규 생성된 사용자 계정과 마스터 계정 간의 관계를 갱신할 수 있다.
이를 위해, 본 사용자 키 관리 시스템은, 사용자 단말(100), 블록체인 거래 플랫폼 운영 서버(200), 블록체인 노드(300), 거래 서명 모듈(400) 및 암호화 저장소(500)를 포함할 수 있다.
사용자 단말(100)은, 사용자 지갑(Wallet)을 지원하기 위해 마련되는 스마트폰, 태블릿 PC, 노트북, 데스크 탑과 같은 정보처리 단말이다.
여기서, 사용자 지갑(Wallet)은, 재화의 가치로 환산 가능한 토큰 등의 자산이 보관되는 지갑 파일을 의미한다. 사용자 지갑에는 각각의 고유 주소가 부여되며, 그 주소를 기반으로 토큰 등의 거래가 이루어진다.
본 실시예에 따른 사용자 지갑을 지원하는 사용자 단말(100)은, 블록체인 거래 플랫폼에 접속하여, 마스터 계정에 매핑되는 사용자 계정을 생성할 수 있다.
구체적으로, 사용자 지갑을 지원하는 사용자 단말(100)은, 사용자의 사용자 계정 생성 시, 키 쌍(Key pair)으로 구성되는 사용자 계정에 대한 사용자 개인 키 및 사용자 공개 키를 생성할 수 있다.
블록체인 거래 플랫폼 운영 서버(200)는, 블록체인 거래 플랫폼을 운영하기 위해 마련된다.
여기서, 블록체인 거래 플랫폼은, 사용자 단말(100)을 통해, 사용자의 인증 절차가 완료되면, 자산을 보관하고 거래하는 마스터 계정을 생성할 수 있으며, 사용자에 의해 서명된 거래 정보를 기반으로 거래(transaction)가 처리되도록 할 수 있다.
더불어, 블록체인 거래 플랫폼은, 사용자 계정에 대한 사용자 키 분실 시, 마스터 계정을 유지하되, 사용자 계정을 신규 생성하도록 하고, 신규 생성된 사용자 계정과 마스터 계정 간의 매핑 관계가 갱신되도록 할 수 있다.
구체적으로 예를 들면, 블록체인 거래 플랫폼은, 사용자의 마스터 계정 생성 시, 키 쌍(Key pair)으로 구성되는 마스터 계정에 대한 마스터 개인 키 및 마스터 공개 키를 생성하고, 생성된 마스터 개인 키 및 마스터 공개 키를 서로 분리하여 관리할 수 있다.
즉, 블록체인 거래 플랫폼 운영 서버(200)는, 마스터 개인 키 및 마스터 공개 키가 생성되면, 생성된 마스터 개인 키를 암호화시켜 별도로 마련되는 암호화 저장소(500)에 저장하되, 생성된 마스터 공개 키를 인증 절차를 통해 등록된 사용자 정보에 매칭시켜 데이터베이스에 저장하여 관리할 수 있다.
그리고 블록체인 거래 플랫폼 운영 서버(200)는, 사용자 단말(100)로부터 전달된 사용자 공개 키를 데이터베이스에 저장하여, 사용자 계정 및 마스터 계정 간의 스마트 계약 등록 시, 블록체인 거래장부에 저장된 마스터 공개 키와 사용자 공개 키 간의 매핑 관계가 이뤄지도록 할 수 있다.
또한, 블록체인 거래 플랫폼 운영 서버(200)는, 사용자 개인 키로 서명된 거래 정보가 전달되면, 블록체인 거래장부에 저장된 사용자 공개 키의 유효성을 검증하고, 사용자 공개 키의 유효성이 검증되면, 사용자 공개 키와 매핑 관계인 마스터 공개 키를 이용하여 거래가 처리되도록 할 수 있다.
블록체인 노드(300)는, 블록체인 네트워크를 구성하는 노드로서, 스마트폰, 태블릿 PC, 노트북, 데스크 탑과 같은 정보처리 단말로 구현되며, 블록체인 거래 장부 등을 저장할 수 있다.
본 실시예에 따른 블록체인 노드(300)는, 사용자 계정과 마스터 계정의 매핑 관계가 스마트 계약(Smart contract)으로 등록되도록 할 수 있다.
거래 서명 모듈(400)은, 거래(transaction) 서명을 수행하기 위해 마련된다.
구체적으로 예를 들면, 거래 서명 모듈(400)은, 다양한 클라우드 공급자에서 보호하거나 로컬 디스크에서 암호화할 수 있는 개인 키를 사용하여 트랜잭션에 서명함으로써, 개인 키 관리와 트랜잭션 유효성 검사를 분리하여 수행할 수 있다.
암호화 저장소(500)는, 블록체인 거래 플랫폼에 의해 생성되는 마스터 개인 키를 암호화시켜 저장하는데 이용된다.
도 2는 블록체인 거래 플랫폼 운영 서버(200) 구조의 설명에 제공된 도면이다.
도 2를 참조하면, 본 블록체인 거래 플랫폼 운영 서버(200)는, 통신부(210), 저장부(220) 및 프로세서(230)를 포함할 수 있다.
통신부(210)는, 블록체인 거래 플랫폼 운영 서버(200)가 사용자 지갑을 지원하는 사용자 단말(100) 또는 블록체인 노드(300)들과 연결되기 위한 통신수단이다.
저장부(220)는, 프로세서(230)가 동작함에 있어 필요한 프로그램 및 데이터를 저장하는 저장 공간을 제공하는 저장매체이다.
예를 들면, 저장부(220)는, 사용자 정보 및 사용자 공개 키를 저장하는 데이터베이스를 포함할 수 있다.
프로세서(230)는, 블록체인 거래 플랫폼 운영 서버(200)의 제반사항을 처리하기 위해 마련된다.
예를 들면, 프로세서(230)는, 사용자의 인증 절차가 완료되면, 자산을 보관하고 거래하는 마스터 계정을 생성하고, 사용자에 의해 서명된 거래 정보를 기반으로 블록체인 노드(300)에 연결되어, 거래가 처리되도록 할 수 있다.
또한, 프로세서(230)는, 사용자 계정에 대한 사용자 키 분실 시, 마스터 계정을 유지하되, 사용자 계정이 신규 생성되도록 하고, 신규 생성된 사용자 계정과 마스터 계정 간의 매핑 관계가 갱신되도록 할 수 있다.
구체적으로, 프로세서(230)는, 사용자의 마스터 계정 생성 시, 키 쌍(Key pair)으로 구성되는 마스터 계정에 대한 마스터 개인 키 및 마스터 공개 키를 생성하고, 생성된 마스터 개인 키 및 마스터 공개 키를 서로 분리하여 관리할 수 있다.
또한, 프로세서(230)는 사용자 단말(100)로부터 전달된 사용자 공개 키를 데이터베이스에 저장하여, 사용자 계정 및 마스터 계정 간의 스마트 계약 등록 시, 블록체인 거래장부에 저장된 마스터 공개 키와 사용자 공개 키 간의 매핑 관계가 이뤄지도록 할 수 있다.
그리고 프로세서(230)는, 사용자 개인 키로 서명된 거래 정보가 전달되면, 블록체인 거래장부에 저장된 사용자 공개 키의 유효성을 검증하고, 사용자 공개 키의 유효성이 검증되면, 사용자 공개 키와 매핑 관계인 마스터 공개 키를 이용하여 거래가 처리되도록 할 수 있다.
즉, 프로세서(230)는, 유효성이 검증된 사용자 공개 키와 매핑 관계인 마스터 공개 키의 키 쌍에 해당하는 마스터 개인 키로 거래 정보를 서명하여 거래를 처리하고, 거래 처리 후 갱신된 거래 정보가 블록체인 노드(300)에 저장되는 블록체인 거래장부에 기록되도록 할 수 있다.
또한, 프로세서(230)는, 사용자의 요청에 의해 사용자 계정이 추가 생성되면, 사용자의 선택에 따라 추가 생성된 사용자 계정과 기존에 생성된 마스터 계정 간의 매핑 관계가 갱신되어 스마트 계약으로 등록되거나 또는 마스터 계정이 추가 생성되어, 추가 생성된 사용자 계정과 추가 생성된 마스터 계정 간의 매핑 관계가 스마트 계약으로 등록되도록 할 수 있다.
도 3은 본 발명의 일 실시예에 따른 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법(이하에서는 '사용자 키 관리 방법'으로 총칭하기로 함)의 설명에 제공된 도면이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 사용자 키 관리 시스템을 이용하는 사용자 키 관리 방법은, 블록체인 거래 플랫폼 운영 서버(200)가 인증 절차가 완료된 사용자의 자산을 보관하고 거래하는 마스터 계정을 생성하고, 인증 절차에 이용된 사용자 단말(100)이 마스터 계정에 매핑되는 사용자 계정을 각각 생성할 수 있다(S310). 여기서, 마스터 계정 및 사용자 계정의 생성 과정의 더욱 상세한 설명은, 도 4를 참조하여 후술하기로 한다.
그리고 블록체인 거래 플랫폼 운영 서버(200)는, 계정들이 생성된 이후, 사용자 단말(100)에 의해, 거래가 요청되면(S320-Y), 요청된 거래를 처리할 수 있다(S330). 이때, 거래 처리 과정의 더욱 상세한 설명은, 도 5를 참조하여 후술하기로 한다.
블록체인 거래 플랫폼 운영 서버(200)는, 사용자 키가 분실되는 경우에(S340-Y), 마스터 계정을 유지하되, 사용자 단말(100)에 의해, 사용자 계정이 신규 생성되도록 하고(S350), 블록체인 노드(300)들과 연결되어, 신규 생성된 사용자 계정과 기존의 마스터 계정 간의 매핑 관계가 갱신되도록 할 수 있다(S360). 여기서, 사용자 키 분실 시, 복구 과정에 대한 더욱 상세한 설명은 도 6을 참조하여 후술하기로 한다.
도 4는 사용자 계정 생성 과정의 설명에 제공된 도면이다.
도 4를 참조하면, 본 사용자 키 관리 방법은, 사용자가 사용자 단말(100)을 이용하여, 블록체인 거래 플랫폼을 이용하기 위한 회원 가입 또는 사용자 인증을 수행할 수 있다(S410).
블록체인 거래 플랫폼 운영 서버(200)는, 회원 가입 또는 사용자 인증 절차가 수행되면, 회원 가입 또는 사용자 인증 과정에서 획득된 사용자 정보를 데이터베이스(DB)에 저장할 수 있다(S420).
또한, 블록체인 거래 플랫폼 운영 서버(200)는, 키 쌍(Key pair)으로 구성되는 마스터 계정에 대한 마스터 개인 키 및 마스터 공개 키를 생성하여, 사용자의 마스터 계정을 생성할 수 있다(S430). 여기서, 마스터 공개 키에는 마스터 계정 생성 시 할당되는 마스터 주소가 포함될 수 있다.
블록체인 거래 플랫폼 운영 서버(200)는, 마스터 개인 키 및 마스터 공개 키를 서로 분리하여 관리할 수 있다.
예를 들면, 블록체인 거래 플랫폼 운영 서버(200)는, 마스터 공개 키를 회원 가입 또는 인증 절차를 통해 등록된 사용자 정보에 매칭시켜 데이터베이스에 저장하고(S440), 마스터 개인 키를 암호화시켜 암호화 저장소(500)에 저장함으로써, 마스터 개인 키 및 마스터 공개 키를 서로 분리하여 관리할 수 있다(S450).
그리고 블록체인 거래 플랫폼 운영 서버(200)는, 데이터베이스에 저장된 마스터 공개 키와 사용자 단말(100)을 통해 생성되는 사용자 공개 키 간의 매핑 관계가 스마트 계약으로 등록되도록, 마스터 공개 키를 블록체인 노드(300)에 전달할 수 있다(S460).
사용자 단말(100)은, 키 쌍(Key pair)으로 구성되는 사용자 개인 키 및 사용자 공개 키를 생성하여, 사용자 계정을 생성할 수 있다(S470). 여기서, 사용자 공개 키에는 사용자 계정 생성 시 할당되는 사용자 일반 주소가 포함될 수 있다.
그리고 사용자 단말(100)은, 사용자 계정이 생성되면, 생성된 사용자 공개 키를 블록체인 거래 플랫폼 운영 서버(200)에 전달할 수 있다(S480).
블록체인 거래 플랫폼 운영 서버(200)는, 수신된 사용자 공개 키를 블록체인 노드(300)에 전달하여, 마스터 공개 키와 사용자 공개 키 간의 매핑 관계가 스마트 계약으로 등록되도록 할 수 있다(S490).
한 가지 첨언하면, 블록체인 거래 플랫폼 운영 서버(200)는, 사용자의 요청에 의해 사용자 계정이 추가 생성되면, 사용자의 선택에 따라 추가 생성된 사용자 계정과 기존에 생성된 마스터 계정 간의 매핑 관계가 갱신되어 스마트 계약으로 등록되거나 또는 마스터 계정이 추가 생성되어, 추가 생성된 사용자 계정과 추가 생성된 마스터 계정 간의 매핑 관계가 스마트 계약으로 등록되도록 할 수 있다.
도 5는 거래 처리 과정의 설명에 제공된 도면이다.
도 5를 참조하면, 본 사용자 키 관리 방법은, 계정들이 생성된 이후, 사용자가 거래 요청을 위해, 사용자 개인 키로 서명하면(S510), 사용자 개인 키로 서명된 거래 정보가 블록체인 거래 플랫폼 운영 서버(200)에 전달될 수 있다(S520).
블록체인 거래 플랫폼 운영 서버(200)는, 사용자 개인 키로 서명된 거래 정보가 전달되면, 사용자 개인 키로 서명된 거래 정보를 블록체인 노드(300)에 전달할 수 있다(S530).
블록체인 노드(300)는, 사용자 개인 키로 서명된 거래 정보가 전달되면, 블록체인 거래장부에 저장된 사용자 공개 키의 유효성을 검증할 수 있다(S540).
그리고 블록체인 노드(300)는, 검증 결과, 사용자 공개 키의 유효성이 검증되면, 거래를 허용하는 응답과 거래 정보를 블록체인 거래 플랫폼 운영 서버(200)에 전달할 수 있다(S550).
여기서, 블록체인 거래 플랫폼 운영 서버(200)는, 블록체인 노드(300)로부터 거래 정보가 전달되면, 거래 정보를 거래 서명 모듈(400)에 전달할 수 있다(S560).
거래 서명 모듈(400)은, 거래 정보가 전달되면, 암호화 저장소(500)에 마스터 개인 키를 요청하여, 이를 전달받고(S570), 마스터 개인 키로 서명하여(S580), 거래 정보 및 서명 정보를 블록체인 노드(300)에 전달할 수 있다(S590).
블록체인 노드(300)는, 거래 서명 모듈(400)로부터 전달받은 거래 정보 및 서명 정보를 기반으로, 서명된 마스터 개인 키의 유효성을 검증할 수 있다(S593).
그리고 블록체인 노드(300)는, 서명된 마스터 개인 키의 유효성이 검증되면, 거래에 합의하여, 거래를 처리하고, 갱신된 거래 정보가 블록체인 거래장부에 기록되도록 할 수 있다(S595).
도 6은 사용자 키 분실 시, 복구 과정의 설명에 제공된 도면이다.
도 6을 참조하면, 본 사용자 키 관리 방법은, 사용자 키가 분실되는 경우에, 사용자가 사용자 단말(100)을 이용하여, 사용자 일반 키 쌍를 신규 생성할 수 있다.
그리고 사용자 단말(100)은, 사용자 일반 키 쌍가 신규 생성되면, 신규 생성된 사용자 공개 키를 블록체인 거래 플랫폼 운영 서버(200)에 전달할 수 있다.
이때, 블록체인 거래 플랫폼 운영 서버(200)는, 마스터 계정을 유지하고, 신규 생성된 사용자 공개 키를 블록체인 노드(300)에 전달하여, 블록체인 노드(300)가 신규 생성된 사용자 계정과 기존의 마스터 계정 간의 매핑 관계가 갱신되도록 할 수 있다.
이를 통해, 사용자 키 관리 방법은, 사용자 계정 또는 사용자 키 분실 시, 마스터 계정 내 보관된 자산에 접근하지 못하는 문제를 해결할 수 있다.
더불어, 사용자 키 관리 방법은, 사용자 계정과 마스터 계정 간의 매핑 관계가 스마트 계약으로 등록되어, 자산 관리의 투명성과 추적 가능성을 제공할 수 있다.
한편, 본 실시예에 따른 장치와 방법의 기능을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : 사용자 단말
200 : 블록체인 거래 플랫폼 운영 서버
210 : 통신부
220 : 저장부
230 : 프로세서
300 : 블록체인 노드
400 : 거래 서명 모듈
500 : 암호화 저장소

Claims (10)

  1. 사용자 키 관리 시스템이, 인증 절차가 완료된 사용자의 자산을 보관하고 거래하는 마스터 계정과 마스터 계정에 매핑되는 사용자 계정을 각각 생성하는 단계;
    사용자 키 관리 시스템이, 사용자에 의해 서명된 거래 정보를 기반으로 거래(transaction)를 처리하는 단계; 및
    사용자 계정에 대한 사용자 키 분실 시, 사용자 키 관리 시스템이, 마스터 계정을 유지하되, 사용자 계정을 신규 생성하고, 신규 생성된 사용자 계정과 마스터 계정 간의 매핑 관계를 갱신하여, 복구하는 단계;를 포함하고,
    생성 단계는,
    사용자의 마스터 계정 생성 시, 키 쌍(Key pair)으로 구성되는 마스터 계정에 대한 마스터 개인 키 및 마스터 공개 키를 생성하고,
    생성된 마스터 개인 키 및 마스터 공개 키를 서로 분리하여 관리하며,
    생성 단계는,
    마스터 개인 키 및 마스터 공개 키가 생성되면, 생성된 마스터 개인 키를 암호화시켜 별도로 마련되는 암호화 저장소에 저장하되, 생성된 마스터 공개 키를 인증 절차를 통해 등록된 사용자 정보에 매칭시켜 데이터베이스에 저장하여 관리하고,
    사용자 계정은,
    마스터 계정과의 매핑 관계가 스마트 계약(Smart contract)으로 등록되며,
    생성 단계는,
    사용자의 사용자 계정 생성 시, 키 쌍(Key pair)으로 구성되는 사용자 계정에 대한 사용자 개인 키 및 사용자 공개 키를 생성하고, 생성된 사용자 공개 키를 블록체인 거래장부에 저장하여,
    사용자 계정 및 마스터 계정 간의 스마트 계약 등록 시, 블록체인 거래장부에 저장된 마스터 공개 키와 사용자 공개 키 간의 매핑 관계가 이뤄지도록 하고,
    처리 단계는,
    사용자 개인 키로 서명된 거래 정보가 전달되면, 블록체인 거래장부에 저장된 사용자 공개 키의 유효성을 검증하고,
    사용자 공개 키의 유효성이 검증되면, 사용자 공개 키와 매핑 관계인 마스터 공개 키를 이용하여 거래를 처리하며,
    복구 단계는,
    사용자 계정에 대한 사용자 키 분실 시, 사용자 개인 키 및 사용자 공개 키를 신규 생성하고, 신규 생성된 사용자 공개 키와 블록체인 거래장부에 저장된 마스터 공개 키 간의 매핑 관계를 이뤄지도록 갱신하며,
    생성 단계는,
    사용자의 요청에 의해 사용자 계정이 추가 생성되면, 사용자의 선택에 따라 추가 생성된 사용자 계정과 기존에 생성된 마스터 계정 간의 매핑 관계가 갱신되어 스마트 계약으로 등록되거나 또는 마스터 계정이 추가 생성되어, 추가 생성된 사용자 계정과 추가 생성된 마스터 계정 간의 매핑 관계가 스마트 계약으로 등록되도록 하는 것을 특징으로 하는 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 청구항 1에 있어서,
    처리 단계는,
    유효성이 검증된 사용자 공개 키와 매핑 관계인 마스터 공개 키의 키 쌍에 해당하는 마스터 개인 키로 거래 정보를 서명하여 거래를 처리하고,
    거래 처리 후 갱신된 거래 정보를 블록체인 거래장부에 기록하는 것을 특징으로 하는 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법.
  8. 삭제
  9. 삭제
  10. 사용자 지갑을 지원하는 사용자 단말 또는 블록체인 노드에 연결되도록 하는 통신부; 및
    사용자의 인증 절차가 완료되면, 자산을 보관하고 거래하는 마스터 계정을 생성하고, 사용자에 의해 서명된 거래 정보를 기반으로 블록체인 노드에 연결되어, 거래(transaction)가 처리되도록 하며, 사용자 계정에 대한 사용자 키 분실 시, 마스터 계정을 유지하되, 사용자 계정이 신규 생성되도록 하고, 신규 생성된 사용자 계정과 마스터 계정 간의 매핑 관계가 갱신되도록 하는 프로세서;를 포함하고,
    프로세서는,
    사용자의 마스터 계정 생성 시, 키 쌍(Key pair)으로 구성되는 마스터 계정에 대한 마스터 개인 키 및 마스터 공개 키를 생성하고,
    생성된 마스터 개인 키 및 마스터 공개 키를 서로 분리하여 관리하며,
    프로세서는,
    마스터 개인 키 및 마스터 공개 키가 생성되면, 생성된 마스터 개인 키를 암호화시켜 별도로 마련되는 암호화 저장소에 저장하되, 생성된 마스터 공개 키를 인증 절차를 통해 등록된 사용자 정보에 매칭시켜 데이터베이스에 저장하여 관리하고,
    사용자 계정은,
    마스터 계정과의 매핑 관계가 스마트 계약(Smart contract)으로 등록되며,
    프로세서는,
    사용자의 사용자 계정 생성 시, 키 쌍(Key pair)으로 구성되는 사용자 계정에 대한 사용자 개인 키 및 사용자 공개 키를 생성하고, 생성된 사용자 공개 키를 블록체인 거래장부에 저장하여,
    사용자 계정 및 마스터 계정 간의 스마트 계약 등록 시, 블록체인 거래장부에 저장된 마스터 공개 키와 사용자 공개 키 간의 매핑 관계가 이뤄지도록 하고,
    프로세서는,
    사용자 개인 키로 서명된 거래 정보가 전달되면, 블록체인 거래장부에 저장된 사용자 공개 키의 유효성을 검증하고,
    사용자 공개 키의 유효성이 검증되면, 사용자 공개 키와 매핑 관계인 마스터 공개 키를 이용하여 거래를 처리하며,
    프로세서는,
    사용자 계정에 대한 사용자 키 분실 시, 사용자 개인 키 및 사용자 공개 키를 신규 생성하고, 신규 생성된 사용자 공개 키와 블록체인 거래장부에 저장된 마스터 공개 키 간의 매핑 관계를 이뤄지도록 갱신하며,
    프로세서는,
    사용자의 요청에 의해 사용자 계정이 추가 생성되면, 사용자의 선택에 따라 추가 생성된 사용자 계정과 기존에 생성된 마스터 계정 간의 매핑 관계가 갱신되어 스마트 계약으로 등록되거나 또는 마스터 계정이 추가 생성되어, 추가 생성된 사용자 계정과 추가 생성된 마스터 계정 간의 매핑 관계가 스마트 계약으로 등록되도록 하는 것을 특징으로 하는 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 시스템.
KR1020200049324A 2020-04-23 2020-04-23 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법 KR102383492B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200049324A KR102383492B1 (ko) 2020-04-23 2020-04-23 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200049324A KR102383492B1 (ko) 2020-04-23 2020-04-23 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법

Publications (2)

Publication Number Publication Date
KR20210131031A KR20210131031A (ko) 2021-11-02
KR102383492B1 true KR102383492B1 (ko) 2022-04-05

Family

ID=78476524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200049324A KR102383492B1 (ko) 2020-04-23 2020-04-23 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법

Country Status (1)

Country Link
KR (1) KR102383492B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114297721A (zh) * 2022-01-25 2022-04-08 联想(北京)有限公司 信息处理方法、信息处理装置、区块链平台和存储介质
KR102605935B1 (ko) * 2022-02-08 2023-11-27 주식회사 디지털존 블록체인 did 기반 비대면 시장조사 패널자격인증 시스템, 패널단말 및 그것의 제어 방법
KR102610237B1 (ko) * 2023-01-26 2023-12-06 주식회사 인피닛블록 멀티팩터 인증과 멀티시그를 활용한 디지털 자산 커스터디 시스템 및 디지털 자산 관리 방법
KR102517001B1 (ko) * 2022-08-05 2023-04-03 주식회사 더문랩스 블록체인 네트워크 상에서 전자서명 처리 시스템 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170046664A1 (en) 2015-08-13 2017-02-16 The Toronto-Dominion Bank Systems and methods for tracking and transferring ownership of connected devices using blockchain ledgers
WO2018229608A1 (en) * 2017-06-13 2018-12-20 nChain Holdings Limited Computer-implemented system and method providing a decentralised protocol for the recovery of cryptographic assets
KR102078566B1 (ko) 2019-03-19 2020-02-19 크립토 주식회사 암호화폐 분실 방지 방법 및 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020005034A1 (ko) * 2018-06-28 2020-01-02 주식회사 페이게이트 다중 서명 보안 계정 제어 시스템
KR20210060746A (ko) 2019-11-19 2021-05-27 주식회사 어뎁트 블록체인의 개인 키를 통한 서명이 가능한 전자계약 서비스 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170046664A1 (en) 2015-08-13 2017-02-16 The Toronto-Dominion Bank Systems and methods for tracking and transferring ownership of connected devices using blockchain ledgers
WO2018229608A1 (en) * 2017-06-13 2018-12-20 nChain Holdings Limited Computer-implemented system and method providing a decentralised protocol for the recovery of cryptographic assets
KR102078566B1 (ko) 2019-03-19 2020-02-19 크립토 주식회사 암호화폐 분실 방지 방법 및 시스템

Also Published As

Publication number Publication date
KR20210131031A (ko) 2021-11-02

Similar Documents

Publication Publication Date Title
US11743052B2 (en) Platform for generating authenticated data objects
KR102383492B1 (ko) 블록체인 상의 스마트 계약을 이용한 사용자 키 관리 방법
US11206133B2 (en) Methods and systems for recovering data using dynamic passwords
US20210287770A1 (en) Electronic patient credentials
US11646891B2 (en) Compact recordation protocol
EP3864551B1 (en) Distributed ledger-based profile verification
JP2021511596A (ja) N個のうちm個の鍵を使用して顧客ウォレットを復元するマルチ承認システム
CA3027741A1 (en) Blockchain systems and methods for user authentication
CN107358440B (zh) 数字货币定制追踪的方法和系统
CN109508564B (zh) 一种基于区块链的数字资产存储系统和方法
US11997213B2 (en) Verification and encryption scheme in data storage
CN110326251A (zh) 提供使用交叉验证特征来验证用户的通用分散解决方案的系统和方法
KR102116235B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
CN109669955B (zh) 一种基于区块链的数字资产查询系统和方法
KR102118962B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
EP3867849B1 (en) Secure digital wallet processing system
US20230360040A1 (en) Quantum-safe payment system
US11038685B1 (en) Correcting blockchain transactions with cryptocurrency type mistakes
JP7462903B2 (ja) 利用者端末、認証者端末、登録者端末、管理システムおよびプログラム
CN109428722A (zh) 一种内容发布方法及装置
US11922404B2 (en) Method and system for payment for central bank digital currency
TWM589842U (zh) 以實名制手機實現的行動交易櫃檯
CN111311341A (zh) 票据处理方法、设备及介质
JP6901373B2 (ja) ユーザ管理装置、ユーザ管理システム
KR102654373B1 (ko) 블록체인지갑 관리 서비스를 제공하는 방법 및 이를 위한 시스템

Legal Events

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