KR20190099984A - System for managing private key - Google Patents

System for managing private key Download PDF

Info

Publication number
KR20190099984A
KR20190099984A KR1020180027656A KR20180027656A KR20190099984A KR 20190099984 A KR20190099984 A KR 20190099984A KR 1020180027656 A KR1020180027656 A KR 1020180027656A KR 20180027656 A KR20180027656 A KR 20180027656A KR 20190099984 A KR20190099984 A KR 20190099984A
Authority
KR
South Korea
Prior art keywords
private key
server
electronic wallet
management system
cryptocurrency
Prior art date
Application number
KR1020180027656A
Other languages
Korean (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 KR20190099984A publication Critical patent/KR20190099984A/en

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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present invention relates to a private key management system and, more specifically, to a system which generates and manages a private key for each of users at an encryption current exchange mediating encryption current trading. The private key management system generates and manages the private key for each of the users, divides the generated private key into two regions, and stores each of the private keys of the two divided regions in different places so as to increase stability of private key security.

Description

개인 키 관리 시스템{SYSTEM FOR MANAGING PRIVATE KEY}Private Key Management System {SYSTEM FOR MANAGING PRIVATE KEY}

본 발명은 개인 키 관리 시스템에 관한 것으로, 보다 구체적으로, 암호화 화폐 거래를 중개하는 암호화 화폐 거래소에서 각각의 사용자들에 대한 개인 키(Private Key)를 생성 및 관리하는 시스템에 있어서, 각각의 사용자들에 대한 개인 키를 생성 및 관리하되, 생성된 개인 키를 2개의 영역으로 분리하고, 분리된 2개의 영역의 개인 키를 각각 다른 장소에 보관함으로써, 개인 키 보안의 안정성을 높일 수 있는 개인 키 관리 시스템에 관한 것이다.The present invention relates to a private key management system, and more particularly, in a system for generating and managing a private key for each user in a cryptocurrency exchange that mediates cryptocurrency transactions, each user Private key management to create and manage a private key for, but to separate the generated private key into two areas, and to store the private keys of the two separate areas in different places, thereby increasing the stability of the private key security It's about the system.

암호화 화폐란 컴퓨터 등에 정보 형태로 남아 실물 없이 사이버상으로만 거래되는 전자화폐의 일종이다. 초기에 암호화 화폐는 눈에 보이지 않고 컴퓨터상에 표현되는 화폐라고 해서 디지털 화폐(Digital Currency)또는 가상화폐 등으로 불렀지만, 최근에는 암호화 기술을 사용하는 화폐라는 의미로 암호화폐라고 칭하기도 한다.Cryptocurrency is a kind of electronic money that remains in the form of information on a computer and is only traded in cyberspace. In the early days, cryptocurrencies were called invisible and represented on a computer, called digital currency or virtual currency. Recently, cryptocurrency is also called cryptocurrency, meaning cryptocurrency.

암호화 화폐는 화폐 발행에 따른 생산 비용이 들지 않아 이체 비용 등 거래 비용을 대폭 절감할 수 있고, 실물 없이 사이버 상으로만 거래되고 있는 네트워크형 전자화폐이기 때문에 보유 수량에 제한이 없으며, 중간 단계를 거칠 필요가 없어 즉각적으로 거래할 수 있다는 장점을 가지고 있다. 이러한 장점들로 인해, 암호화 화폐에 대한 사람들의 관심이 높아지고 있으며, 이로 인해, 암호화 화폐의 가치가 높아져, 암호화 화폐와 연관된 다양한 산업들이 발생하였고, 사람들간의 암호화 화폐 거래를 위한 암호화 화폐 거래소가 증가하였다.Cryptocurrency does not incur production costs associated with issuing money, greatly reducing transaction costs such as transfer costs, and because it is a network-type electronic money that is traded only in the cyber, without any physical quantity, there is no limit on the number of holdings. There is no need to trade immediately. Because of these advantages, people's interest in cryptocurrency has increased, which has increased the value of cryptocurrency, creating various industries related to cryptocurrency, and increasing cryptocurrency exchanges for cryptocurrency trading between people. .

일반적으로, 종래의 암호화 화폐 거래소에서는 가상 화페 거래소에 가입한 사용자들마다 암호화 화폐를 관리하기 위한 전자지갑을 생성함과 더불어 개인 키를 발행하여 전자지갑의 보안을 관리하였다.In general, the conventional cryptocurrency exchange generates an electronic wallet for managing cryptocurrency for each user subscribed to the virtual currency exchange, and manages the security of the electronic wallet by issuing a private key.

그러나, 종래의 암호화 화폐 거래소에서는 온라인 망을 통해 해킹이 발생하게 되면 사용자들의 개인 정보가 유출되거나 개인 키가 유출될 수 있으며, 최악의 경우에는 사용자들이 암호화 화폐가 모두 도난 당할 수 있기 때문에 사용자들의 암호화 화폐를 안전하게 보호할 수 없다는 문제점이 있다.However, in a conventional cryptocurrency exchange, if a hack occurs through an online network, the user's personal information may be leaked or the private key may be leaked, and in the worst case, the user's cryptocurrency may be stolen. The problem is that money cannot be secured.

한국등록특허 제10-1628007호Korea Patent Registration No. 10-1628007

본 발명은 상술된 문제점을 해결하기 위해 도출된 것으로, 본 발명은 암호화 화폐 거래를 중개하는 암호화 화폐 거래소에서 각각의 사용자들에 대한 개인 키(Private Key)를 생성 및 관리하는 시스템에 있어서, 각각의 사용자들에 대한 개인 키를 생성 및 관리하되, 생성된 개인 키를 2개의 영역으로 분리하고, 분리된 2개의 영역의 개인 키를 각각 다른 장소에 보관함으로써, 해킹으로 인해 개인 키 및 개인 정보가 유출되더라도 암호화 화폐가 도난당하는 것을 방지할 수 있는 개인 키 관리 시스템을 제공하는 것이다.The present invention was derived to solve the above problems, the present invention is a system for generating and managing a private key for each user in a cryptocurrency exchange brokering cryptocurrency trading, By creating and managing private keys for users, separating the generated private key into two areas and storing the separated private keys in two different places, resulting in the leakage of the private key and private information due to hacking Even if it does, it provides a private key management system that can prevent the cryptocurrency from being stolen.

본 발명의 일 실시예에 따른 개인 키 관리 시스템은, 암호화 화폐 거래를 중개하는 암호화 화폐 거래소에서 각 사용자에 대한 개인 키(Private Key)를 생성 및 관리하는 시스템에 있어서, 암호화 화폐 서버로부터 암호화 화폐를 관리를 위한 전자지갑을 생성하는 전자지갑 생성 프로세스를 호출하는 백 앤드(Back End) 서버, 상기 전자지갑 생성 프로세스를 통해 생성된 상기 전자지갑의 정보를 수신하고, 수신한 상기 전자지갑의 정보에 기초하여 상기 개인 키를 생성하는 프론트 앤드 프로세스(Front End Process; FEP) 서버 및 생성한 상기 개인 키를 두 개의 영역으로 분리하는 키 관리 시스템(Key Management System; KMS) 서버를 포함할 수 있다.The private key management system according to an embodiment of the present invention is a system for generating and managing a private key for each user in a cryptocurrency exchange for mediating cryptocurrency transactions, and obtaining a cryptocurrency from a cryptocurrency server. A back end server for calling an electronic wallet generation process for generating an electronic wallet for management, receiving information of the electronic wallet generated through the electronic wallet creation process, and based on the received information of the electronic wallet. And a front end process (FEP) server for generating the private key, and a key management system (KMS) server for separating the generated private key into two areas.

일 실시예에서, 상기 FEP 서버는, 상기 전자지갑 생성 프로세스가 호출되는 경우, 상기 전자지갑에 대한 비밀번호를 생성하고, 생성된 상기 비밀 번호를 상기 암호화 화폐 서버로 전달할 수 있으며, 상기 암호화 화폐 서버는, 전달받은 상기 비밀번호 및 블록체인(Block Chain) 전자지갑 생성 API(Application Programming Interface)를 이용하여 상기 전자지갑을 생성할 수 있다.In one embodiment, when the electronic wallet generation process is called, the FEP server may generate a password for the electronic wallet, and transfer the generated password to the cryptocurrency server. The electronic wallet may be generated by using the received password and a block chain electronic wallet generation API (Application Programming Interface).

일 실시예에서, 상기 FEP 서버는, 상기 블록체인(Block Chain) 전자지갑 생성 API로 생성된 상기 전자지갑의 주소에 기초하여 상기 암호화 화폐 서버로부터 상기 전자지갑이 생성된 블록체인 노드에 기 저장된 키 스토어 파일(Key store file)을 수신하며, 수신한 상기 키 스토어 파일을 기반으로 상기 개인 키를 생성할 수 있다.In one embodiment, the FEP server, the key previously stored in the block chain node in which the electronic wallet was generated from the cryptocurrency server based on the address of the electronic wallet generated by the block chain electronic wallet generation API A key store file may be received, and the private key may be generated based on the received key store file.

일 실시예에서, 상기 KMS 서버는, 생성된 상기 개인 키를 두 개의 영역으로 분리하여 생성된 제1 및 2 개인 키를 저장하되, 상기 제1 개인 키를 텍스트 형태로 변환하여 상기 각 사용자에 대응되는 사용자 단말로 제공하고, 상기 제2 개인 키만을 저장할 수 있다.In one embodiment, the KMS server stores the first and second private keys generated by separating the generated private key into two areas, and converts the first private key into a text form to correspond to each user. It can be provided to the user terminal, and only the second private key can be stored.

일 실시예에서, 상기 개인 키 관리 시스템은, 상기 KMS 서버에서 분리되지 않은 상기 개인 키, 상기 제1 및 2 개인 키 및 상기 암호화 화폐 서버로부터 수신한 상기 전자지갑의 정보를 암호화하는 암호화 서버 및 분리되지 않은 상기 개인 키, 상기 전자지갑의 정보, 암호화된 상기 개인 키 및 암호화된 상기 전자지갑의 정보를 저장하는 보험 서비스 서버를 더 포함할 수 있다.In one embodiment, the private key management system, the encryption server and the encryption server for encrypting the information of the electronic wallet received from the private key, the first and second private key and the cryptocurrency server that is not separated from the KMS server; It may further include an insurance service server for storing the non-private key, the information of the electronic wallet, the encrypted private key and the encrypted electronic wallet information.

일 실시예에서, 상기 암호화 서버는, 두 개의 영역으로 분리된 상기 개인 키를 암호화 하여 제1 및 2 시드 키(Seed Key)를 생성하며, 상기 제1 시드 키를 상기 KMS 서버로 전달하고, 상기 제2 시드 키를 상기 보험 서비스 서버로 전달할 수 있다.In one embodiment, the encryption server encrypts the private key divided into two regions to generate a first and second seed keys, and transfers the first seed key to the KMS server. The second seed key may be transmitted to the insurance service server.

일 실시예에서, 기 보험 서비스 서버는, 온라인 망으로 연결된 온라인 서버 및 상기 온라인 망을 사용하지 않는 오프라인 서버를 포함하며, 상기 온라인 서버에는 두 개의 영역으로 분리된 상기 개인 키 중 어느 하나의 개인 키만을 저장하고, 상기 오프라인 서버에는 분리되지 않은 상기 개인 키의 전체를 저장할 수 있다.In one embodiment, the pre-insurance service server includes an online server connected to an online network and an offline server not using the online network, wherein the online server has a private key of any one of the private keys divided into two areas. Store only the entire private key that is not separated in the offline server.

일 실시예에서, 상기 FEP 서버는, 상기 사용자 단말로부터 인증 요청 신호를 수신하는 경우, 상기 사용자 단말로부터 수신한 상기 제1 개인 키 및 상기 보험 서비스 서버로부터 수신한 상기 제2 개인 키에 기초하여 인증 절차 프로세스를 수행할 수 있다.In an embodiment, when the FEP server receives an authentication request signal from the user terminal, the FEP server authenticates based on the first private key received from the user terminal and the second private key received from the insurance service server. Procedural processes can be performed.

일 실시예에서, 상기 보험 서비스 서버는, 상기 사용자 단말로부터 개인 키 분실 신호를 수신하는 경우, 상기 오프라인 서버를 통해 본인 인증 절차를 수행하고, 인증 결과에 기초하여 상기 온라인 서버에 저장된 상기 어느 하나의 개인 키를 상기 사용자 단말로 제공할 수 있다.In one embodiment, the insurance service server, when receiving the private key loss signal from the user terminal, performs the authentication process through the offline server, the one of the one stored in the online server based on the authentication result The private key may be provided to the user terminal.

일 실시예에서, 상기 보험 서비스 서버는, 상기 사용자 단말로부터 개인 키 관리 서비스 탈퇴 요청 신호를 수신하는 경우, 저장된 상기 개인 키 및 상기 전자지갑의 정보를 상기 사용자 단말에 제공하고, 저장된 상기 개인 키 및 상기 전자지갑의 정보를 삭제할 수 있다.In one embodiment, the insurance service server, when receiving the private key management service withdrawal request signal from the user terminal, provides the stored personal key and the information of the electronic wallet to the user terminal, the stored private key and Information of the electronic wallet can be deleted.

본 발명은 암호화 화폐 거래를 중개하는 암호화 화폐 거래소에서 각각의 사용자들에 대한 개인 키(Private Key)를 생성 및 관리하는 시스템에 있어서, 각각의 사용자들에 대한 개인 키를 생성 및 관리하되, 생성된 개인 키를 2개의 영역으로 분리하고, 분리된 2개의 영역의 개인 키를 각각 다른 장소에 보관함으로써, 해킹으로 인해 개인 키 및 개인 정보가 유출되더라도 암호화 화폐가 도난당하는 것을 방지할 수 있다는 이점이 있다.The present invention provides a system for generating and managing a private key for each user in a cryptocurrency exchange brokering a cryptocurrency exchange, while generating and managing a private key for each user. By separating the private key into two areas and storing the private keys of the two separate areas in different places, there is an advantage that the cryptocurrency can be prevented from being stolen even if the private key and the personal information are leaked due to hacking. .

또한, 본 발명은 사용자가 자신의 키의 일부 영역을 소유하고 있고, 자신이 소유한 키의 일부 영역과 서버에 저장된 키의 일부 영역을 결합해야만 인증이 되도록 함으로써, 사용자가 소유한 전자지갑이 사용자의 허락 및 지시없이 무단으로 사용되는 것을 방지할 수 있다는 이점이 있다.In addition, the present invention is that the user owns a part of the key of his own key, so that the user's own wallet is authenticated by combining the part of the key owned by the part of the key stored in the server There is an advantage that can be prevented from unauthorized use without permission and instruction.

도 1은 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)의 구성요소를 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)에서 암호화 화폐 서버(20)로부터 수신한 키 스토어 파일의 형태를 개략적으로 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)을 이용하여 개인 키를 생성하는 일련의 과정을 설명하기 위한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)을 이용하여 개인 키를 관리하는 일련의 과정을 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)을 이용하여 개인 키를 생성 및 관리하는 절차를 설명하기 위한 도면이다.
1 is a view schematically showing the components of the private key management system 100 according to an embodiment of the present invention.
FIG. 2 is a diagram schematically illustrating a form of a key store file received from the cryptocurrency server 20 in the private key management system 100 according to an embodiment of the present invention.
3 is a flowchart illustrating a series of processes for generating a private key using the private key management system 100 according to an embodiment of the present invention.
4 is a flowchart illustrating a series of processes for managing a private key using the private key management system 100 according to an embodiment of the present invention.
5 is a diagram illustrating a procedure of generating and managing a private key using the private key management system 100 according to an embodiment of the present invention.

