KR102003731B1 - System and method for protecting crypto currency using virtual machine - Google Patents

System and method for protecting crypto currency using virtual machine Download PDF

Info

Publication number
KR102003731B1
KR102003731B1 KR1020180046277A KR20180046277A KR102003731B1 KR 102003731 B1 KR102003731 B1 KR 102003731B1 KR 1020180046277 A KR1020180046277 A KR 1020180046277A KR 20180046277 A KR20180046277 A KR 20180046277A KR 102003731 B1 KR102003731 B1 KR 102003731B1
Authority
KR
South Korea
Prior art keywords
cryptocurrency
transaction
virtual machine
external network
user terminal
Prior art date
Application number
KR1020180046277A
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 주식회사 클라우드퓨전
Priority to KR1020180046277A priority Critical patent/KR102003731B1/en
Application granted granted Critical
Publication of KR102003731B1 publication Critical patent/KR102003731B1/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/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
    • 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
    • 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
    • G06Q20/40145Biometric identity checks

Abstract

The present invention relates to a system for protecting cryptocurrency using a virtual machine and a method thereof. Displayed are the system for protecting cryptocurrency using a virtual machine and the method thereof. The system comprises: a user terminal carried by each user to access a cryptocurrency exchange market to request a cryptocurrency transaction service; an external network which can be accessed by the user terminal through the Internet and includes a cryptocurrency exchange market server; an internal network which is independently configured after being blocked from the external network while being connected to the external network only for receiving a cryptocurrency transaction therefrom to sign an autograph and includes an electronic wallet embodied in a virtual machine storing the cryptocurrency of the user terminal; and a blockchain main network connected to the external network and embodied by a blockchain technology which stores the wallet information of all users. Therefore, provided are the system for protecting cryptocurrency using a virtual machine and the method thereof, wherein any user terminal can easily make access without an additional physical device such as a secure USB or a card and cryptocurrency can be strongly protected from hacking by the external network.

Description

가상머신을 이용한 암호화폐 보호 시스템 및 방법{SYSTEM AND METHOD FOR PROTECTING CRYPTO CURRENCY USING VIRTUAL MACHINE}Cryptocurrency protection system and method using virtual machine {SYSTEM AND METHOD FOR PROTECTING CRYPTO CURRENCY USING VIRTUAL MACHINE}

본 발명은 가상머신을 이용한 암호화폐 보호 시스템 및 방법에 관한 것으로, 더욱 상세하게는 가상화 시스템을 활용하여 별도의 추가적인 물리장치없이 콜드월렛을 제공하는 접근이 용이한 가상머신을 이용한 암호화폐 보호 시스템 및 방법에 관한 것이다.The present invention relates to a cryptocurrency protection system and method using a virtual machine, and more particularly, to a cryptocurrency protection system using an easily accessible virtual machine that provides a cold wallet without an additional physical device using a virtualization system and It is about a method.

이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다. The contents described in this section merely provide background information on the present embodiment and do not constitute a prior art.

암호화폐는 달러($)나 원화(\)와 같은 실물화폐와 달리 화폐를 발행하는 중앙은행이 없이 전 세계 인터넷 네트워크에 P2P 방식으로 분산 저장되어 운영된다. 암호화폐를 발행하고 관리하는 핵심 기법은 블록체인(blockchain) 기술이다. 블록체인이란 “블록(block)”을 잇따라 “연결(chain)”한 모음을 가리킨다. 각 암호화폐 코인의 유효성은 블록체인에 의하여 부여된다. 블록체인은 지속적으로 늘어나는 기록(블록)의 일람표로서 블록은 암호화방법을 사용하여 연결되어 보안이 확보된다. 각 블록은 전형적으로는 이전 블록의 암호해쉬, 타임스탬프와 거래 데이터를 포함한다. 고안에 의하여 블록체인은 처음부터 데이터의 수정에 대하여 저항력을 가지고 있다. 이것은 양 당사자 간의 거래를 유효하게 영구적으로 증명할 수 있도록 기록할 수 있는 공개된 분산장부이다. 일단 기록이 이루어지면 그 블록의 데이터는 모든 후속 블록의 변경 없이는 소급하여 변경될 수 없다. Cryptocurrency is distributed and operated in a peer-to-peer manner on the Internet network around the world without a central bank issuing money, unlike real currencies such as dollars ($) and won (\). The key technique for issuing and managing cryptocurrencies is blockchain technology. A blockchain is a collection of "chains" followed by "blocks." The validity of each cryptocurrency coin is given by the blockchain. Blockchain is a list of records (blocks) that continues to grow, and blocks are secured by connecting them using encryption. Each block typically contains the cryptographic hash, timestamp and transaction data of the previous block. By design, the blockchain is resistant to data modification from the beginning. It is an open distributed ledger that can be recorded to prove valid and permanent transactions between the parties. Once writing is done, the data in that block cannot be changed retroactively without changing all subsequent blocks.

암호화폐는 화폐 발행에 따른 생산비용이 전혀 들지 않고 이체비용 등 거래비용을 대폭 절감할 수 있다. 또 컴퓨터 하드디스크 등에 저장되기 때문에 보관비용이 들지 않고, 도난ㆍ분실의 우려가 없기 때문에 가치저장수단으로서의 기능도 뛰어나다는 장점을 가지고 있다.Cryptocurrency doesn't cost production costs at all, and can greatly reduce transaction costs such as transfer costs. In addition, since it is stored in a computer hard disk or the like, there is no storage cost, and there is no risk of theft or loss.

하지만, 이러한 장점에도 불구하고 최근 전세계 곳곳의 가상화폐거래소가 해킹당하는 등 암호화폐 거래상의 보안이 문제되고 있다. However, despite these advantages, the security of cryptocurrency trading has become a problem, such as the recent hacking of virtual currency exchanges around the world.

암호화폐 자체는 분산화된 장부를 네트워크에 참여하고 있는 모두가 나눠 가지는 블록체인 기술을 활용한 것이라 사실상 해킹이나 위·변조가 불가능한 구조이다. 그러나 이같은 암호화폐를 사거나 팔고자 하는 투자자들을 위해 거래를 중개하고 있는 암호화폐 거래소는 거래소 사업자가 투자자들 사이에서 사용자 계정과 암호화폐 지갑 정보를 보관해주고 있다. 즉, 탈(脫)중앙화한 블록체인과 달리 거래소는 중앙화된 존재이기 때문에 거래소의 암호화된 데이터베이스(DB)만 해킹하면 손쉽게 고객 계정에서 암호화폐를 빼 내갈 수 있다. 이렇다보니 암호화폐 거래가 본격화한 지난 2011년 이후 매년 굵직한 거래소 해킹사고가 끊이질 않고 있다.Cryptocurrency itself utilizes blockchain technology, which is distributed among everyone participating in a network of decentralized books, and is virtually impossible to hack, forge, or forge. However, cryptocurrency exchanges that are brokering trades for investors who want to buy or sell such cryptocurrencies allow exchange operators to store user accounts and cryptocurrency wallet information among investors. In other words, unlike a decentralized blockchain, the exchange is a centralized entity, so you can easily extract cryptocurrency from the customer's account simply by hacking the exchange's encrypted database. As a result, every year since 2011, when cryptocurrency transactions began in earnest, heavy exchange hacking incidents have not stopped.