이하, 본 발명의 이해를 돕기 위하여 바람직한 실시예를 제시한다. 그러나 하기의 실시예는 본 발명을 보다 쉽게 이해하기 위하여 제공되는 것일 뿐, 실시예에 의해 본 발명의 내용이 한정되는 것은 아니다.Hereinafter, preferred examples are provided to aid in understanding the present invention. However, the following examples are merely provided to more easily understand the present invention, and the contents of the present invention are not limited by the examples.

도 1은 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)의 구성요소를 개략적으로 도시한 도면이다.1 is a view schematically showing the components of the private key management system 100 according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)은 WEB/WAS 서버(110), 백 앤드(Back End) 서버(120), 프론트 앤드 프로세스(Front End Process; FEP) 서버(130), 키 관리 시스템(Key Management System; KMS) 서버(140), 암호화 서버(150), 및 보험 서비스 서버(160)를 포함하여 구성될 수 있다.Referring to FIG. 1, the private key management system 100 according to an embodiment of the present invention includes a WEB / WAS server 110, a back end server 120, and a front end process (FEP). The server 130 may include a server 130, a key management system (KMS) server 140, an encryption server 150, and an insurance service server 160.

여기서, 도 1에 도시된 개인 키 관리 시스템(100)은 일 실시예에 따른 것이고, 그 구성요소가 도 1에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.Here, the private key management system 100 shown in FIG. 1 is according to one embodiment, and its components are not limited to the embodiment shown in FIG. 1, and may be added, changed, or deleted as necessary. .

먼저, WEB/WAS 서버(110)는 사용자에게 웹(Web)을 제공하기 위한 WEB 서버와 어플리케이션 실행 환경을 제공하기 위한 웹 어플리케이션 서버(Web application Server; WAS)를 포함하여 구성될 수 있다.First, the WEB / WAS server 110 may be configured to include a web server for providing a web to a user and a web application server (WAS) for providing an application execution environment.

WEB/WAS 서버(110)는 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)을 이용하는 사용자의 사용자 단말(10)과 연결되어 통신할 수 있으며, 사용자 단말(10)로부터 출력되는 요청 신호들을 수신하여 후술되는 Back End 서버(120), FEP 서버(130) 및 KMS 서버(140) 중 어느 하나 이상에 전달할 수 있다. WEB / WAS server 110 may be connected and communicate with the user terminal 10 of the user using the private key management system 100 according to an embodiment of the present invention, the request signal output from the user terminal 10 It may be received and delivered to any one or more of the Back End server 120, FEP server 130 and KMS server 140 to be described later.

여기서, 사용자 단말(10)은 이동통신 단말기, PDA(Personal Digital Assistant), 랩탑(Laptop), 스마트폰(Smart Phone), 넷북(Netbook), 휴대 인터넷 장치(MID: Mobile Internet Device), 울트라모바일 PC(UMPC: Ultra Mobile PC) 및 태블릿 PC(Tablet Personal Computer) 중 어느 하나 이상을 포함할 수 있다.Here, the user terminal 10 is a mobile communication terminal, PDA (Personal Digital Assistant), Laptop (Laptop), Smartphone (Smart Phone), Netbook (Netbook), Mobile Internet Device (MID: Mobile Internet Device), Ultra Mobile PC One or more of (UMPC: Ultra Mobile PC) and Tablet PC (Tablet Personal Computer).

예를 들어, 사용자 단말(10)이 스마트폰인 경우, 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)과 통신하기 위한 개인 키 생성 및 관리 어플리케이션(Application) 소프트웨어가 사용자 단말(10)에 설치될 수 있고, 사용자든 자신의 사용자 단말(10)에 설치된 개인 키 생성 및 관리 어플리케이션(Application) 소프트웨어를 실행함으로써, 개인 키 관리 시스템(100)과 통신할 수 있다.For example, when the user terminal 10 is a smartphone, the private key generation and management application software for communicating with the private key management system 100 according to an embodiment of the present invention is the user terminal 10. The user can communicate with the private key management system 100 by executing a private key generation and management application software installed in the user terminal 10 of the user.

일 실시예에서, 사용자 단말(10)은 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)으로부터 인증된 사용자 단말(10)을 통해서만 사용 가능하도록 설정할 수 있다. 예를 들어, 사용자가 자신의 스마트폰, 노트북 및 데스크탑을 사용 기기로 인증한 경우, 자신의 스마트폰, 노트북 밑 데스크탑 이외의 다른 기기를 통해서는 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)을 사용할 수 없을 수 있다. 그러나 본 발명은 이에 한정되지 않는다.In one embodiment, the user terminal 10 may be set to be available only through the user terminal 10 authenticated from the private key management system 100 according to an embodiment of the present invention. For example, when a user authenticates his smartphone, laptop, and desktop as a user device, the personal key management system according to an embodiment of the present invention is provided through a device other than the desktop under the smartphone and the laptop. 100) may not be available. However, the present invention is not limited thereto.

Back End 서버(120)는 암호화 화폐 서버(20)로부터 암호화 화폐를 관리를 위한 전자지갑을 생성하는 전자지갑 생성 프로세스를 호출할 수 있다.The back end server 120 may call an electronic wallet generation process for generating an electronic wallet for managing cryptocurrency from the cryptocurrency server 20.

여기서, 암호화 화폐 서버(20)는 실제 암호화 화폐를 생성 및 관리하고 암호화 화폐의 거래가 진행되는 중앙 서버를 의미한다. 예를 들어, 암호화 화폐 서버(20)은 비트코인 서버 및 이더리움 서버일 수 있다.Here, the cryptocurrency server 20 refers to a central server that generates and manages the actual cryptocurrency and deals with the cryptocurrency. For example, the cryptocurrency server 20 may be a bitcoin server and an Ethereum server.

또한, 전자지갑은 암호화 화폐를 관리하기 위하여 암호화 화폐 서버(20)에서 각 사용자들에게 발급되는 가상의 지갑(Wallet)을 의미하며, 전자지갑 생성 프로세스는 암호화 화폐 서버에서 이러한 전자지갑을 생성하는 프로세스를 의미한다.In addition, the electronic wallet refers to a virtual wallet (Wallet) issued to each user in the cryptocurrency server 20 in order to manage the cryptocurrency, the electronic wallet generation process is a process of creating such an electronic wallet in the cryptocurrency server Means.

Back End 서버(120)는 사용자 단말(10)로부터 전자지갑 생성 요청 신호를 수신하는 경우, 암호화 화폐 서버(20)로 블록체인(Block Chain) 전자지갑 생성 API(Application Programming Interface)를 요청할 수 있다.When the back end server 120 receives the electronic wallet generation request signal from the user terminal 10, the back end server 120 may request a block chain electronic wallet generation API (Application Programming Interface) from the cryptocurrency server 20.

FEP 서버(130)는 전자지갑 생성 프로세스를 통해 생성된 전자지갑의 정보를 수신하고, 수신한 전자지갑의 정보에 기초하여 개인 키를 생성할 수 있다.The FEP server 130 may receive the information of the electronic wallet generated through the electronic wallet generation process and generate a private key based on the received electronic wallet information.

여기서, 전자지갑의 정보는 암호화 화폐 서버(20)에서 생성된 전자지갑에 대한 정보를 의미한다. 예를 들어, 전자지갑의 정보는 전자지갑의 주소 정보 및 전자지갑의 키 스토어 파일(Key store file) 정보를 포함할 수 있다. Here, the information on the electronic wallet means information about the electronic wallet generated by the cryptocurrency server 20. For example, the information of the electronic wallet may include address information of the electronic wallet and key store file information of the electronic wallet.

일 실시예에서, FEP 서버(130)는 전자지갑 생성 프로세스가 호출되는 경우, 전자지갑에 대한 비밀번호를 생성하고, 생성된 비밀 번호를 상기 암호화 화폐 서버로 전달할 수 있으며, 암호화 화폐 서버(20)는 전달받은 비밀번호 및 블록체인(Block Chain) 전자지갑 생성 API를 이용하여 전자지갑을 생성할 수 있다. In one embodiment, when the electronic wallet generation process is called, the FEP server 130 may generate a password for the electronic wallet, and pass the generated password to the cryptocurrency server, the cryptocurrency server 20 You can create an electronic wallet using the received password and block chain electronic wallet creation API.