거래소들은 다량의 암호화폐를 보관하고 있고 바로 전송이 가능하게 시스템이 잡혀 있어 해커들의 좋은 먹잇감이 되고 있으며 사람이 24시간 지키고 있는 일이 아니기에 위험할 수밖에 없다. 기술적으로 암호화폐 거래소는 종종 유동성의 문제로 고객들의 암호화폐를 핫월렛(Hot Wallet)에 보관하는데 핫월렛은 지갑의 열쇠(key)를 일반 PC 또는 Web Site에 보관하고 있고 온라인에 연결돼 있어 해커들에게 노출될 가능성이 높다.Exchanges store a large amount of cryptocurrencies and have a system that can be sent immediately, making it a good food for hackers and dangerous because people aren't keeping it for 24 hours. Technically, cryptocurrency exchanges often keep customers' cryptocurrencies in their hot wallets because of liquidity problems. Hot wallets store wallet keys on a regular PC or Web site and are connected online. Are more likely to be exposed.

이러한 핫월렛의 해킹위협을 해결하기 위하여 시중에 유통되는 보안 USB와 같은 개념으로 암호화폐 지갑을 네트워크와 분리시킨, 콜드월렛(Cold Wallet)이 시장의 각광을 받고 있다. In order to solve the hacking threat of the hot wallet, Cold Wallet, which separates the cryptocurrency wallet from the network in the concept of a commercially available secure USB, is in the spotlight.

하지만, USB나 CARD와 같은 콜드월렛은 물리적인 장치로, 분실 시 복구가 어려우며 분실에 대비한 복구장치(Private Key) 또한 물리적으로 보관하고 있어야 하여 안전성과 불편함이 문제를 초래한다.However, cold wallets such as USB or CARD are physical devices, so it is difficult to recover them if they are lost. Also, a private key must also be physically stored.

이에, 본 발명에서는, 전술한 기술적 제약을 해소시킬 수 있는 가상머신을 이용한 암호화폐 보호 시스템 및 방법을 제안하고자 한다.Accordingly, the present invention is to propose a cryptocurrency protection system and method using a virtual machine that can solve the above technical constraints.

한국공개특허 제10-2017-0142374호, 2017년 12월 28일 공개(명칭: 가상화폐를 이용한 송금 시스템 및 방법)Korean Patent Publication No. 10-2017-0142374, published on December 28, 2017 (name: remittance system and method using virtual currency) 한국공개특허 제10-2017-0123290호, 2017년 11월 7일 공개(명칭: 전자 화폐 거래 시스템 및 방법)Korean Patent Publication No. 10-2017-0123290, published on November 7, 2017 (name: Electronic Money Trading System and Method) 한국등록특허 제10-1370020호, 2013년 4월 3일 공개(명칭: 보안 트랜잭션을 촉진하기 위하여 도메인-특정 보안 샌드박스를 사용하기 위한 시스템 및 방법)Korean Patent Registration No. 10-1370020, published April 3, 2013 (Name: System and method for using domain-specific security sandbox to facilitate secure transactions)

본 발명은 전술한 종래 기술의 문제점을 해결하기 위하여 제안된 것으로, 별도의 보안 USB나 카드와 같은 물리적 장치 없이 어떠한 사용자단말에서도 접근이 용이한 가상머신을 이용한 암호화폐 보호 시스템 및 방법을 제공하는데 주된 목적이 있다.The present invention has been proposed to solve the above-mentioned problems of the prior art, and it is mainly to provide a cryptocurrency protection system and method using a virtual machine that is easily accessible from any user terminal without a physical device such as a separate secure USB or card. There is a purpose.

또한, 본 발명의 다른 목적은 외부망으로부터의 해킹에서 암호화폐를 강력하게 보호할 수 있는 가상머신을 이용한 암호화폐 보호 시스템 및 방법을 제공하는데 있다.In addition, another object of the present invention to provide a cryptocurrency protection system and method using a virtual machine that can strongly protect the cryptocurrency in hacking from the external network.

본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The problem to be solved of the present invention is not limited to those mentioned above, and another problem to be solved which is not mentioned will be clearly understood by those skilled in the art from the following description.

전술한 목적을 달성하기 위한 본 발명의 일 양상은, 개개의 사용자가 소지하여 암호화폐 거래소에 접속하여 암호화폐 거래 서비스를 요청하기 위한 사용자단말; 상기 사용자단말에서 인터넷으로 접근이 가능하며 암호화폐 거래소서버를 포함하는 외부망; 상기 외부 네트워크와 차단되어 독립적으로 구성되며, 오직 상기 외부망에서 암호화폐 트랜젝션을 받아 서명을 하기 위하여만 연결되며, 상기 사용자단말의 암호화폐를 저장하는 가상머신 상에서 구현되는 전자지갑을 포함하는 내부망; 및 상기 외부망과 연결되며 모든 사용자의 지갑정보를 저장하고 있는 블록체인 기술로 구현된 블록체인 메인넷을 포함하는 것을 특징으로 하는 가상머신을 이용한 암호화폐 보호 시스템을 제공한다. One aspect of the present invention for achieving the above object is a user terminal for requesting a cryptocurrency trading service connected to a cryptocurrency exchange possessed by an individual user; An external network accessible from the user terminal via the Internet and including a cryptocurrency exchange server; An internal network that is isolated from the external network and is configured independently, is connected only to receive a cryptocurrency transaction from the external network for signing, and includes an electronic wallet implemented on a virtual machine that stores the cryptocurrency of the user terminal. ; And a blockchain mainnet implemented with a blockchain technology that is connected to the external network and stores wallet information of all users.

상기 내부망의 전자지갑은, 가상머신 상에서 구현될 수 있다. The electronic wallet of the internal network may be implemented on a virtual machine.

상기 내부망의 전자지갑은, 상기 외부망에서 멀티시그로 인증된 사용자에 대한 접근만 허용될 수 있다. The electronic wallet of the internal network may allow only access to a multi-signal authenticated user in the external network.

상기 외부망과 내부망 간에는 트랜젝션이 스트림(stream) 형태로 전송되며, 소정 형태의 정보만을 구분하여 전달하고 그외의 정보전달은 차단할 수 있다. Transactions may be transmitted between the external network and the internal network in the form of a stream, and may transmit only a predetermined type of information and block other information transmission.

상기 소정 형태의 정보는, 사용자지갑, 전달지갑 및 코인수량 정보를 포함하는 키값일 수 있다. The predetermined type of information may be a key value including a user wallet, a transfer wallet, and coin quantity information.

상기 전자지갑은, 암호화폐 거래 트랜젝션을 활성화할 수 있는 키(key)를 포함하여, 상기 외부망에서 전달받은 트랜젝션에 서명을 할 수 있다. The electronic wallet may include a key for activating a cryptocurrency transaction transaction, and may sign a transaction received from the external network.

상기 전자지갑에서 서명된 트랜젝션은 상기 외부망을 통하여 상기 블록체인 메인넷을 구성하는 각각의 코인노드들을 통해서 검증되고 암호화폐의 거래를 수행할 수 있다. The transaction signed in the electronic wallet can be verified through each of the coin nodes constituting the blockchain mainnet through the external network and can carry out a transaction of cryptocurrency.