FEP 서버(130)는 블록체인(Block Chain) 전자지갑 생성 API로 생성된 전자지갑의 주소에 기초하여 상기 암호화 화폐 서버로부터 전자지갑이 생성된 블록체인 노드에 기 저장된 키 스토어 파일(Key store file)을 수신할 수 있으며, 수신한 키 스토어 파일을 기반으로 상기 개인 키를 생성할 수 있다. The FEP server 130 stores a key store file previously stored in the blockchain node in which the electronic wallet is generated from the cryptocurrency server based on the address of the electronic wallet generated by the blockchain electronic wallet generation API. May be received, and the private key may be generated based on the received key store file.

여기서, 키 스토어 파일은 전자지갑을 생성한 블록체인 노드에만 저장되는 파일이기 때문에, 각 사용자마다 전자지갑이 생성되는 경우, 각 사용자마다 키 스토어 파일 또한 생성된다. 이하, 도 2를 참조하여, 키 스토어 파일을 기반으로 개인 키를 생성하는 방법을 설명하도록 한다.Here, since the key store file is a file stored only in the blockchain node that created the electronic wallet, when the electronic wallet is created for each user, a key store file is also generated for each user. Hereinafter, a method of generating a private key based on a key store file will be described with reference to FIG. 2.

도 2는 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)에서 암호화 화폐 서버(20)로부터 수신한 키 스토어 파일의 형태를 개략적으로 도시한 도면이다. FIG. 2 is a diagram schematically illustrating a form of a key store file received from the cryptocurrency server 20 in the private key management system 100 according to an embodiment of the present invention.

도 2를 참조하면, FEP 서버(130)는 암호화 화폐 서버(20)로부터 생성된 전자지갑의 주소를 요청하여, 전자지갑의 주소를 수신할 수 있다. 또한, FEP 서버(130)는 전자지갑의 주소에 대한 보내기(Export) 요청을 통해 전자지갑의 블록체인 노드에 저장된 키 스토어 파일을 수신할 수 있다.Referring to FIG. 2, the FEP server 130 may request the address of the electronic wallet generated from the cryptocurrency server 20 and receive the address of the electronic wallet. In addition, the FEP server 130 may receive a key store file stored in the blockchain node of the electronic wallet through an export request for the address of the electronic wallet.

여기서, 키 스토어 파일은 사전에 생성되어 있으며, 보내기 과정을 통해 블록체인 로컬 노드에 저장되어 있는 키 스토어 파일을 조회하는 역할을 담당한다. Here, the key store file is generated in advance, and is responsible for inquiring the key store file stored in the blockchain local node through the sending process.

FEP 서버(130)는 암호화 화폐 서버(20)로부터 도 2에 도시된 형태로 키 스토어 파일을 수신할 수 있으며, 수신한 키 스토어 파일을 분석하여 키 스토어 파일 내에서 "ciphertext"항목의 "e469221cb61f32fe76119e38b1…"를 추출할 수 있다. FEP 서버(130)는 추출한 e469221cb61f32fe76119e38b1…"를 개인 키로 설정함으로써, 사용자에 대한 개인 키를 생성할 수 있다.The FEP server 130 may receive the key store file from the cryptocurrency server 20 in the form shown in FIG. 2. The FEP server 130 may analyze the received key store file to analyze the received "e469221cb61f32fe76119e38b1... "Can be extracted. The FEP server 130 extracts the extracted e469221cb61f32fe76119e38b1... By setting "as a private key, a private key for a user can be generated.

다른 일 실시예에서, FEP 서버(130)는 키 스토어 파일 자체를 개인 키로 사용할 수 있다. 그러나 본 발명은 이에 한정되지 않는다.In another embodiment, the FEP server 130 may use the key store file itself as a private key. However, the present invention is not limited thereto.

다시 도 1로 돌아와서, KMS 서버(140)는 FEP 서버(130)에서 생성한 개인 키를 두 개의 영역으로 분리하여, 제1 개인 키 및 제2 개인 키를 생성할 수 있다. 예를 들어, FEP 서버(130)에서 생성한 개인 키가 "e469221cb61f32fe76119e38b1380bf9c3ee625b862aeb2b3c4b6b458ac5c5f3"인 경우, KMS 서버(140)는 상기의 개인 키를 반으로 나누어 "e469221cb61f32fe76119e38b1380bf9c"의 영역과 "c3ee625b862aeb2b3c4b6b458ac5c5f3"의 영역으로 분리할 수 있고 "e469221cb61f32fe76119e38b1380bf9c"를 제1 개인 키로 설정하고 "c3ee625b862aeb2b3c4b6b458ac5c5f3"를 제 2 개인 키로 설정할 수 있다. 그러나, 본 발명은 이에 한정하지 않고, 개인 키를 두 개의 영역으로 분리하는 어떠한 방법이든 적용될 수 있다. 예를 들어, FEP 서버(130)에서 생성된 개인 키가 "e469221cb61f32fe76119e38b1380"인 경우, 홀수 번째에 위치한 숫자 또는 문자와 짝수 번째 위치한 숫자 또는 문자를 분리하여"e621b13f7193b30" 및 "492c6f2e61e818"를 생성할 수 있고, 각각 제1 개인 키 및 제2 개인 키로 설정할 수 있다. 1, the KMS server 140 may generate a first private key and a second private key by separating the private key generated by the FEP server 130 into two areas. For example, if the private key generated by the FEP server 130 is "e469221cb61f32fe76119e38b1380bf9c3ee625b862aeb2b3c4b6b458ac5c5f3", the KMS server 140 divides the above private key in half and divides the above-mentioned private key in half. And "e469221cb61f32fe76119e38b1380bf9c" as the first private key and "c3ee625b862aeb2b3c4b6b458ac5c5f3" as the second private key. However, the present invention is not limited thereto, and any method of dividing the private key into two areas may be applied. For example, if the private key generated by the FEP server 130 is "e469221cb61f32fe76119e38b1380", the odd-numbered and even-numbered numbers or letters may be separated to generate "e621b13f7193b30" and "492c6f2e61e818". , May be set as a first private key and a second private key, respectively.

일 실시예에서, KMS 서버(140)는 개인 키를 두 개의 영역으로 분리하여 생성된 제1 개인 키 및 제2 개인 키를 저장하여 관리하되, 제2 개인 키는 KMS 서버(140) 내에 저장하고, 제1 개인 키를 텍스트 형태로 변환하여 사용자 단말(10)로 제공할 수 있다. 예를 들어, 사용자 단말(10)이 안드로이드 기반의 스마트폰인 경우, 안드로이드 기반의 스마트폰 앱 내의 데이터베이스를 이용하여 제1 개인 키를 저장할 수 있다. 또한, 사용자 단말(10)이 아이폰과 같이 IOS 기반인 경우, 스마트폰 내의 저장소 파일(xml)을 사용하여 저장할 수 있다. 그러나 본 발명은 이에 한정되지 않는다.In one embodiment, the KMS server 140 stores and manages the first private key and the second private key generated by dividing the private key into two areas, while storing the second private key in the KMS server 140. The first private key may be converted into a text form and provided to the user terminal 10. For example, when the user terminal 10 is an Android-based smartphone, the first private key may be stored using a database in the Android-based smartphone app. In addition, when the user terminal 10 is IOS-based, such as an iPhone, it can be stored using the storage file (xml) in the smartphone. However, the present invention is not limited thereto.

암호화 서버(150)는 KMS 서버(140)에서 분리되기 이전의 개인 키, 제1 및 2 개인 키 및 암호화 화폐 서버(20)로부터 수신한 키 스토어 파일과 같은 전자지갑의 정보를 암호화할 수 있다.The encryption server 150 may encrypt information of the electronic wallet such as a private key, first and second private keys, and a key store file received from the cryptocurrency server 20 before being separated from the KMS server 140.

일 실시예에서, 암호화 서버(150)는 KMS 서버(140)로부터 제1 개인 키 및 제2 개인 키를 전달 받아 암호화하여 제1 시드 키(Seed Key) 및 제2 시드 키(Seed Key)를 생성할 수 있고, 생성한 제1 시드 키를 KMS 서버(140)로 전달하고, 제2 시드 키를 후술되는 보험 서비스 서버(160)로 전달할 수 있다. 예를 들어서, 암호화 서버(150)는 하드웨어 보안 모듈(Hardware Security Module; HSM) 서버일 수 있으며, 분리된 개인 키를 HSM 암호화하여 HSM 암호화된 제1 개인 키인 제1 시드 키 및 HSM 암호화된 제2 개인 키인 제2 시드 키를 생성하고, 생성된 제1 및 2 시드 키를 KMS 서버(140)로 전달 할 수 있다.In one embodiment, the encryption server 150 receives and encrypts the first private key and the second private key from the KMS server 140 to generate a first seed key and a second seed key. The first seed key may be transferred to the KMS server 140 and the second seed key may be transferred to the insurance service server 160 which will be described later. For example, encryption server 150 may be a hardware security module (HSM) server, and the HSM encrypted first private key and the HSM encrypted second by HSM encryption of the separated private key. A second seed key, which is a private key, may be generated, and the generated first and second seed keys may be transferred to the KMS server 140.

다른 일 실시예에서 암호화 서버(150)는 KMS 서버(140)로부터 분리되지 않은 개인 키를 수신하여 암호화 하고, 암호화한 개인 키를 분리함으로써 제1 및 2 시드 키를 생성할 수 있다.In another embodiment, the encryption server 150 may receive and encrypt a private key that is not separated from the KMS server 140, and generate the first and second seed keys by separating the encrypted private key.

보험 서비스 서버(160)는 KMS 서버 (140)에서 분리되지 않은 개인 키, 키 스토어 파일을 포함하는 전자지갑의 정보, 암호화된 제1 및 2 개인 키(제1 및 2 시드 키), 암호화된 전자지갑 정보(키 스토어 파일)을 저장할 수 있다. Insurance service server 160 is a private key that is not separated from KMS server 140, information in the electronic wallet including the key store file, encrypted first and second private keys (first and second seed keys), encrypted electronic Store wallet information (key store files).

일 실시예에서, 보험 서비스 서버(160)는 온라인 서버 및 오프라인 서버를 포함할 수 있다.In one embodiment, insurance service server 160 may include an online server and an offline server.

온라인 서버는 온라인 망이 연결되어 있으며, Back End 서버(120), FEP 서버(130) 및 KMS 서버(140) 중 어느 하나 이상과 온라인 망을 통하여 통신할 수 있다.The online server is connected to the online network and may communicate with any one or more of the back end server 120, the FEP server 130, and the KMS server 140 through the online network.

오프라인 서버는 온라인 망을 사용하지 않으며, WEB/WAS 서버(110), Back End 서버(120), FEP 서버(130) 및 KMS 서버(140)로 구성된 네트워크 망으로부터 완벽하게 격리되어 구성 될 수 있다.The offline server does not use an online network and may be completely isolated from a network network composed of the WEB / WAS server 110, the back end server 120, the FEP server 130, and the KMS server 140.

일 실시예에서, 온라인 서버는 KMS 서버(140)로부터 전달된 제1 및 2 개인 키중 어느 하나만의 개인 키를 저장할 수 있으며, 오프라인 서버는 KMS 서버(140)에서 분리되지 않은 개인 키, 제1 및 2 개인 키를 모두 저장할 수 있다.In one embodiment, the online server may store a private key of only one of the first and second private keys delivered from the KMS server 140, and the offline server may be a private key, first and second, not separated from the KMS server 140. 2 Can store both private keys.

일 실시예에서, 보험 서비스 서버(160)는 사용자 단말(10)로부터 개인 키 분실 신호를 수신하는 경우, 오프라인 서버를 통해 본인 인증 절차를 수행하고, 인증 결과에 기초하여 제 1 및 2 개인 키 중 어느 하나의 개인 키를 상기 사용자 단말(10)로 제공할 수 있다.In one embodiment, when the insurance service server 160 receives the private key loss signal from the user terminal 10, the insurance service server 160 performs a self-authentication procedure through an offline server, and based on the authentication result, among the first and second private keys. Any one private key may be provided to the user terminal 10.

여기서, 개인 키 분실 신호는 사용자 단말(10)에 저장되었던 개인 키에 오류가 발생하거나 사용자 단말(10)이 변경되어 저장된 개인 키가 없는 경우, 즉 개인 키를 사용할 수 없는 경우에 재발급을 하고자 하는 경우에 사용자 단말(10)을 통해 입력하는 신호를 의미할 수 있다. 이때, 사용자는 오프라인 서버를 통해 인증 절차를 수행할 수 있고, 인증 확인이 된 경우에 제 1 및 2 개인 키 중 어느 하나의 개인 키를 상기 사용자 단말(10)로 제공할 수 있다.Here, the private key lost signal is to be reissued when an error occurs in the private key stored in the user terminal 10 or when the user terminal 10 is changed and there is no stored private key, that is, the private key cannot be used. In this case, it may mean a signal input through the user terminal 10. In this case, the user may perform an authentication procedure through an offline server, and when the authentication is confirmed, the user may provide one of the first and second private keys to the user terminal 10.

일 실시예에서, 보험 서비스 서버(160)는 사용자 단말(10)로부터 개인 키 관리 서비스 탈퇴 요청 신호를 수신하는 경우, 저장된 개인 키 및 전자지갑의 정보(키 스토어 파일)를 사용자 단말(10)에 제공하고, 저장되어 있던 개인 키 및 전자지갑의 정보(키 스토어 파일)은 삭제할 수 있다.In one embodiment, when the insurance service server 160 receives the private key management service withdrawal request signal from the user terminal 10, the insurance service server 160 stores the stored private key and information (key store file) of the electronic wallet on the user terminal 10. The stored private key and the information of the electronic wallet (key store file) can be deleted.

여기서, 개인 키 관리 서비스는 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)에서 제공하는 서비스로, 사용자에게 개인 키를 발급해주고, 발급한 개인 키를 관리해주는 서비스를 의미하며, 개인 키 관리 서비스 탈퇴 요청 신호는 이러한 개인 키 관리 서비스를 더 이상 이용하지 않고자 하는 경우에 개인 정보 삭제를 위하여 입력하는 신호를 의미한다. 예를 들어, 사용자는 더 이상 개인 키 관리 서비스를 이용하지 않기 위하여 자신의 사용자 단말(10)을 통해 탈퇴 요청 신호를 입력할 수 있다. 이때, 보험 서비스 서버(160)는 저장되어 있던 해당 사용자의 개인키, 키 스토어 파일, 암호화된 개인키를 모두 사용자 단말(10)로 제공하고, 저장되어 있던 모든 파일을 삭제할 수 있다.Here, the private key management service is a service provided by the private key management system 100 according to an embodiment of the present invention, and means a service for issuing a private key to a user and managing the issued private key. The management service withdrawal request signal means a signal input for deleting personal information when the private key management service is no longer used. For example, a user may input a withdrawal request signal through his user terminal 10 so as to no longer use the private key management service. At this time, the insurance service server 160 may provide all of the stored user's private key, key store file, and encrypted private key to the user terminal 10 and delete all the stored files.