상기 내부망은, 상기 외부망을 통하여 상기 내부망에 전달된 암호화폐거래 트랜젝션을 상기 사용자단말의 할당된 전자지갑으로 구분하여 전달하는 서비스API를 포함할 수 있다. The internal network may include a service API for classifying a cryptocurrency transaction transaction transmitted to the internal network through the external network into an assigned electronic wallet of the user terminal.

본 발명의 다른 일 양상은, 암호화폐 거래를 하고자 하는 사용자단말로부터 사용자 계정정보를 입력받는 단계; 상기 암호화폐 거래소 서버에서 상기 사용자 계정정보가 전달받고, 전자금고서버와 연동하는 단계; 상기 전자금고서버가 사용자단말로부터 암호화폐 거래명령을 입력받고 트랜젝션을 발생하는 단계; 인증서버에서는 상기 트랜젝션에 대하여 멀티시그 인증을 수행하는 단계; 인증이 수행된 트랜젝션(TX)을 내부망으로 전달하는 단계; 내부망의 서비스API에서 상기 사용자단말에 할당된 가상머신의 전자지갑을 구분하여 트랜젝션을 전달하는 단계; 상기 전자지갑에서 상기 전달받은 트랜젝션이 합당한 경우, 개인서명을 수행하고 서명한 트랜젝션을 외부망에 전달하는 단계; 및 블록체인 메인넷의 각 코인노드들을 통해 상기 서명된 트랜젝션을 검증하고 공유는 단계를 포함하는 것을 특징으로 하는 가상머신을 이용한 암호화폐 보호방법을 제공한다.Another aspect of the invention, the step of receiving the user account information from the user terminal to perform a cryptocurrency transaction; Receiving the user account information from the cryptocurrency exchange server and interworking with an electronic vault server; The electronic vault server receiving a cryptocurrency transaction command from a user terminal and generating a transaction; Performing multi-signal authentication on the transaction in an authentication server; Transmitting a transaction (TX) on which authentication has been performed to an internal network; Transmitting a transaction by dividing an electronic wallet of a virtual machine allocated to the user terminal in a service API of an internal network; If the received transaction is valid in the electronic wallet, performing a personal signature and delivering a signed transaction to an external network; And verifying and sharing the signed transaction through respective coin nodes of the blockchain mainnet.

본 발명의 가상머신을 이용한 암호화폐 보호 시스템 및 방법에 의하면, 별도의 보안 USB나 카드와 같은 물리적 장치 없이 어떠한 사용자단말에서도 접근이 용이한 가상머신을 이용한 암호화폐 보호 시스템 및 방법을 제공을 제공할 수 있다는 효과가 있다.According to the cryptocurrency protection system and method using a virtual machine of the present invention, there is provided a cryptocurrency protection system and method using a virtual machine that is easy to access from any user terminal without a physical device such as a separate secure USB or card. It can be effective.

또한, 외부망으로부터의 해킹에서 암호화폐를 강력하게 보호할 수 있는 가상머신을 이용한 암호화폐 보호 시스템 및 방법을 제공할 수 있다는 효과가 있다.In addition, there is an effect that can provide a cryptocurrency protection system and method using a virtual machine that can strongly protect the cryptocurrency from hacking from the external network.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description. .

본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 발명의 일 실시예에 따른 가상머신을 이용한 암호화폐 보호 시스템의 구성을 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 가상머신을 이용한 암호화폐 보호 시스템의 구성을 보다 상세히 예시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 가상머신을 이용한 암호화폐 보호방법을 예시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 가상머신을 이용한 암호화폐 보호 시스템의 구성을 달리 예시한 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, included as part of the detailed description in order to provide a thorough understanding of the present invention, provide embodiments of the present invention and together with the description, describe the technical features of the present invention.
1 is a diagram illustrating the configuration of a cryptocurrency protection system using a virtual machine according to an embodiment of the present invention.
2 is a diagram illustrating in more detail the configuration of a cryptocurrency protection system using a virtual machine according to an embodiment of the present invention.
3 is a diagram illustrating a cryptocurrency protection method using a virtual machine according to an embodiment of the present invention.
4 is a diagram illustrating another configuration of a cryptocurrency protection system using a virtual machine according to an embodiment of the present invention.

이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. The detailed description, which will be given below with reference to the accompanying drawings, is intended to explain exemplary embodiments of the present invention and is not intended to represent the only embodiments in which the present invention may be practiced. The following detailed description includes specific details in order to provide a thorough understanding of the present invention. However, one of ordinary skill in the art appreciates that the present invention may be practiced without these specific details.

몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다.In some instances, well-known structures and devices may be omitted or shown in block diagram form centering on the core functions of the structures and devices in order to avoid obscuring the concepts of the present invention.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.Throughout the specification, when a part is said to "comprising" (or including) a component, this means that it may further include other components, except to exclude other components unless specifically stated otherwise. do. In addition, the terms “… unit”, “… unit”, “module”, etc. described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. have. Also, "a or an", "one", "the", and the like are used differently in the context of describing the present invention (particularly in the context of the following claims). Unless otherwise indicated or clearly contradicted by context, it may be used in the sense including both the singular and the plural.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the embodiments of the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the contents throughout the specification.

이하, 첨부된 도면들을 참조하여 본 발명의 실시예에 대해 살펴보기로 한다.Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 가상머신을 이용한 암호화폐 보호 시스템의 구성을 예시한 도면이다.1 is a diagram illustrating the configuration of a cryptocurrency protection system using a virtual machine according to an embodiment of the present invention.

사용자단말(100)은 암호화폐 거래소에 접속하여 암호화폐를 거래할 수 있는 사용자의 단말기를 말한다. The user terminal 100 refers to a user's terminal that can access cryptocurrency exchanges and trade cryptocurrencies.

사용자단말(100)의 예로는 퍼스널 컴퓨터, 랩탑 컴퓨터, PDA(personal digital assistant), 셀룰러 전화, 메인프레임(mainframe) 컴퓨터, 미니(mini) 컴퓨터 및 Web TV와 같은 인터넷 액세스 디바이스이다. Examples of user terminal 100 are Internet access devices such as personal computers, laptop computers, personal digital assistants, cellular telephones, mainframe computers, mini computers and Web TVs.

나아가, 사용자단말(100)은 바람직하게는 MICROSOFT INTERNET EXPLORER, MOZILLAFIREFOX 등과 같은 웹 브라우저 소프트웨어를 장착하여 임의의 알려진 데이터 통신 네트워킹 기술을 사용하여 통신망을 통하여 서버에 접속한다. 사용자단말(100)에는 특정한 업무를 수행하기 위해 고안된 일련의 컴퓨터 프로그램 집합, 즉 컴퓨터 장비인 시스템을 이용하여 목적 업무를 수행하기 위한 프로그램인 어플리케이션(application)이 탑재되어 있다.Further, the user terminal 100 is preferably equipped with web browser software such as MICROSOFT INTERNET EXPLORER, MOZILLAFIREFOX, etc. to connect to the server via a communication network using any known data communication networking technology. The user terminal 100 is equipped with a series of computer programs designed to perform a specific task, that is, an application that is a program for performing a target task using a system that is a computer equipment.