일 실시예에서, FEP 서버(130)는 사용자 단말(10)로부터 인증 요청 신호를 수신하는 경우, 사용자 단말(10)로부터 수신한 제1 개인 키 및 보험 서비스 서버(160)로부터 수신한 제2 개인 키에 기초하여 인증 절차 프로세스를 수행할 수 있다. 예를 들어, 사용자가 사용자 단말(10)을 통해 암호화 화폐 거래를 진행하고자 하는 경우, 암호화 화폐 계좌의 인증 처리를 위해 인증 요청 신호를 입력할 수 있다. FEP 서버(130)는 인증 요청 신호를 수신하는 경우, 사용자 단말(10)로 저장된 제1 개인 키 송부에 대한 요청을 보냄과 동시에 보험 서비스 서버(160)로 저장된 제2 개인 키 송부에 대한 요청을 보낼 수 있다. 이후, FEP 서버(130)는 사용자 단말(10)로부터 수신한 제1 개인 키와 보험 서비스 서버(160)로부터 수신한 제2 개인 키를 결합하여 하나의 개인 키를 생성하고, 이를 통해, 사용자 인증 프로세스를 진행할 수 있다. 이하 도 3 및 4를 참조하여, 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)을 이용한 개인 키 생성 및 관리 방법을 설명하도록 한다.In an embodiment, when the FEP server 130 receives the authentication request signal from the user terminal 10, the FEP server 130 receives the first private key received from the user terminal 10 and the second individual received from the insurance service server 160. The authentication procedure process can be performed based on the key. For example, when a user wants to proceed with a cryptocurrency transaction through the user terminal 10, an authentication request signal may be input for authentication processing of a cryptocurrency account. When the FEP server 130 receives the authentication request signal, the FEP server 130 sends a request for the first private key sending stored to the user terminal 10 and sends a request for the second private key sending to the insurance service server 160 at the same time. can send. Thereafter, the FEP server 130 generates one private key by combining the first private key received from the user terminal 10 and the second private key received from the insurance service server 160, and through this, user authentication. You can proceed with the process. Hereinafter, a private key generation and management method using the private key management system 100 according to an embodiment of the present invention will be described with reference to FIGS. 3 and 4.

도 3은 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)을 이용하여 개인 키를 생성하는 일련의 과정을 설명하기 위한 순서도이다.3 is a flowchart illustrating a series of processes for generating a private key using the private key management system 100 according to an embodiment of the present invention.

도 3을 참조하면, 먼저, WEB/WAS 서버가 사용자 단말로부터 전자지갑 생성 요청 신호를 수신하고(S110), WEB/WAS 서버가 수신한 전자지갑 생성 요청 신호를 Back End 서버로 전달한다(S120).Referring to FIG. 3, first, the WEB / WAS server receives an electronic wallet generation request signal from a user terminal (S110), and transmits the electronic wallet generation request signal received by the WEB / WAS server to a back end server (S120). .

Back End 서버는 전달 받은 전자지갑 생성 요청 신호에 기초하여 암호화 화폐 서버로부터 전자지갑 생성 프로세스 호출하고(S130), 암호화 화폐 서버에서 전자지갑 생성 프로세스를 통해 전자지갑이 생성된다(S140).The back end server calls the electronic wallet generation process from the cryptocurrency server based on the received electronic wallet generation request signal (S130), and the electronic wallet is generated through the electronic wallet generation process at the cryptocurrency server (S140).

이후, FEP 서버는 S140단계에서 생성된 전자지갑의 주소에 기초하여 키 스토어 파일을 수신하고, 수신한 키 스토어 파일에 기초하여 개인 키를 생성한다(S150).Thereafter, the FEP server receives the key store file based on the address of the electronic wallet generated in step S140 and generates a private key based on the received key store file (S150).

도 4는 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)을 이용하여 개인 키를 관리하는 일련의 과정을 설명하기 위한 순서도이다.4 is a flowchart illustrating a series of processes for managing a private key using the private key management system 100 according to an embodiment of the present invention.

도 4를 참조하면, 먼저, KMS 서버가 FEP 서버에서 생성된 개인 키를 전달 받아 2개의 영역으로 분리함으로써, 제1 개인 키 및 제2 개인 키를 생성한다(S210). KMS 서버는 분리하여 생성된 제1 및 2 개인 키를 암호화 서버로 전달하며, 암호화 서버는 전달 받은 제1 및 2 개인 키를 암호화함으로써, 제1 및 2 시드 키를 생성한다(S220).Referring to FIG. 4, first, the KMS server receives a private key generated from the FEP server and divides the data into two areas, thereby generating a first private key and a second private key (S210). The KMS server transfers the first and second private keys generated separately to the encryption server, and the encryption server generates the first and second seed keys by encrypting the received first and second private keys (S220).

S220단계에서 암호화가 끝난 제1 시드 키는 KMS 서버로 전달되어 KMS 서버에 저장되며(S230), 제2 시드 키, 분리되지 않은 개인 키 및 키 스토어 파일을 보험 서비스 서버로 전달되어 보험 서비스 서버에 저장된다(S240). 이하, 도 5를 참조하여, 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)을 통해 개인 키를 생성하는 절차 및 관리하는 절차에 대하여 보다 상세하게 설명하고자 한다.In step S220, the encrypted first seed key is delivered to the KMS server and stored in the KMS server (S230), and the second seed key, the unseparated private key, and the key store file are delivered to the insurance service server to the insurance service server. It is stored (S240). Hereinafter, a procedure of generating and managing a private key through the private key management system 100 according to an embodiment of the present invention will be described in detail with reference to FIG. 5.

도 5는 본 발명의 일 실시예에 따른 개인 키 관리 시스템(100)을 이용하여 개인 키를 생성 및 관리하는 절차를 설명하기 위한 도면이다.5 is a diagram illustrating a procedure of generating and managing a private key using the private key management system 100 according to an embodiment of the present invention.

도 5를 참조하면, 먼저, KMS 서버(140)는 가상 화페 서버(20)로부터 개인 키, 전자 지갑 정보를 전달 받으며, 개인 키를 분리한 후 암호화 서버(150)로 전송한다.Referring to FIG. 5, first, the KMS server 140 receives a private key and electronic wallet information from the virtual currency server 20, separates the private key, and transmits the private key to the encryption server 150.

암호화 서버(150)는 전송 받은 분리된 개인 키(제1 및 제2 개인 키)를 암호화 하여 암호화된 제1 및 2 개인 키(제1 및 2 시드키)를 생성하고, 생성된 제1 및 2 시드키를 KMS 서버(140)로 전송한다.The encryption server 150 encrypts the received private key (first and second private keys) to generate encrypted first and second private keys (first and second seed keys), and generates the generated first and second keys. The seed key is transmitted to the KMS server 140.

KMS 서버(140)와 암호화 서버(150)에서 생성된 제1 및 2 시드키는 합쳐서 암호화 화폐 서버(20)로 전송된다. 또한, 암호화 화폐 서버(20)로부터 전달 받은 개인 키, 전자지갑의 정보, 제1 및 제2 시드키는 보험 서비스 서버(160)로 전송하여, 보험 서비스 서버(160)의 내부 망에 저장한다. 여기서, 보험 서비스 서버(160)의 내부 망은 인터넷이 연결되어 있는 온라인 서버(핫 서버)와 인터넷이 연결되지 않은 오프라인 서버(콜드 서버)로 구성된다.The first and second seed keys generated by the KMS server 140 and the encryption server 150 are combined and transmitted to the cryptocurrency server 20. In addition, the private key received from the cryptocurrency server 20, the information of the electronic wallet, the first and second seed keys are transmitted to the insurance service server 160, and stored in the internal network of the insurance service server 160. Here, the internal network of the insurance service server 160 is composed of an online server (hot server) connected to the Internet and an offline server (cold server) not connected to the Internet.

여기서, KMS 서버(140)는 개인 키를 보험 서비스 서버 내부망에 포함된 오프라인 서버로 전달하되, 인터넷 망이 아닌 오프라인을 통해 물리적으로 정보를 이동시키며, 오프라인 서버에서는 개인 키를 인터넷 망에 연결되지 않은 채로 보관한다. Here, the KMS server 140 transfers the private key to an offline server included in the insurance service server internal network, but physically moves the information through the offline network rather than the internet network, and the offline server does not connect the private key to the internet network. Keep it off.

KMS 서버(140)는 암호화된 제1 및 2 개인 키 중 제2 개인 키(제2 시드 키)를 사용자 단말(10) 및 보험 서비스 서버(160)로 전송한다. 여기서, KMS 서버(140)는 암호화 화폐의 수에 따라 제2 시드 키를 전송한다. 예를 들어, 코인의 수가 10개인 경우, 10Coin 10개의 제2 시드 키를 전송한다.The KMS server 140 transmits a second private key (second seed key) among the encrypted first and second private keys to the user terminal 10 and the insurance service server 160. Here, the KMS server 140 transmits a second seed key according to the number of cryptocurrencies. For example, if the number of coins is 10, 10 second 10 seed keys are transmitted.

이후, 사용자가 암호화 화폐 거래를 진행하고자 하는 경우, 자신의 사용자 단말(10)에 저장된 제2 시드 키를 암호화 서버(150)로 전송한다. 이때, 거래 요청시에는 사용자 단말(10)의 앱승인 버튼을 입력함으로써, 제2 시드 키에 대한 인증 절차가 진행되며, 승인이 완료 된 경우, 기 설정된 시간 동안 승인 유지할 수 있다. 그러나 본 발명은 이에 한정되지 않고, 거래 요청시 마다 인증 절차를 진행할 수 있다.Then, when the user wants to proceed with the cryptocurrency transaction, the user transmits the second seed key stored in the user terminal 10 to the encryption server 150. At this time, when the transaction request is input, the app approval button of the user terminal 10 is input, so that the authentication procedure for the second seed key is performed. However, the present invention is not limited thereto, and the authentication process may be performed at each transaction request.

보험 서비스 서버(160)가 사용자 단말(10)로부터 개인 키 분실 신호를 수신하는 경우, 개인 키 분실 신호 수신시, 인증 절차를 거쳐 제2 개인 키 전송한다.When the insurance service server 160 receives the private key loss signal from the user terminal 10, upon receiving the private key loss signal, the insurance service server 160 transmits the second private key through an authentication procedure.

또한, 보험 서비스 서버(160)는 사용자 단말로부터 개인 키 관리 서비스 탈퇴 요청 신호수신하는 경우, 보험 서비스 서버(160) 내부 망에 보관된 개인 키 및 전자지갑의 정보를 사용자에게 제공하고, 저장된 정보를 삭제한다. 여기서, 사용자가 직접 방문하는 경우에만 보험 서비스 서버(160) 내부 망에 보관된 개인 키 및 전자지갑의 정보를 사용자에게 제공할 수 있다.In addition, when the insurance service server 160 receives the private key management service withdrawal request signal from the user terminal, the insurance service server 160 provides the user with the information of the private key and electronic wallet stored in the internal network of the insurance service server 160, and stores the stored information. Delete it. Here, the information on the private key and the electronic wallet stored in the insurance service server 160 internal network may be provided to the user only when the user visits directly.

전술한 개인 키 관리 시스템(100)를 이용하여 개인 키 생성 및 관리하는 방법은 도면에 제시된 순서도를 참조로 하여 설명되었다. 간단히 설명하기 위하여 상기 방법은 일련의 블록들로 도시되고 설명되었으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 다른 블록들과 본 명세서에서 도시되고 기술된 것과 상이한 순서로 또는 동시에 일어날 수도 있으며, 동일한 또는 유사한 결과를 달성하는 다양한 다른 분기, 흐름 경로, 및 블록의 순서들이 구현될 수 있다. 또한, 본 명세서에서 기술되는 방법의 구현을 위하여 도시된 모든 블록들이 요구되지 않을 수도 있다.The method for generating and managing a private key using the aforementioned private key management system 100 has been described with reference to the flowchart shown in the drawings. Although the method is shown and described in a series of blocks for the sake of simplicity, the invention is not limited to the order of the blocks, and some blocks may occur in different order or simultaneously with other blocks than those shown and described herein. Various other branches, flow paths, and blocks may be implemented in order to achieve the same or similar results. In addition, not all illustrated blocks may be required for the implementation of the methods described herein.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the invention without departing from the spirit and scope of the invention described in the claims below I can understand that you can.

10: 사용자 단말
20: 암호화 화폐 서버
110: WEB/WAS 서버
120: Back End 서버
130: FEP 서버
140: KMS 서버
150: 암호화 서버
160: 보험 서비스 서버
10: user terminal
20: cryptocurrency server
110: WEB / WAS Server
120: back end server
130: FEP server
140: KMS server
150: encryption server
160: insurance service server

Claims (10)

암호화 화폐 거래를 중개하는 암호화 화폐 거래소에서 각 사용자에 대한 개인 키(Private Key)를 생성 및 관리하는 시스템에 있어서,
암호화 화폐 서버로부터 암호화 화폐를 관리를 위한 전자지갑을 생성하는 전자지갑 생성 프로세스를 호출하는 백 앤드(Back End) 서버;
상기 전자지갑 생성 프로세스를 통해 생성된 상기 전자지갑의 정보를 수신하고, 수신한 상기 전자지갑의 정보에 기초하여 상기 개인 키를 생성하는 프론트 앤드 프로세스(Front End Process; FEP) 서버; 및
생성한 상기 개인 키를 둘 이상의 영역으로 분리하는 키 관리 시스템(Key Management System; KMS) 서버;를 포함하는 것을 특징으로 하는,
개인 키 관리 시스템.
In a system for generating and managing a private key for each user in a cryptocurrency exchange brokering cryptocurrency transactions,
A back end server for calling an electronic wallet generation process for generating an electronic wallet for managing cryptocurrency from a cryptocurrency server;
A front end process (FEP) server for receiving the information of the electronic wallet generated through the electronic wallet generation process and generating the private key based on the received information of the electronic wallet; And
And a Key Management System (KMS) server for separating the generated private key into two or more areas.
Private Key Management System.
제1항에 있어서,
상기 FEP 서버는,
상기 전자지갑 생성 프로세스가 호출되는 경우, 상기 전자지갑에 대한 비밀번호를 생성하고, 생성된 상기 비밀 번호를 상기 암호화 화폐 서버로 전달하며,
상기 암호화 화폐 서버는,
전달받은 상기 비밀번호 및 블록체인(Block Chain) 전자지갑 생성 API(Application Programming Interface)를 이용하여 상기 전자지갑을 생성하는 것을 특징으로 하는,
개인 키 관리 시스템.
The method of claim 1,
The FEP server,
When the electronic wallet creation process is called, a password for the electronic wallet is generated, the generated password is transmitted to the cryptocurrency server,
The cryptocurrency server,
Characterized in that for generating the electronic wallet using the received password and block chain (Block Chain) electronic wallet generation API (Application Programming Interface),
Private Key Management System.
제2항에 있어서,
상기 FEP 서버는,
상기 블록체인(Block Chain) 전자지갑 생성 API로 생성된 상기 전자지갑의 주소에 기초하여 상기 암호화 화폐 서버로부터 상기 전자지갑이 생성된 블록체인 노드에 기 저장된 키 스토어 파일(Key store file)을 수신하며, 수신한 상기 키 스토어 파일을 기반으로 상기 개인 키를 생성하는 것을 특징으로 하는,
개인 키 관리 시스템.
The method of claim 2,
The FEP server,
Receive a key store file previously stored in the blockchain node where the electronic wallet is generated from the cryptocurrency server based on the address of the electronic wallet generated by the block chain electronic wallet generation API. Generating the private key based on the received keystore file;
Private Key Management System.
제1항에 있어서,
상기 KMS 서버는,
생성한 상기 개인키를 두 개의 영역으로 분리하여 생성된 제1 및 2 개인 키를 저장하되, 상기 제1 개인 키를 텍스트 형태로 변환하여 상기 각 사용자에 대응되는 사용자 단말로 제공하고, 상기 제2 개인 키만을 저장하는 것을 특징으로 하는,
개인 키 관리 시스템.
The method of claim 1,
The KMS server,
Storing the first and second private keys generated by separating the generated private key into two areas, converting the first private key into a text form, and providing the first private key to a user terminal corresponding to each user; Characterized by storing only the private key,
Private Key Management System.
제4항에 있어서,
상기 개인 키 관리 시스템은,
상기 KMS 서버에서 분리되지 않은 상기 개인 키, 상기 제1 및 2 개인 키 및 상기 암호화 화폐 서버로부터 수신한 상기 전자지갑의 정보를 암호화하는 암호화 서버; 및
분리되지 않은 상기 개인 키, 상기 전자지갑의 정보, 암호화된 상기 개인 키 및 암호화된 상기 전자지갑의 정보를 저장하는 보험 서비스 서버;를 더 포함하는 것을 특징으로 하는,
개인 키 관리 시스템.
The method of claim 4, wherein
The private key management system,
An encryption server for encrypting the private key, the first and second private keys, and the information of the electronic wallet received from the cryptocurrency server, which are not separated from the KMS server; And
And an insurance service server that stores the non-separated private key, the information of the electronic wallet, the encrypted private key, and the encrypted electronic wallet information.
Private Key Management System.
제5항에 있어서,
상기 암호화 서버는,
두 개의 영역으로 분리된 상기 개인 키를 암호화 하여 제1 및 2 시드 키(Seed Key)를 생성하며, 상기 제1 시드 키를 상기 KMS 서버로 전달하고, 상기 제2 시드 키를 상기 보험 서비스 서버로 전달하는 것을 특징으로 하는,
개인 키 관리 시스템.
The method of claim 5,
The encryption server,
The first and second seed keys are generated by encrypting the private key divided into two areas, the first seed key is transmitted to the KMS server, and the second seed key is transmitted to the insurance service server. Characterized in that
Private Key Management System.
제5항에 있어서,
상기 보험 서비스 서버는,
온라인 망으로 연결된 온라인 서버 및 상기 온라인 망을 사용하지 않는 오프라인 서버를 포함하며, 상기 온라인 서버에는 두 개의 영역으로 분리된 상기 개인 키 중 어느 하나의 개인 키만을 저장하고, 상기 오프라인 서버에는 분리되지 않은 상기 개인 키의 전체를 저장하는 것을 특징으로 하는,
개인 키 관리 시스템.
The method of claim 5,
The insurance service server,
An online server connected to an online network and an offline server not using the online network, wherein the online server stores only the private key of any one of the private keys divided into two areas, and is not separated from the offline server. Characterized in that for storing the whole of the private key,
Private Key Management System.
제5항에 있어서,
상기 FEP 서버는,
상기 사용자 단말로부터 인증 요청 신호를 수신하는 경우, 상기 사용자 단말로부터 수신한 상기 제1 개인 키 및 상기 보험 서비스 서버로부터 수신한 상기 제2 개인 키에 기초하여 인증 절차 프로세스를 수행하는 것을 특징으로 하는,
개인 키 관리 시스템.
The method of claim 5,
The FEP server,
Receiving an authentication request signal from the user terminal, performing an authentication procedure process based on the first private key received from the user terminal and the second private key received from the insurance service server;
Private Key Management System.
제7항에 있어서,
상기 보험 서비스 서버는,
상기 사용자 단말로부터 개인 키 분실 신호를 수신하는 경우, 상기 오프라인 서버를 통해 본인 인증 절차를 수행하고, 인증 결과에 기초하여 두 개의 영역으로 분리된 상기 개인 키 중 어느 하나의 개인 키를 상기 사용자 단말로 제공하는 것을 특징으로 하는,
개인 키 관리 시스템.
The method of claim 7, wherein
The insurance service server,
In case of receiving a private key loss signal from the user terminal, a personal authentication procedure is performed through the offline server, and the private key of any one of the private keys divided into two areas based on the authentication result is transmitted to the user terminal. Characterized in that
Private Key Management System.
제5항에 있어서,
상기 보험 서비스 서버는,
상기 사용자 단말로부터 개인 키 관리 서비스 탈퇴 요청 신호를 수신하는 경우, 저장된 상기 개인 키 및 상기 전자지갑의 정보를 상기 사용자 단말에 제공하고, 저장된 상기 개인 키 및 상기 전자지갑의 정보를 삭제하는 것을 특징으로 하는,
개인 키 관리 시스템.
The method of claim 5,
The insurance service server,
When the private key management service withdrawal request signal is received from the user terminal, the stored private key and information of the electronic wallet are provided to the user terminal, and the stored private key and the information of the electronic wallet are deleted. doing,
Private Key Management System.
KR1020180027656A 2018-02-20 2018-03-08 System for managing private key KR20190099984A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180020024 2018-02-20
KR20180020024 2018-02-20