외부망(200)은 사용자단말(100)에서 공중적으로 접근이 가능한 인터넷망(Internet)을 말한다. 보통은 공인IP 주소로 접근되며, 엑스트라넷(Extranet)이라고도 부른다. 암호화폐 거래소 웹이 외부망(200)에 존재한다. The external network 200 refers to an internet network (Internet) that is publicly accessible from the user terminal (100). It is usually accessed from a public IP address, also called an extranet. Cryptocurrency exchange web exists in the external network 200.

내부망(300)은 외부망(200)과 차단되어 독립적으로 구성된 일정 조직이 사용하는 네트워크로서 보통은 사설IP 주소로 구성된다. 물리적 망분리, 접근통제시스템 등에 의해 외부망(200)에서의 직접적인 접근이 통제 또는 차단되는 구간을 말한다. 본 발명의 실시예에서 내부망(300)은 사용자단말(100)의 전자지갑을 안전하게 보호하기 위하여 접근이 통제되는 네트워크를 지칭한다.  The internal network 300 is a network used by a predetermined organization that is isolated from the external network 200 and is usually composed of a private IP address. Refers to a section in which direct access from the external network 200 is controlled or blocked by physical network separation, an access control system, or the like. In an embodiment of the present invention, the internal network 300 refers to a network whose access is controlled in order to securely protect the electronic wallet of the user terminal 100.

내부망(300)에는 사용자단말(100) 각각의 암호화폐를 저장하는 지갑정보를 저장하고 있으며, 네트워크가 차단되어 있으되 외부망(200)과는 망연계구간(400)에 의하여 유일하게 연결되어 철저히 인증된 사용자 외에는 접근이 불가하다.The internal network 300 stores wallet information for storing the cryptocurrency of each of the user terminals 100, and the network is blocked, but is only connected to the external network 200 by the network connection section 400, and thoroughly. It cannot be accessed except by an authorized user.

외부망(200)과 내부망(300) 간에는 트랜젝션이 스트림(stream) 형태로 전송되며, 키값(예컨대, 사용자지갑, 전달지갑, 코인수량 등)과 같은 소정 형태의 정보만을 구분하여 전달하고 그외의 정보전달은 차단할 수 있도록 한다.  The transaction is transmitted in the form of a stream between the external network 200 and the internal network 300, and separately transmits only a predetermined type of information such as a key value (for example, a user wallet, a wallet, a coin quantity, and the like). Information transmission should be blocked.

블록체인 메인넷(500) 블록체인 기술이 적용된 네트워크를 말하며, 모든 사용자의 지갑정보가 저장되어 있다. Blockchain Mainnet 500 refers to a network to which blockchain technology is applied, and wallet information of all users is stored.

블록체인(Block chain) 기술은 본래 '거래당사자 사이(P2P 네트워크)에서 오가는 암호화폐(비트코인 등)를 사용할 때 돈이 한번 이상 지불되는 것을 막는 기술'이다.Blockchain technology is originally a technology that prevents money from being paid more than once when using cryptocurrencies (such as bitcoin) that travel between trading parties (P2P networks).

흔히 우리가 정보를 저장하고 내려받는 장치로 특정 기관의 중앙서버를 떠올리게 되는데 블록체인은 이러한 물리적인 서버를 사용하지 않고 '파일공유 커뮤니티' 같은 공간에 정보를 공유하여 거래에 참여하는 모든 사용자들의 데이터를 사용자별로 분산 저장해 실제 이용할 때마다 분산 저장한 데이터를 대조해 위변조를 막는 기술방식이다.We often think of a central server of a particular institution as a device that stores and downloads information.Blockchain doesn't use these physical servers, but the data of all users who participate in transactions by sharing information in a space like 'file sharing community'. It is a technique that prevents forgery by comparing the stored data by using distributed storage for each user.

블록체인은 다른 말로 '공공 거래장부' 기술로서, 주로 온라인에서 금융거래할 때 발생할 수 있는 해킹을 막는 기술로 고려되었다. 가령, 전자화폐는 컴퓨터 상에서만 존재하고 파일을 복사하듯 돈을 복사하면 원본과 사본의 차이가 없어지는데, 이때 전자화폐를 사용하기 위해서는 데이터를 함부로 고칠 수 없도록 만든 장치가 필요한데 블록체인에는 이런 기술을 포함하고 있다. Blockchain is, in other words, a 'public ledger' technology, mainly considered as a technology to prevent hacking that can occur when online financial transactions. For example, electronic money exists only on a computer, and copying money like a file copy eliminates the difference between the original and the copy.In order to use electronic money, a device is required to prevent data from being tampered with. It is included.

도 2는 본 발명의 일 실시예에 따른 가상머신을 이용한 암호화폐 보호 시스템의 구성을 보다 상세히 예시한 도면이다.2 is a diagram illustrating in more detail the configuration of a cryptocurrency protection system using a virtual machine according to an embodiment of the present invention.

사용자단말(100)은 암호화폐 거래를 위하여 외부망(200)의 암호화폐 거래소 서버(210)에 부여된 계정으로 접속한다. The user terminal 100 accesses an account assigned to the cryptocurrency exchange server 210 of the external network 200 for the cryptocurrency transaction.

암호화폐 거래소에서 암호화폐의 금전거래를 위하여 전자금고 서버(220)에 다시 접속하며, 이 때의 계정정보값은 암호화폐 거래소 서버(210)의 계정정보를 활용할 수 있다. The cryptocurrency exchange reconnects to the electronic vault server 220 for the financial transaction of the cryptocurrency, and the account information value at this time may utilize the account information of the cryptocurrency exchange server 210.

전자금고 서버(220)는 코인노드(230)들과 연결되어 있는데, 코인노드(230)의 위치는 외부에 있는 노드를 활용하거나 자체로 구축할 수 있다. The electronic safe server 220 is connected to the coin nodes 230, and the location of the coin node 230 may be built by utilizing a node external to itself.

코인노드(230)는 블록체인이라는 거대한 하나의 신뢰 네트워크를 이루는 개별 구성단위이다. 블록체인 네트워크는 수 많은 노드들로 구성되는데, 이 노드는 달리말하면 네트워크에 참여하는 사람들이 가진 PC와 태블릿PC, 스마트폰 등 전자기기일 수 있다. 각각의 노드는 블록체인 네트워크에 접속하고 블록체인을 다운로드 받아 모든 거래내역을 공유하고 확인하고 이를 저장한다. 또 새로 생겨나는 거래내역을 확인하고 승인하며 블록을 최종적으로 만들어낸 후 그 보상으로서 암호화폐를 받는 채굴까지 진행하는 게 노드가 수행하는 역할일 수 있다.The coin node 230 is an individual unit that constitutes a huge trust network called a blockchain. A blockchain network is made up of a number of nodes, which in other words can be electronic devices such as PCs, tablet PCs, and smartphones owned by those who participate in the network. Each node accesses the blockchain network and downloads the blockchain to share, view and store all transactions. In addition, it may be the role of the node to check and approve new transaction details and finally create a block and proceed to mining to receive cryptocurrency as a reward.

노드들은 가십 프로토콜(gossip protocol)을 통해 가까운 다른 노드에게 블록을 전송한다. 블록을 전달받은 노드들은 자신의 블록체인 네트워크를 통해 거래를 검증하고 다시 가까운 노드에게 그 거래를 전파한다. 즉, 노드는 전달받은 거래를 검증하고 다른 노드에게 거래를 전파해주는 역할을 한다. 노드들 간의 연결 구성은 도 4에 보다 상세히 도시하였다. Nodes send blocks to other nearby nodes via a gossip protocol. Nodes that receive the block verify the transaction through their blockchain network, and then propagate the transaction to nearby nodes. In other words, the node verifies the received transaction and propagates the transaction to other nodes. The connection configuration between the nodes is shown in more detail in FIG.

전자금고 서버(220)에서는 사용자의 암호화폐거래정보 기능을 제공하며, 예컨대 사용자가 타 사용자의 계정에 암호화폐 송금을 원할 경우, 코인송금 메뉴를 선택하고 송금정보(송금주소, 송금코인, 송금수량, 이체형태(즉시이체, 예약이체 혹은 자동이체 등)를 입력할 수 있다. Electronic vault server 220 provides the user's cryptocurrency transaction information function, for example, if the user wants to transfer the cryptocurrency to another user's account, select the coin remittance menu and remittance information (remittance address, remittance coin, remittance quantity) You can enter the form of transfer (immediate transfer, scheduled transfer or direct debit).

인증서버(240)는 상기 전자금고 서버(220)에서 코인송금 등 코인거래 명령이 수행된 경우, 내부망의 전자지갑에 접근하기 위하여 인증을 수행한다. 바람직하게는 멀티시그(Multi Sig, 다중서명)방식을 적용한다. 멀티시그란 전자서명에 여러개의 개인키(Private Key)가 필요한 전자서명을 말한다. 예컨대, 개인 OTP(One Time Password) 또는 생체인증 등으로 다중인증을 수행할 수 있다. The authentication server 240 performs authentication to access the electronic wallet of the internal network when a coin transaction command such as a coin remittance is performed in the electronic safe deposit server 220. Preferably, a multi-sig (multi sig) method is used. Multi-signature is an electronic signature that requires multiple private keys for the digital signature. For example, multiple authentication may be performed by personal One Time Password (OTP) or biometric authentication.

인증서버(240)에서 멀티시그를 거친 트랜젝션은 망연계구간(400)을 거쳐서 내부망(300)으로 접속된다. The transaction passed through the multisignal in the authentication server 240 is connected to the internal network 300 via the network connection section 400.

망연계 구간(400)을 거친 트랜젝션은 내부망(300)의 서비스API(310)에 전달되고, 서비스API(310)에는 해당 트랜젝션을 사용자단말(100)의 할당된 전자지갑(331)으로 전달되도록 한다. The transaction that has passed through the network connection section 400 is transmitted to the service API 310 of the internal network 300, and the service API 310 transmits the corresponding transaction to the assigned electronic wallet 331 of the user terminal 100. do.

서비스API(310)는 전자금고 서버(220)에서 사용자에 의해 선택되어 발생한 트랜잭션 정보를 구분하여, 트랜젝션이 예약이체에 관한 경우, 서비스API(310)는 해당 트랜젝션을 전자지갑(331)에 바로 전달하지 않고 소정의 예약시간 동안 보유하고 있다가 예약시간이 도달하면 전자지갑(331)으로 전달한다. The service API 310 classifies the transaction information selected and generated by the user in the electronic vault server 220, and when the transaction relates to the reservation transfer, the service API 310 directly transfers the transaction to the electronic wallet 331. If not, it is held for a predetermined reservation time and transferred to the electronic wallet 331 when the reservation time is reached.

트랜젝션이 자동이체에 관한 경우, 서비스API(310)는 해당 트랜젝션을 전자지갑(331)에 바로 전달하지 않고 소정의 이체설정 시점 동안 보유하고 있다가 이체 설정시점이 도달할때마다 전자지갑(331)으로 전달한다. When the transaction is related to automatic transfer, the service API 310 does not transfer the transaction directly to the electronic wallet 331, but holds it for a predetermined transfer setting time, and then the electronic wallet 331 whenever the transfer setting time is reached. To pass.

사용자는 예약시간 내 혹은 자동이체 주기 도래 전에 예약이체 혹은 자동이체 취소명령을 전달할 수 있고, 이를 수신한 서비스API(310)는 해당 트랜젝션을 삭제한다. The user may transmit a reservation transfer or direct debit cancellation command within the reservation time or before the arrival of the debit period, and the service API 310 receiving the reservation transfer deletes the transaction.

각각의 전자지갑(331)은 가상머신(330) 상에 구현된다. 가상머신(Virtual Machine, 330)은 컴퓨팅 환경을 소프트웨어로 구현한 것, 즉 컴퓨터를 에뮬레이션하는 소프트웨어다. 가상머신(330) 상에서 운영 체제나 응용 프로그램을 설치 및 실행할 수 있는데 본 발명에서는 전자지갑(330)을 실행하는 것이다. Each electronic wallet 331 is implemented on a virtual machine 330. The virtual machine 330 is a software implementation of a computing environment, that is, software that emulates a computer. An operating system or an application program can be installed and executed on the virtual machine 330. In the present invention, the electronic wallet 330 is executed.

가상머신 관리자(320)는 내부망(300)에서 여러 사용자의 가상머신(330)을 관리한다. The virtual machine manager 320 manages the virtual machines 330 of various users in the internal network 300.

가상머신(330) 상에 구현된 전자지갑(331)은 트랜젝션을 활성화할 수 있는 키(key)를 포함하고 있어서, 외부망에서 전달받은 트랜젝션에 서명을 할 수 있다. The electronic wallet 331 implemented on the virtual machine 330 includes a key for activating a transaction, so that the transaction can be signed by an external network.

전자지갑(331)에서 서명된 트랜젝션은 다시 망연계구간(400)을 통하여 코인노드(230)로 전달되고, 이는 블록체인 메인넷(500)을 구성하는 각각의 코인노드들을 통해서 검증되고 코인의 송금 등 암호화폐의 거래가 완료되게 된다. The transaction signed in the electronic wallet 331 is transferred to the coin node 230 through the network connection section 400 again, which is verified through the respective coin nodes constituting the blockchain mainnet 500 and the transfer of coins. The transaction of the cryptocurrency is completed.

서비스API(310)에서 각각의 전자지갑(331)에 전달되는 과정에서는 구간의 보호를 위하여 SSH(Secure Shell)와 같은 암호 프로토콜이 적용되는 것이 바람직하다. In the process transmitted from the service API 310 to each electronic wallet 331, it is preferable that a cryptographic protocol such as SSH (Secure Shell) is applied to protect the section.

컴퓨터 암호화 기술의 일종인 해시함수(Hash Function)는 주어진 원문에서 고정된 길이의 의사난수를 생성하는 연산기법인데, 해시함수를 통하여 생성된 값을 '해시값(Hash Value)'이라고 한다.Hash function, a kind of computer encryption technology, is an algorithm that generates pseudo-random numbers of fixed length in a given text. The value generated through the hash function is called a hash value.

디지털 파일에는 각 파일이 가진 숫자와 알파벳을 특정 함수에 넣어 얻어지는 값이 있는데, 이를 해시값이라 한다. 사람의 지문처럼 얻어지는 고유의 값이기 때문에 디지털지문이라고도 한다. 디지털 파일을 단 한 글자라도 고친다면 해시값은 완전히 달라지기 때문에 파일의 변조 여부를 해시값으로 알아낼 수 있다.In a digital file, there is a value obtained by inserting the number and alphabet of each file into a specific function, which is called a hash value. It is also called a digital fingerprint because it is a unique value obtained like a human fingerprint. If you modify only one character of the digital file, the hash value is completely different, so you can determine if the file has been tampered with.

도 3은 본 발명의 일 실시예에 따른 가상머신을 이용한 암호화폐 보호방법을 예시한 도면이다.3 is a diagram illustrating a cryptocurrency protection method using a virtual machine according to an embodiment of the present invention.

사용자단말(100)이 암호화폐 거래를 위하여 외부망(200)에 위치한 암호화폐 거래소서버(210)에 접속하여, 사용자 계정정보를 입력하면(S301) 암호화폐 거래소 서버(210)에 사용자 계정정보가 전달되고(S303), 암호화폐 거래소 서버(210)서는 전자금고서버(220)에 암호화폐 거래소 서버(210)의 계정정보를 이용하여 접속한다(S305).When the user terminal 100 accesses the cryptocurrency exchange server 210 located in the external network 200 for cryptocurrency trading, inputs user account information (S301), the user account information is transmitted to the cryptocurrency exchange server 210. The transmission (S303), the cryptocurrency exchange server 210 is connected to the electronic safe deposit box server 220 using the account information of the cryptocurrency exchange server 210 (S305).

전자금고서버(220)에 사용자단말(100)이 암호화폐 송금 등 거래명령을 입력하면(S307), 인증서버(240)에서는 외부해킹에 대비하여 멀티시그 인증을 수행한다(S309). 멀티시그 인증은 개인 OTP(One Time Password) 또는 생체인증 등으로 다중인증을 수행할 수 있다. When the user terminal 100 inputs a transaction command such as cryptocurrency transfer to the electronic vault server 220 (S307), the authentication server 240 performs multi-signal authentication in preparation for external hacking (S309). Multi-signal authentication may be performed by multi-authentication such as personal one time password (OTP) or biometric authentication.

인증이 수행된 트랜젝션(TX)은 개인서명을 하기 위하여 내부망(300)으로 전달되고(S311), 내부망(300)의 서비스API(310)에서는 사용자단말(100)에 할당된 가상머신(330)의 전자지갑(331)을 구분하여 트랜젝션을 전달한다(S313).The transaction (TX) is performed is transmitted to the internal network 300 for personal signature (S311), the virtual machine 330 assigned to the user terminal 100 in the service API 310 of the internal network 300 By transmitting the transaction by dividing the electronic wallet 331 of (S313).

서비스API(310)는 전자금고 서버(220)에서 사용자에 의해 선택되어 발생한 트랜잭션 정보를 구분하여, 트랜젝션이 예약이체에 관한 경우, 서비스API(310)는 해당 트랜젝션을 전자지갑(331)에 바로 전달하지 않고 소정의 예약시간 동안 보유하고 있다가 예약시간이 도달하면 전자지갑(331)으로 전달한다. The service API 310 classifies the transaction information selected and generated by the user in the electronic vault server 220, and when the transaction relates to the reservation transfer, the service API 310 directly transfers the transaction to the electronic wallet 331. If not, it is held for a predetermined reservation time and transferred to the electronic wallet 331 when the reservation time is reached.

트랜젝션이 자동이체에 관한 경우, 서비스API(310)는 해당 트랜젝션을 전자지갑(331)에 바로 전달하지 않고 소정의 이체설정 시점 동안 보유하고 있다가 이체 설정시점이 도달할때마다 전자지갑(331)으로 전달한다. When the transaction is related to automatic transfer, the service API 310 does not transfer the transaction directly to the electronic wallet 331, but holds it for a predetermined transfer setting time, and then the electronic wallet 331 whenever the transfer setting time is reached. To pass.

미도시하였으나, 사용자는 예약시간 내 혹은 자동이체 주기 도래 전에 예약이체 혹은 자동이체 취소명령을 전달할 수 있고, 이를 수신한 서비스API(310)는 해당 트랜젝션을 삭제하는 단계가 추가될 수 있다. Although not shown, the user may transmit a reservation transfer or debit cancellation command within a reservation time or before the arrival of the debit period, and the service API 310 receiving the same may delete a corresponding transaction.

전자지갑(331)에서는 트랜젝션을 활성화할 수 있는 키를 포함하고 있어서 전달받은 트랜젝션이 합당한 경우, 개인서명을 수행하고(S315) 서명한 트랜젝션을 외부망(200)의 코인노드(230)로 전달한다(S317). The electronic wallet 331 includes a key for activating the transaction, and if the received transaction is reasonable, the electronic wallet 331 performs a personal signature (S315) and transmits the signed transaction to the coin node 230 of the external network 200. (S317).

코인노드(230)는 블록체인 기법을 활용하여 블록체인 메인넷(500)의 각 코인노드들을 통해 트랜젝션을 검증하고 공유하여 암호화폐의 거래가 완료되게 된다(S321).The coin node 230 verifies and shares the transaction through each coin node of the blockchain mainnet 500 using the blockchain technique to complete the transaction of the cryptocurrency (S321).

도 3에서는 단계 S301 내지 단계 S321을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 3에 기재된 순서를 변경하여 실행하거나 단계 S301 내지 단계 S321 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다. In FIG. 3, steps S301 to S321 are described as being sequentially executed. However, these are merely illustrative examples of the technical idea of the present embodiment. 3 may be modified and modified by changing the order described in FIG. 3 or executing one or more steps of steps S301 to S321 in parallel without departing from the essential characteristics thereof. It is not limited.

도 4는 본 발명의 일 실시예에 따른 가상머신을 이용한 암호화폐 보호 시스템의 구성을 달리 예시한 도면이다.4 is a diagram illustrating another configuration of a cryptocurrency protection system using a virtual machine according to an embodiment of the present invention.

도 4에서는 도 2의 구성요소 중에서 암호화폐 거래소 서버(210), 전자금고 서버(220), 코인노드(230) 및 가상머신(330) 간의 연결관계 측면에서 보다 상세히 도시하였다.In FIG. 4, the components of FIG. 2 are described in more detail in terms of the connection relationship between the cryptocurrency exchange server 210, the electronic safe deposit server 220, the coin node 230, and the virtual machine 330.

본 명세서에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. Combinations of each block of the block diagrams and each step of the flowcharts attached herein may be performed by computer program instructions. These computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment such that instructions executed through the processor of the computer or other programmable data processing equipment may not be included in each block or flowchart of the block diagram. It will create means for performing the functions described in each step. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in each block or flowchart of each step of the block diagram. Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions that perform processing equipment may also provide steps for performing the functions described in each block of the block diagram and in each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block or step may represent a portion of a module, segment or code that includes one or more executable instructions for executing a specified logical function (s). It should also be noted that in some alternative embodiments, the functions noted in the blocks or steps may occur out of order. For example, the two blocks or steps shown in succession may in fact be executed substantially concurrently or the blocks or steps may sometimes be performed in the reverse order, depending on the functionality involved.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those skilled in the art to which the present invention pertains may make various modifications and changes without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas falling within the scope of the present invention should be construed as being included in the scope of the present invention.

본 발명의 가상머신을 이용한 암호화폐 보호 시스템 및 방법에 따르면, 별도의 보안 USB나 카드와 같은 물리적 장치 없이 어떠한 사용자단말에서도 접근이 용이하고 외부망으로부터의 해킹에서 암호화폐를 강력하게 보호할 수 있는 가상머신을 이용한 암호화폐 보호 시스템 및 방법을 제공하는 솔루션으로 활용 가능하다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.According to the cryptocurrency protection system and method using the virtual machine of the present invention, it is easy to access from any user terminal without a physical device such as a separate secure USB or card and can strongly protect the cryptocurrency from hacking from an external network. As it can be used as a solution to provide a cryptocurrency protection system and method using a virtual machine, the possibility of commercialization or sales of the applied device is not only sufficient, because it is beyond the limitation of the existing technology. But it is an invention that is industrially applicable because it is practically evident.

100: 사용자단말 200:외부망 300:내부망
400: 망연계구간 500:블록체인 메인넷
210:암호화폐 거래소 서버 220:전자금고 서버 230:코인노드
240:인증서버 310:서비스API 320:가상머신 관리자
330:가상머신 331:전자지갑
100: user terminal 200: external network 300: internal network
400: network segment 500: blockchain main net
210: cryptocurrency exchange server 220: electronic safe box server 230: coin node
240: authentication server 310: service API 320: virtual machine administrator
330: virtual machine 331: electronic wallet

Claims (15)

개개의 사용자가 소지하여 암호화폐 거래소에 접속하여 암호화폐 거래 서비스를 요청하기 위한 사용자단말;
상기 사용자단말에서 인터넷으로 접근이 가능하며 암호화폐 거래소서버를 포함하는 외부망;
외부 네트워크와 차단되어 독립적으로 구성되며, 오직 상기 외부망에서 암호화폐 트랜젝션을 받아 서명을 하기 위하여만 연결되며, 상기 사용자단말의 암호화폐를 저장하는 가상머신 상에서 구현되는 전자지갑을 포함하는 내부망; 및
상기 외부망과 연결되며 모든 사용자의 지갑정보를 저장하고 있는 블록체인 기술로 구현된 블록체인 메인넷을 포함하되,
상기 외부망은,
암호화폐 웹 서비스를 제공하는 암호화폐 거래소서버; 상기 암호화폐 거래소서버와 연동되어 암호화폐 금전거래 서비스를 제공하는 전자금고 서버; 상기 전자금고 서버와 연결되어 수행된 거래정보를 블록체인 메인넷에 연동되도록 하는 코인노드; 및 멀티시그 인증을 수행하는 인증서버를 포함하고,
상기 가상머신 상에서 구현되는 전자지갑은 상기 외부망에서 멀티시그로 인증된 사용자에 대한 접근만 허용되며, 트랜젝션을 활성화할 수 있는 키를 포함하여 외부망에서 전달받은 트랜젝션에 서명을 할 수 있고,
상기 가상머신 상에서 구현되는 전자지갑을 포함하는 내부망은,
상기 외부망을 통하여 상기 내부망에 전달된 암호화폐거래 트랜젝션을 상기 사용자단말의 할당된 전자지갑으로 구분하여 전달하는 서비스API; 및 내부망에서 여러 사용자의 가상머신을 관리하는 가상머신 관리자를 포함하며,
상기 외부망과 내부망 간에는 트랜젝션이 스트림(stream) 형태로 전송되며, 소정 형태의 정보만을 구분하여 전달하고 그외의 정보전달은 차단하는 것을 특징으로 하는 가상머신을 이용한 암호화폐 보호 시스템.
A user terminal for requesting a cryptocurrency trading service by accessing a cryptocurrency exchange possessed by an individual user;
An external network accessible from the user terminal via the Internet and including a cryptocurrency exchange server;
An internal network that is configured to be independent of the external network and is connected only to receive a cryptocurrency transaction from the external network for signing, and includes an electronic wallet implemented on a virtual machine that stores the cryptocurrency of the user terminal; And
Including a blockchain mainnet connected to the external network and implemented with blockchain technology that stores wallet information of all users,
The external network,
Cryptocurrency exchange server that provides a cryptocurrency web service; An electronic vault server linked with the cryptocurrency exchange server to provide a cryptocurrency money transaction service; A coin node for linking the transaction information performed in connection with the electronic vault server to a blockchain mainnet; And an authentication server for performing multi-signature authentication,
The electronic wallet implemented on the virtual machine is allowed only access to a multi-signature authenticated user in the external network, and can sign a transaction received from an external network including a key for activating the transaction.
The internal network including the electronic wallet implemented on the virtual machine,
A service API for classifying a cryptocurrency transaction transaction transmitted to the internal network through the external network into an allocated electronic wallet of the user terminal; And a virtual machine manager for managing the virtual machine of multiple users in the internal network,
Transaction between the external network and the internal network is transmitted in the form of a stream, the cryptocurrency protection system using a virtual machine, characterized in that to distinguish and transmit only a predetermined type of information and to block other information transmission.
삭제delete 제1항에 있어서,
상기 전자금고 서버는,
상기 사용자단말이 타 사용자단말의 계정에 암호화폐 송금을 원할 경우, 코인송금 메뉴를 제공하고 송금정보를 입력하도록 하는 것을 특징으로 하는 가상머신을 이용한 암호화폐 보호 시스템.
The method of claim 1,
The electronic safe server,
If the user terminal wants to transfer the cryptocurrency to the account of the other user terminal, the cryptocurrency protection system using a virtual machine characterized in that to provide a coin remittance menu and to input the remittance information.
제1항에 있어서,
멀티시그 인증은, 개인 OTP(One Time Password) 또는 생체인증 방식으로 수행되는 것을 특징으로 하는 가상머신을 이용한 암호화폐 보호 시스템.
The method of claim 1,
Multi-signal authentication is a cryptocurrency protection system using a virtual machine, characterized in that performed by a personal OTP (One Time Password) or biometric authentication method.
제3항에 있어서,
상기 송금정보는,
송금주소, 송금코인, 송금수량, 이체형태(즉시이체/예약이체/자동이체) 중 어느 하나 이상을 포함하는 것을 특징으로 하는 가상머신을 이용한 암호화폐 보호 시스템.
The method of claim 3,
The remittance information,
Cryptocurrency protection system using a virtual machine, characterized in that it comprises any one or more of the remittance address, remittance coin, remittance quantity, transfer form (immediate transfer / reservation transfer / automatic transfer).
삭제delete 삭제delete 제1항에 있어서,
상기 소정 형태의 정보는,
사용자지갑, 전달지갑 및 코인수량 중 어느 하나 이상의 정보를 포함하는 키값인 것을 특징으로 하는 가상머신을 이용한 암호화폐 보호 시스템.
The method of claim 1,
The predetermined type of information is
Cryptocurrency protection system using a virtual machine, characterized in that the key value including any one or more information of the user wallet, the transfer wallet and the amount of coins.
삭제delete 제1항에 있어서,
상기 전자지갑에서 서명된 트랜젝션은,
상기 외부망을 통하여 상기 블록체인 메인넷을 구성하는 각각의 코인노드들을 통해서 검증되고 암호화폐의 거래를 수행하는 것을 특징으로 하는 가상머신을 이용한 암호화폐 보호 시스템.
The method of claim 1,
Transaction signed in the electronic wallet,
Cryptocurrency protection system using a virtual machine characterized in that verified through each of the coin nodes constituting the blockchain mainnet through the external network and performs a transaction of cryptocurrency.
삭제delete 제1항에 있어서,
상기 서비스API는,
상기 외부망에서 수신한 트랜잭션 정보를 구분하여, 트랜젝션이 예약이체에 관한 경우, 상기 트랜젝션을 상기 전자지갑에 바로 전달하지 않고 소정의 예약시간 동안 보유하고 있다가 예약시간이 도달하면 상기 전자지갑으로 전달하는 것을 특징으로 하는 가상머신을 이용한 암호화폐 보호 시스템.
The method of claim 1,
The service API,
When transaction is related to reservation transfer by separating transaction information received from the external network, the transaction is not immediately delivered to the electronic wallet but held for a predetermined reservation time and then transferred to the electronic wallet when the reservation time is reached. Cryptocurrency protection system using a virtual machine, characterized in that.
제1항에 있어서,
상기 서비스API는,
상기 외부망에서 수신한 트랜잭션 정보를 구분하여, 트랜젝션이 자동이체에 관한 경우, 상기 트랜젝션을 상기 전자지갑에 바로 전달하지 않고 소정의 이체설정 시점 동안 보유하고 있다가 이체 설정시점이 도달할 때마다 상기 전자지갑으로 전달하는 것을 특징으로 하는 가상머신을 이용한 암호화폐 보호 시스템.
The method of claim 1,
The service API,
When transaction is related to automatic transfer by dividing the transaction information received from the external network, the transaction is not transferred directly to the electronic wallet but held for a predetermined transfer setting time, and then whenever the transfer setting time is reached Cryptocurrency protection system using a virtual machine, characterized in that the transmission to the electronic wallet.
제12항에 있어서,
상기 서비스API는,
상기 예약시간 도래 전에 예약이체 취소명령을 받으면 상기 보유하고 있던 트랜젝션을 삭제하는 것을 특징으로 하는 가상머신을 이용한 암호화폐 보호 시스템.
The method of claim 12,
The service API,
If the reservation transfer cancellation command is received before the arrival of the reservation time cryptocurrency protection system using a virtual machine, characterized in that for deleting the transaction.
제13항에 있어서,
상기 서비스API는,
상기 자동이체 주기 도래 전에 자동이체 취소명령을 받으면 상기 보유하고 있던 트랜젝션을 삭제하는 것을 특징으로 하는 가상머신을 이용한 암호화폐 보호 시스템.
The method of claim 13,
The service API,
If the debit cancellation command is received before the debit period arrives, the transaction stored in the cryptocurrency using a virtual machine, characterized in that for deleting the transaction.
KR1020180046277A 2018-04-20 2018-04-20 System and method for protecting crypto currency using virtual machine KR102003731B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180046277A KR102003731B1 (en) 2018-04-20 2018-04-20 System and method for protecting crypto currency using virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180046277A KR102003731B1 (en) 2018-04-20 2018-04-20 System and method for protecting crypto currency using virtual machine

Publications (1)

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

Family

ID=67775005

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180046277A KR102003731B1 (en) 2018-04-20 2018-04-20 System and method for protecting crypto currency using virtual machine

Country Status (1)

Country Link
KR (1) KR102003731B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102189301B1 (en) * 2020-04-22 2020-12-11 주식회사 한국정보보호경영연구소 System and method for providing blockchain based cloud service with robost security
KR102201679B1 (en) * 2020-06-12 2021-01-12 박성갑 My data sharing service method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100406524B1 (en) * 2001-08-13 2003-11-21 한국전자통신연구원 Apparatus and Method of Bridging for Stream Data Processing
KR101370020B1 (en) 2010-05-26 2014-03-05 구글 인코포레이티드 Systems and methods for using a domain-specific security sandbox to facilitate secure transactions
KR20160009301A (en) * 2014-07-16 2016-01-26 주식회사 코빗 Private key based e-cash payment system and method thereof
KR20160050876A (en) * 2014-10-31 2016-05-11 코나아이 (주) Bitcoin dealing method using public key and private key stored in smart card
KR20170123290A (en) 2017-07-31 2017-11-07 임종범 System and method for transaction of electronic currency
KR20170142374A (en) 2016-06-17 2017-12-28 주식회사 킹홀딩스 System And Method For Remitting Cyber Money

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100406524B1 (en) * 2001-08-13 2003-11-21 한국전자통신연구원 Apparatus and Method of Bridging for Stream Data Processing
KR101370020B1 (en) 2010-05-26 2014-03-05 구글 인코포레이티드 Systems and methods for using a domain-specific security sandbox to facilitate secure transactions
KR20160009301A (en) * 2014-07-16 2016-01-26 주식회사 코빗 Private key based e-cash payment system and method thereof
KR20160050876A (en) * 2014-10-31 2016-05-11 코나아이 (주) Bitcoin dealing method using public key and private key stored in smart card
KR20170142374A (en) 2016-06-17 2017-12-28 주식회사 킹홀딩스 System And Method For Remitting Cyber Money
KR20170123290A (en) 2017-07-31 2017-11-07 임종범 System and method for transaction of electronic currency

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102189301B1 (en) * 2020-04-22 2020-12-11 주식회사 한국정보보호경영연구소 System and method for providing blockchain based cloud service with robost security
KR102201679B1 (en) * 2020-06-12 2021-01-12 박성갑 My data sharing service method

Similar Documents

Publication Publication Date Title
US20220084020A1 (en) System and method for scaling blockchain networks with secure off-chain payment hubs
Sarmah Understanding blockchain technology
Singh et al. Blockchain: Future of financial and cyber security
KR101673073B1 (en) Dealing method of Crypto-currency base on Blockchain System
Xu et al. A taxonomy of blockchain-based systems for architecture design
US20200067697A1 (en) Method for operating a blockchain
JP2022095918A (en) Tokenizing method and system for executing exchange on block chain
Patel et al. Blockchain exhumed
US20160162897A1 (en) System and method for user authentication using crypto-currency transactions as access tokens
KR101923943B1 (en) System and method for remitting crypto currency with enhanced security
CN110612547A (en) System and method for information protection
EP3867849B1 (en) Secure digital wallet processing system
JP7304963B2 (en) Program, data authentication method, and computer device
GB2572135A (en) Data transaction system and method
KR20190132047A (en) Method for Providing Service Platform based on Blockchain by using Smart Contract
Gayvoronskaya et al. Blockchain
CN113947394A (en) Block chain-based fair payment method for deletable duplicate data in cloud storage
KR20190132054A (en) Method for Providing Cryptocurrency Trading Platform by using Smart Contract based on Blockchain
KR20190132159A (en) Method for Providing Cryptocurrency Trading Platform based on Blockchain by using Smart Contract
Aggarwal et al. History of blockchain-blockchain 1.0: Currency
KR102003731B1 (en) System and method for protecting crypto currency using virtual machine
KR20190099365A (en) Data management and item transaction of Mobile game users based on Blockchain
Singh et al. A comprehensive study of security aspects in blockchain
KR102324155B1 (en) Method and apparatus for autonomous guarantee verification for p2p loan service based on blockchain
JP7254954B2 (en) Methods and systems for authenticating blockchain-generated data

Legal Events

Date Code Title Description
GRNT Written decision to grant