Publications (1)

Publication Number Publication Date
KR20190099984A true KR20190099984A (en) 2019-08-28

Family

ID=67775604

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180027643A KR102088952B1 (en) 2018-02-20 2018-03-08 System and method for relaying cryptocurrency
KR1020180027656A KR20190099984A (en) 2018-02-20 2018-03-08 System for managing private key

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180027643A KR102088952B1 (en) 2018-02-20 2018-03-08 System and method for relaying cryptocurrency

Country Status (1)

Country Link
KR (2) KR102088952B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210074938A (en) * 2019-12-12 2021-06-22 주식회사 스마트엠투엠 METHOD AND SYSTEM FOR AUTHENTICATING TOKEN FOR IoT DEVICE BASED ON PRIVATE BLOCKCHAIN
WO2024064791A1 (en) * 2022-09-22 2024-03-28 The Everest Project LLC Method and apparatus for minting non-fungible tokens

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628007B1 (en) 2015-04-07 2016-06-13 주식회사 코인플러그 System for dealing a digital currency with block chain

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040016770A (en) * 2002-08-17 2004-02-25 송현종 Card/account managing system and method of the same
KR100640191B1 (en) 2006-03-14 2006-11-01 주식회사티엘정보통신 System of price restriction renewal using virtual asset trading system and method thereof
KR20160132307A (en) * 2015-05-09 2016-11-17 김성일 Method and storage medium using cryptocurrency for money transfer
KR20170065380A (en) * 2015-12-03 2017-06-13 손성호 Method and system for relaying bticoin

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628007B1 (en) 2015-04-07 2016-06-13 주식회사 코인플러그 System for dealing a digital currency with block chain

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210074938A (en) * 2019-12-12 2021-06-22 주식회사 스마트엠투엠 METHOD AND SYSTEM FOR AUTHENTICATING TOKEN FOR IoT DEVICE BASED ON PRIVATE BLOCKCHAIN
WO2024064791A1 (en) * 2022-09-22 2024-03-28 The Everest Project LLC Method and apparatus for minting non-fungible tokens

Also Published As

Publication number Publication date
KR20190099983A (en) 2019-08-28
KR102088952B1 (en) 2020-03-13

Similar Documents

Publication Publication Date Title
KR102208891B1 (en) Encrypted transaction information recovery from blockchain confidential transactions
CN110147994B (en) Instant execution method of block chain based on homomorphic encryption
TWI722116B (en) Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US11483161B2 (en) Method for information processing and non-transitory computer readable storage medium
CN111431713B (en) Private key storage method and device and related equipment
US12014337B2 (en) Information transaction infrastructure
EP2915279B1 (en) Method and system for protected exchange of data
WO2017024934A1 (en) Electronic signing method, device and signing server
US20160260091A1 (en) Universal wallet for digital currency
US20170185998A1 (en) Method and device for protecting access to wallets in which crypto currencies are stored
EP3867849B1 (en) Secure digital wallet processing system
CN108876593A (en) A kind of online transaction method and apparatus
KR101923943B1 (en) System and method for remitting crypto currency with enhanced security
CN105022966A (en) Database data encryption and decryption method and system
CN105391678A (en) Computer network system with single key fast and safe login function
JP2023535013A (en) Quantum secure payment system
KR20190132159A (en) Method for Providing Cryptocurrency Trading Platform based on Blockchain by using Smart Contract
CN110135175A (en) Information processing, acquisition methods, device, equipment and medium based on block chain
CN107070896B (en) Safe and efficient block chain network customized login method and safe reinforcement system
KR20190132054A (en) Method for Providing Cryptocurrency Trading Platform by using Smart Contract based on Blockchain
Rezaeighaleh et al. Deterministic sub-wallet for cryptocurrencies
CN112887087B (en) Data management method and device, electronic equipment and readable storage medium
KR20190099984A (en) System for managing private key
US20210158444A1 (en) Method and Apparatus for a Blockchain-Agnostic Safe Multi-Signature Digital Asset Management
KR20190132160A (en) Method for Providing Cryptocurrency Trading Platform by using Smart Contract

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment