KR20190116838A - Security method and system for crypto currency - Google Patents

Security method and system for crypto currency Download PDF

Info

Publication number
KR20190116838A
KR20190116838A KR1020180039913A KR20180039913A KR20190116838A KR 20190116838 A KR20190116838 A KR 20190116838A KR 1020180039913 A KR1020180039913 A KR 1020180039913A KR 20180039913 A KR20180039913 A KR 20180039913A KR 20190116838 A KR20190116838 A KR 20190116838A
Authority
KR
South Korea
Prior art keywords
key
private key
subscriber
cryptocurrency
management server
Prior art date
Application number
KR1020180039913A
Other languages
Korean (ko)
Other versions
KR102475434B1 (en
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 KR1020180039913A priority Critical patent/KR102475434B1/en
Publication of KR20190116838A publication Critical patent/KR20190116838A/en
Application granted granted Critical
Publication of KR102475434B1 publication Critical patent/KR102475434B1/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/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • 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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • 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

Abstract

The present invention relates to a cryptocurrency security method for preventing leakage of a private key to block cryptocurrency from being extorted and a system thereof. The cryptocurrency security system synchronizing with a cryptocurrency transaction system including an exchange server and a key storage to enhance security of a private key of a subscriber comprises: a hardware security module which encrypts or decrypts a subscriber private key by using a secret key in possession; and a key management server which stores the subscriber private key encrypted in the hardware security module in the key storage, provides the encrypted subscriber private key stored in the key storage to the hardware security module when electronic signature for a cryptocurrency transaction is received from the exchange server, and receives transaction information having electronic signature with the decrypted subscriber private key from the hardware security module to provide the received and electronically signed transaction information to the exchange server.

Description

암호화폐 보안 방법 및 시스템{Security method and system for crypto currency}Security method and system for crypto currency}

본 발명은 암호화폐를 보안을 향상시키는 기술에 관한 것으로서, 더욱 상세하게는 개인키의 유출을 방지하여 암호화폐가 탈취되는 것을 봉쇄하는 암호화폐 보안 방법 및 시스템에 관한 것이다. The present invention relates to a technique for improving the security of cryptocurrency, and more particularly, to a cryptocurrency security method and system that prevents the leakage of a private key to block the taking of cryptocurrency.

비트코인으로 대표되는 암호화폐는, 국경이 없는 화폐로서 인정되고 있으며, 더불어 사용 가능한 장소(예컨대, 오프라인 매장, 온라인 매장 등)도 늘어가고 있다. 상기 암호화폐는 실제 화폐와 교환되며, 그 가치가 수시로 변동되기도 한다. 이에 따라, 투자자들은 암호화폐를 거래할 수 있는 거래소 서버에 접속하여, 암호화폐를 매매하기도 한다. Cryptocurrency represented by Bitcoin is recognized as a borderless currency, and the number of available places (eg, offline stores, online stores, etc.) is increasing. The cryptocurrency is exchanged for real currency, and its value may change from time to time. Accordingly, investors may connect to an exchange server that can trade cryptocurrencies, and buy and sell cryptocurrencies.

거래소 서버는 고객에 대한 암호화폐 매매 서비스를 제공하기 위하여, 고객의 암호화폐 입금 주소, 잔고 등이 저장된 데이터베이스를 관리한다. 또한, 거래소 서버는 고객의 개인키와 암호화폐 주소를 매핑시켜 거래소가 직접 관리하는 키 보관소에 보관하기도 한다.In order to provide a cryptocurrency trading service for a customer, the exchange server manages a database in which a customer's cryptocurrency deposit address and balance are stored. In addition, the exchange server maps the customer's private key and cryptocurrency address and stores them in a key storage managed directly by the exchange.

거래소 서버는 사용자 간에 암호화폐를 거래하는 경우, 거래를 생성하기 위하여, 개인키로 거래 정보를 전자 서명한 전자 서명 값과 공개키가 포함된 거래 정보를 블록체인 네트워크로 전파한다. 블록체인 네트워크에 전파된 거래정보는 이웃 노드에서 검증하는 작업이 수행되고, 검증에 성공한 경우 블록체인 장부에 기록되어 저장된다. When the exchange server trades cryptocurrencies between users, in order to generate a transaction, the exchange server propagates the transaction information including the electronic signature value and the public key, which digitally signed the transaction information with the private key, to the blockchain network. Transaction information propagated to the blockchain network is verified by neighboring nodes, and when the verification is successful, the transaction information is recorded and stored in the blockchain ledger.

그런데 거래소 서버의 키 저장소에서 개인키가 탈취된 경우, 암호화폐의 소유권이 타인에게 변경될 수 있다. 물론, 블록체인에는 암호화폐의 소유권이 타인에게 변경되었음을 나타내는 거래 정보가 남아 있게 되나, 익명성이 보장되는 암호화폐 거래에서 암호화폐를 탈취한 실제 범죄자를 특정하기가 매우 어려운 문제점이 있다. 즉, 거래소 서버의 키 저장소에서 개인키가 탈취되어 암호화폐의 소유권이 타인에게 양도되면, 소유권 이전에 따른 거래 정보가 블록체인에 기록될 뿐 상기 암호화폐를 소유하는 실제 사용자를 현실 세계에서는 특정할 수 없는 문제점이 있다. However, when the private key is stolen from the key storage of the exchange server, ownership of the cryptocurrency may be changed to another person. Of course, the blockchain remains transaction information indicating that the ownership of the cryptocurrency has been changed to others, but there is a problem that it is very difficult to identify the actual criminal who seized the cryptocurrency in the cryptocurrency transaction that guarantees anonymity. In other words, if the private key is taken from the key storage of the exchange server and the ownership of the cryptocurrency is transferred to another person, transaction information resulting from the transfer of ownership is recorded on the blockchain, and the actual user who owns the cryptocurrency can be identified in the real world. There is no problem.

이러한 이유로 거래소에서는 개인키가 외부 공격자에 의해서 탈취되지 않도록 보안을 강화하여야 하고, 내부 직원들에 의해서 외부로 유출되거나 무단으로 사용되지 않도록 관리하여야 한다.For this reason, exchanges should strengthen their security so that their private keys are not stolen by outside attackers, and must be managed so that they cannot be leaked or used outside by the internal employees.

본 발명은 이러한 종래의 문제점을 해결하기 위하여 제안된 것으로, 암호화폐 거래에 있어서 고객의 불편함을 유발하지 않고 개인키 유출을 예방할 수 있는 암호화폐 보안 방법 및 시스템을 제공하는데 그 목적이 있다.The present invention has been proposed to solve such a conventional problem, and an object of the present invention is to provide a cryptocurrency security method and system that can prevent leakage of a private key without causing inconvenience to customers in cryptocurrency transactions.

본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. Also, it will be readily appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.

상기 목적을 달성하기 위한 본 발명의 제1측면에 따른, 거래소 서버 및 키 저장소를 포함하는 암호화폐 거래 시스템과 연동하여 가입자 개인키의 보안을 향상시키는 암호화폐 보안 시스템은, 보유중인 비밀키를 이용하여 가입자 개인키를 암호화하거나 복호화하는 하드웨어 보안 모듈; 및 상기 하드웨어 보안 모듈에서 암호화한 가입자 개인키를 상기 키 저장소에 보관하고, 암호화폐 거래에 대한 전자 서명을 상기 거래소 서버로부터 요청받으면, 상기 키 저장소에 보관된 암호화된 가입자 개인키를 상기 하드웨어 보안 모듈로 제공하고, 복호화된 상기 가입자 개인키로 전자 서명된 거래 정보를 상기 하드웨어 보안 모듈로부터 수신하여 상기 수신한 상기 전자 서명된 거래 정보를 상기 거래소 서버로 제공하는 키 관리 서버를 포함한다.In accordance with a first aspect of the present invention for achieving the above object, a cryptocurrency security system that improves the security of a subscriber's private key in conjunction with a cryptocurrency trading system including an exchange server and a key store, utilizes a secret key that is held. A hardware security module for encrypting or decrypting the subscriber private key; And storing the subscriber private key encrypted by the hardware security module in the key store, and receiving an electronic signature for a cryptocurrency transaction from the exchange server, and receiving the encrypted subscriber private key stored in the key store in the hardware security module. And a key management server configured to receive transaction information electronically signed with the decrypted subscriber private key from the hardware security module and provide the received electronically signed transaction information to the exchange server.

상기 하드웨어 보안 모듈은, 상기 비밀키로 암호화된 가입자 개인키를 상기 키 관리 서버로부터 수신하면, 상기 비밀키로 암호화된 가입자 개인키를 상기 비밀키를 이용하여 복호화하고, 상기 복호화한 가입자 개인키로 상기 거래 정보를 전자 서명할 수 있다. The hardware security module, upon receiving the subscriber private key encrypted with the secret key from the key management server, decrypts the subscriber private key encrypted with the secret key using the secret key, and the transaction information with the decrypted subscriber private key. Can be electronically signed.

상기 하드웨어 보안 모듈은, 자신의 공개키로 암호화된 거래 정보를 상기 키 관리 서버로부터 수신하고, 상기 공개키로 암호화된 거래 정보를 자신의 개인키를 이용하여 복호화하여, 상기 복호화한 거래 정보를 상기 복호화한 가입자 개인키로 전자 서명할 수 있다. The hardware security module receives the transaction information encrypted with its public key from the key management server, decrypts the transaction information encrypted with the public key using its private key, and decrypts the decrypted transaction information with the private key. Digitally sign with subscriber private key.

한편, 상기 키 관리 서버는, 암호화폐 거래를 수행하는 가입자의 단말로 거래 승인 여부를 문의하는 메시지를 전송하고, 이 메시지에 대한 긍정 응답이 수신되면, 상기 하드웨어 보안 모듈과 연동하여 상기 가입자 개인키로 전자 서명된 거래 정보를 수신하여 상기 거래소 서버로 제공할 수 있다.Meanwhile, the key management server transmits a message inquiring whether to approve the transaction to the terminal of the subscriber who performs the cryptocurrency transaction, and when a positive response to the message is received, the key management server interworks with the hardware security module to provide the subscriber private key. Electronically signed transaction information may be received and provided to the exchange server.

상기 키 관리 서버는, 상기 거래소 서버로부터 상기 가입자 개인키의 암호화를 요청받으면, 상기 하드웨어 보안 모듈과 연동하여 상기 비밀키로 암호화된 가입자 개인키를 획득하고, 상기 키 저장소에 저장된 기존의 가입자 개인키를 상기 비밀키로 암호화된 가입자 개인키로 대체하여 상기 키 저장소에 보관한다.When the key management server receives a request for encryption of the subscriber private key from the exchange server, the key management server acquires the subscriber private key encrypted with the secret key in association with the hardware security module, and stores an existing subscriber private key stored in the key store. The subscriber private key encrypted with the secret key is stored in the key store.

상기 키 관리 서버는, 거래가 되는 암호화폐의 유형을 상기 거래소 서버로부터 수신하고, 상기 암호화폐의 유형에 대응하는 전자 서명을 알고리즘을 확인하여, 상기 하드웨어 보안 모듈로 제공할 수 있다.The key management server may receive a type of cryptocurrency to be traded from the exchange server, check an algorithm for an electronic signature corresponding to the type of cryptocurrency, and provide the same to the hardware security module.

상기 목적을 달성하기 위한 본 발명의 제1측면에 따른 암호화폐 보안 시스템에서, 가입자 개인키의 탈취를 방지하여 암호화폐 보안을 향상시키는 방법은, 키 관리 서버가, 하드웨어 보안 모듈과 연동하여, 상기 하드웨어 보안 모듈에서 암호화된 가입자 개인키를 키 저장소에 보관하는 단계; 상기 키 관리 서버가, 암호화폐 거래에 대한 전자 서명을 거래소 서버로부터 요청받으면, 상기 암호화된 가입자 개인키를 상기 하드웨어 보안 모듈로 제공하여, 복호화된 가입자 개인키로 전자 서명된 거래 정보를 상기 하드웨어 보안 모듈로부터 수신하는 단계; 및 상기 키 관리 서버가, 상기 수신한 상기 전자 서명된 거래 정보를 상기 거래소 서버로 제공하는 단계를 포함한다.In the cryptocurrency security system according to the first aspect of the present invention for achieving the above object, a method for improving the cryptocurrency security by preventing the takeover of subscriber private key, the key management server, in conjunction with the hardware security module, Storing the encrypted subscriber private key in the key store in the hardware security module; When the key management server receives an electronic signature for a cryptocurrency transaction from an exchange server, the key management server provides the encrypted subscriber private key to the hardware security module to provide transaction information electronically signed with a decrypted subscriber private key. Receiving from; And providing, by the key management server, the received electronically signed transaction information to the exchange server.

본 발명은 암호화폐의 거래에 있어서, 개인키 유출을 원천적으로 봉쇄하여 고객의 암호화폐가 탈취되는 것을 예방할 수 있는 장점이 있다.The present invention has the advantage of preventing the seizure of the customer's cryptocurrency by blocking the private key leakage at the source in the transaction of the cryptocurrency.

또한, 본 발명은 거래소에 암호화된 개인키를 저장시킴으로써, 거래소 시스템이 해킹되어도 개인키를 사용할 수가 없어, 암호화폐가 탈취되는 상황을 미연에 방지할 수 있다. In addition, the present invention by storing the encrypted private key on the exchange, even if the exchange system is hacked can not use the private key, it is possible to prevent the situation that the cryptocurrency is seized.

게다가, 본 발명은 하드웨어 보안 모듈에서 거래가 발생할 때마다 암호화된 개인키를 복호화하여, 이 개인키로 거래 정보에 대한 전자 서명을 수행하기 때문에, 외부의 공격으로부터 더욱 안전하게 개인키를 보호할 수 있는 장점이 있다. In addition, since the present invention decrypts the encrypted private key every time a transaction occurs in the hardware security module, and digitally signs the transaction information with the private key, the present invention has the advantage of protecting the private key more securely from external attacks. have.

또한, 본 발명은 하드웨어 보안 모듈을 이용하여, 필요할 때마다 거래 정보에 대한 전자 서명이 수행되게 함으로써, 기존의 거래소 시스템과 비교하여, 가상화폐 매매에 있어서의 편의성을 훼손시키지 않은 이점이 있다.In addition, the present invention has an advantage that the electronic security signature for the transaction information is carried out whenever necessary, using a hardware security module, compared to the existing exchange system, does not compromise the convenience in trading virtual currency.

게다가, 본 발명은, 전자 서명이 필요할 경우, 사용자의 이메일, 모바일 전화번호 등을 이용하여, 승인 인증을 수행하기 때문에, 암호화폐 매매에 대한 보안성을 더욱 강화시키는 효과가 있다. In addition, the present invention has an effect of further strengthening the security against cryptocurrency trading since the authorization authentication is performed using the user's e-mail, mobile phone number, and the like when the electronic signature is required.

본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른, 암호화폐 보안 시스템을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른, 암호화폐 보안 시스템에서 키 저장소에 저장된 가입자 개인키를 암호화된 가입자 개인키로 대체하는 방법을 설명하는 흐름도이다.
도 3은 본 발명의 일 실시예에 따른, 암호화폐 보안 시스템에서 전자 서명된 거래정보를 배포하는 방법을 설명하는 흐름도이다.
The following drawings attached to this specification are illustrative of the preferred embodiments of the present invention, and together with the specific details for carrying out the invention serve to further understand the technical spirit of the present invention, the present invention described in such drawings It should not be construed as limited to matters.
1 is a diagram showing a cryptocurrency security system according to an embodiment of the present invention.
2 is a flowchart illustrating a method of replacing a subscriber private key stored in a key store with an encrypted subscriber private key in a cryptocurrency security system according to an embodiment of the present invention.
3 is a flowchart illustrating a method of distributing electronically signed transaction information in a cryptocurrency security system according to an embodiment of the present invention.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, whereby those skilled in the art may easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른, 암호화폐 보안 시스템을 나타내는 도면이다.1 is a diagram showing a cryptocurrency security system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 암호화폐 보안 시스템은 하드웨어 보안 모듈(Hardware Security Module, 이하 'HSM'으로 지칭함)(100), 키 관리 서버(200), 거래소 서버(300), 키 저장소(400) 및 블록 체인 네트워크(500)를 포함하며, 이러한 구성요소들은 공용 네트워크를 통해서 서로 통신하거나 전용선을 통해서 서로 통신할 수 있다. As shown in FIG. 1, a cryptocurrency security system according to an embodiment of the present invention includes a hardware security module (Hardware Security Module, hereinafter referred to as 'HSM') 100, a key management server 200, an exchange server ( 300, a key store 400, and a blockchain network 500, which components can communicate with each other over a public network or with each other over a dedicated line.

HSM(100)은 하드웨어 보안 모듈로서, 하드웨어적으로 키를 생성하고, 데이터를 암호화하거나 복호화한다. 상기 HSM(100)은 독립적인 하나의 장치로서 구현될 수도 있고, 다른 서버 또는 장치에 탑재될 수 있다. 특히, HSM(100)은 공개키(이하, 'HSM 공개키'로 지칭함)와 개인키(이하, 'HSM 개인키'로 지칭함)를 생성하고, 상기 HSM 개인키를 공유하지 않고 보유하나, 상기 HSM 공개키를 타 장치로 배포하여 공유한다. 또한, HSM(100)은 대칭키인 비밀키를 저장하고 있으며, 이 비밀키를 타 서버 또는 장치와 공유하지 않고 자신만이 보유한다. 상기 HSM(100)은 키 관리 서버(200)로부터 가입자의 개인키(이하, '가입자 개인키'로 지칭함)에 대한 암호화를 요청받으면, 상기 가입자 개인키를 비밀키로 암호화하여 키 관리 서버(200)로 전송한다. 이때, HSM(100)은 상기 가입자 개인키가 HSM 공개키로 암호화되어 있으면, 상기 가입자 개인키를 HSM 개인키로 복호화한 후에, 복호화된 가입자 개인키를 상기 비밀키를 이용하여 암호화한다.The HSM 100 is a hardware security module that generates keys in hardware and encrypts or decrypts data. The HSM 100 may be implemented as one independent device or may be mounted on another server or device. In particular, the HSM 100 generates a public key (hereinafter referred to as an 'HSM public key') and a private key (hereinafter referred to as an 'HSM private key') and retains the HSM private key without sharing it. Distribute and share the HSM public key with other devices. In addition, the HSM 100 stores a secret key which is a symmetric key, and only owns the secret key without sharing it with another server or device. When the HSM 100 receives a request for encryption of a subscriber's private key (hereinafter referred to as a subscriber's private key) from the key management server 200, the HSM 100 encrypts the subscriber's private key with a secret key to manage the key management server 200. To send. At this time, if the subscriber private key is encrypted with the HSM public key, the HSM 100 decrypts the subscriber private key with the HSM private key and then encrypts the decrypted subscriber private key using the secret key.

또한, HSM(100)은 키 관리 서버(200)로부터 전자 서명을 요청받으면, 키 관리 서버(200)로부터 수신한 암호화된 거래 정보를 HSM 개인키를 이용하여 복호화하고, 더불어 키 관리 서버(200)로부터 수신한 암호화된 가입자 개인키를 비밀키로 복호화한다. 게다가, HSM(100)은 상기 복호화한 가입자 개인키와 복호화된 거래 정보를 이용하여, 거래 정보를 상기 가입자 개인키를 이용하여 전자 서명한 후, 전자 서명한 거래정보를 키 관리 서버(200)로 전송한다.In addition, when the HSM 100 receives an electronic signature request from the key management server 200, the HSM 100 decrypts the encrypted transaction information received from the key management server 200 using the HSM private key, and the key management server 200. The encrypted subscriber private key received from the device is decrypted with the secret key. In addition, the HSM 100 electronically signs the transaction information using the subscriber private key using the decrypted subscriber private key and the decrypted transaction information, and then transmits the electronically signed transaction information to the key management server 200. send.

키 저장소(400)는 데이터베이스, 디스크 장치와 같은 저장수단으로서, 가입자별 개인키를 저장한다. 특히, 키 저장소(400)는 암호화되지 않은 가입자 개인키를 삭제하고, 상기 삭제된 가입자 개인키 대신에 HSM 비밀키로 암호화된 가입자 개인키를 저장한다. The key store 400 is a storage means such as a database and a disk device, and stores a private key for each subscriber. In particular, the key store 400 deletes the unencrypted subscriber private key and stores the subscriber private key encrypted with the HSM secret key instead of the deleted subscriber private key.

거래소 서버(300)는 가입자간 암호화폐 거래를 지원하는 시스템으로서, 가입자의 이메일 주소, 가입자 아이디, 가입자 모바일 전화번호, 가입자 성명, 주소, 생년월일 등과 같은 가입자 정보를 저장하고 관리한다. 상기 거래소 서버(300)는 각 가입자 개인키의 저장 환경을 가입자별로 구분하여 저장하고 관리한다. 특히, 거래소 서버(300)는 키 저장소(400)에서 오리지널 가입자 개인키(즉, 암호화되지 않은 가입자 개인키)가 암호화된 가입자 개인키로 대체된 경우, 상기 암호화된 가입자 개인키의 저장환경을 갱신한다. 상기 거래소 서버(300)는 키 관리 서버(200)와 연동하여, HSM 비밀키로 암호화된 가입자 개인키를 획득할 수도 있다. 또한, 거래소 서버(300)는 암호화폐의 거래가 진행되면, 블록 체인 네트워크(500)로 블록체인 기반의 거래 정보를 배포한다. 또한, 거래소 서버(300)는 키 관리 서버(200)와 연동하여, 전자 서명된 거래 정보를 키 관리 서버(200)로부터 수신한다. The exchange server 300 is a system that supports cryptocurrency transactions between subscribers, and stores and manages subscriber information such as subscriber's email address, subscriber ID, subscriber mobile phone number, subscriber name, address, date of birth, and the like. The exchange server 300 stores and manages the storage environment of each subscriber private key for each subscriber. In particular, the exchange server 300 updates the storage environment of the encrypted subscriber private key when the original subscriber private key (that is, the unencrypted subscriber private key) is replaced with the encrypted subscriber private key in the key storage 400. . The exchange server 300 may interwork with the key management server 200 to obtain a subscriber private key encrypted with the HSM secret key. In addition, the exchange server 300 distributes blockchain-based transaction information to the blockchain network 500 when a transaction of cryptocurrency proceeds. In addition, the exchange server 300 receives the electronically signed transaction information from the key management server 200 in cooperation with the key management server 200.

블록 체인 네트워크(500)는 복수의 노드들이 연결된 것으로서, 거래 정보에 대한 거래 검증이 이루어진다. 또한, 블록 체인 네트워크(500)에 속하는 노드들은 거래 장부(즉, 거래 정보)가 기록되며 블록 간에 연결 구조를 가지는 블록 체인을 서로 공유한다. The blockchain network 500 is connected to a plurality of nodes, and the transaction verification of the transaction information is performed. In addition, nodes belonging to the blockchain network 500 share a blockchain having a transaction book (that is, transaction information) and having a connection structure between blocks.

키 관리 서버(200)는 HSM(100) 및 거래소 서버(300)와 연동하여, 키 저장소(400)에 저장된 가입자의 오리지널 가입자 개인키를 폐기하고, 상기 오리지널 가입자 개인키 대신에 HSM(100)에서 암호화한 가입자 개인키를 상기 키 저장소(400)에 보관시킨다. 또한, 키 관리 서버(200)는 거래소 서버(300)로부터 전자 서명을 요청받으면, 전자 서명된 거래정보를 HSM(100)으로부터 수신하여, 이 전자 서명된 거래 정보를 거래소 서버(300)로 제공한다. 키 관리 서버(200)는 암호화폐 유형별로 상이한 전자 서명 알고리즘을 저장하고 있으며, 거래 대상이 되는 암화화폐의 유형을 확인하고, 이 유형에 대응하는 전자 서명 알고리즘을 HSM(100)으로 제공할 수 있다. 상기 키 관리 서버(200)는 가입자에게 거래 승인에 대한 응답을 요구하는 메시지를 발송한 후에, 이 메시지에 대한 응답이 긍정인 경우에 전자 서명된 거래정보를 거래소 서버(300)로 선택적으로 전송할 수 있다. The key management server 200 interoperates with the HSM 100 and the exchange server 300 to discard the original subscriber private key stored in the key storage 400 and replace the original subscriber private key in the HSM 100. The encrypted subscriber private key is stored in the key storage 400. In addition, when the key management server 200 receives an electronic signature request from the exchange server 300, the key management server 200 receives the electronically signed transaction information from the HSM 100, and provides the electronically signed transaction information to the exchange server 300. . The key management server 200 stores different digital signature algorithms for each type of cryptocurrency, identifies the type of cryptocurrency that is the subject of a transaction, and provides the electronic signature algorithm corresponding to the type to the HSM 100. . After the key management server 200 sends a message to the subscriber requesting a response to the transaction approval, if the response to the message is positive, the key management server 200 may selectively transmit the electronically signed transaction information to the exchange server 300. have.

도 2는 본 발명의 일 실시예에 따른, 암호화폐 보안 시스템에서 키 저장소에 저장된 가입자 개인키를 암호화된 가입자 개인키로 대체하는 방법을 설명하는 흐름도이다.2 is a flowchart illustrating a method of replacing a subscriber private key stored in a key store with an encrypted subscriber private key in a cryptocurrency security system according to an embodiment of the present invention.

도 2를 참조하면, 거래소 서버(300)는 본 발명에 따른 암호화폐 보안 서비스에 청약한 가입자의 식별정보를 확인하고, 이 식별정보와 매핑된 가입자 개인키의 저장환경(즉, 파일명 및 저장 경로명)을 확인한다. 그리고 거래소 서버(300)는 상기 저장환경을 토대로 키 저장소(400)에 접근하여 가입자 개인키를 획득한다(S201). 이어서, 거래소 서버(300)는 상기 가입자의 개인키와 매핑된 가입자 정보를 확인한다(S203). 상기 가입자 정보에는 거래승인 인증을 수행하기 위한 가입자의 이메일 주소, 모바일 전화번호, 가입자 아이디 등이 포함된다. 2, the exchange server 300 confirms the subscriber's identification information subscribed to the cryptocurrency security service according to the present invention, and stores the subscriber's private key mapped to the identification information (ie, file name and storage path name). ). The exchange server 300 accesses the key storage 400 based on the storage environment to obtain a subscriber private key (S201). Subsequently, the exchange server 300 checks subscriber information mapped to the subscriber's private key (S203). The subscriber information includes a subscriber's e-mail address, mobile phone number, subscriber ID, etc. for performing transaction approval authentication.

다음으로, 거래소 서버(300)는 HSM의 공개키로, 상기 가입자의 개인키를 암호화한다(S205). 이때, 거래소 서버(300)는 가입자의 개인키가 암호화되면, 키 저장소(400)에서 획득한 오리지널 가입자 개인키(즉, 암호화되지 않은 가입자 개인키)를 메모리, 디스크 장치 등의 저장수단에서 폐기하여, 상기 오리지널 가입자 개인키에 대한 흔적을 거래소 서버(300)에서 완전히 제거한다. 그리고 거래소 서버(300)는 가입자 개인키에 대한 암호화를 키 관리 서버(200)로 요청한다(S209). 이때, 거래소 서버(300)는 HSM 공개키로 암호화된 가입자 개인키 뿐만 아니라, 상기 가입자 개인키의 저장 환경정보 및 상기 가입자 정보를 키 관리 서버(200)로 전송한다. 그러면, 키 관리 서버(200)는 암호화된 가입자 개인키, 가입자 개인키 저장 환경 정보 및 가입자 정보를 임시적으로 저장하고, HSM 공개키로 암호화된 가입자 개인키를 HSM(100)으로 전송하여 상기 가입자 개인키의 암호화를 요청한다(S209). Next, the exchange server 300 encrypts the subscriber's private key with the public key of the HSM (S205). At this time, when the private key of the subscriber is encrypted, the exchange server 300 discards the original subscriber private key (ie, unencrypted subscriber private key) obtained from the key storage 400 in storage means such as a memory or a disk device. The trace on the original subscriber private key is completely removed from the exchange server 300. The exchange server 300 requests the key management server 200 to encrypt the subscriber private key (S209). In this case, the exchange server 300 transmits not only the subscriber private key encrypted with the HSM public key, but also the storage environment information and the subscriber information of the subscriber private key to the key management server 200. Then, the key management server 200 temporarily stores the encrypted subscriber private key, subscriber private key storage environment information and subscriber information, and transmits the subscriber private key encrypted with the HSM public key to the HSM 100 to the subscriber private key. Request encryption of (S209).

이어서, HSM(100)은 HSM 개인키로 암호화된 가입자 개인키를 복호화한다(S211). 그리고 HSM(100)은 자체 저장중이 비밀키를 이용하여 상기 가입자 개인키를 암호화한다(S213). 상기 HSM(100)은 상기 복호화한 가입자 개인키를 따로 보관하지 않고, 상기 가입자 개인키의 암호화가 완료되면 상기 가입자 개인키를 바로 폐기하여, 메모리 등의 저장수단에서 가입자 개인키의 흔적을 완전히 제거한다. 이어서, HSM(100)은 암호화한 가입자 개인키를 키 관리 서버(200)로 전송한다(S215). Subsequently, the HSM 100 decrypts the subscriber private key encrypted with the HSM private key (S211). In addition, the HSM 100 encrypts the subscriber private key by using the private key stored in the self (S213). The HSM 100 does not store the decrypted subscriber private key separately, and immediately discards the subscriber private key when encryption of the subscriber private key is completed and completely removes traces of the subscriber private key from storage means such as a memory. do. Subsequently, the HSM 100 transmits the encrypted subscriber private key to the key management server 200 (S215).

다음으로, 키 관리 서버(200)는 가입자 정보와 비밀키로 암호화된 가입자 개인키를 매핑하여 저장한다(S217). 그리고 키 관리 서버(200)는 거래소 서버(300)로부터 수신한 HSM 공개키로 암호화된 가입자 개인키를 삭제한다. 이어서, 키 관리 서버(200)는 개인 저장 환경 정보를 키 저장소(400)로 제공하여, 키 저장소(400)에 저장된 가입자 개인키(즉, 암호화되지 않은 개인키)의 삭제를 처리를 요청하고, 키 저장소(400)는 상기 저장 환경 정보와 일치하는 가입자 개인키를 삭제한다(S219). 이어서, 거래소 서버(300)는 상기 HSM 비밀키로 암호화된 가입자 개인키를 키 저장소(400)에 저장한다(S221). 즉, 거래소 서버(300)는 키 저장소(400)에 저장된 오리지널 가입자 개인키(즉, 암호화되지 않은 가입자 개인키)를 삭제하고, 이 오리지널 가입자 개인키 대신에 HSM 비밀키로 암호화된 개인키를 상기 키 저장소(400)에 저장시킨다. 거래소 서버(300)는 상기 HSM 비밀키로 암호화된 가입자 개인키의 저장환경 정보(즉, 파일명 및 저장 경로명)을 확인하고, 상기 가입자 개인키의 저장환경 정보를 거래소 서버(300)로 전송할 수 있다. 그러면, 거래소 서버(300)는 기존에 저장된 가입자 개인키의 저장환경 정보를 키 관리 서버(200)로부터 수신한 저장환경 정보로 변경한다. Next, the key management server 200 maps and stores the subscriber information and the subscriber private key encrypted with the secret key (S217). The key management server 200 deletes the subscriber private key encrypted with the HSM public key received from the exchange server 300. Subsequently, the key management server 200 provides the personal storage environment information to the key store 400 to request the deletion of the subscriber private key (ie, the unencrypted private key) stored in the key store 400, The key store 400 deletes the subscriber private key that matches the storage environment information (S219). Subsequently, the exchange server 300 stores the subscriber private key encrypted with the HSM secret key in the key storage 400 (S221). That is, the exchange server 300 deletes the original subscriber private key (ie, unencrypted subscriber private key) stored in the key storage 400, and replaces the original subscriber private key with the private key encrypted with the HSM secret key. Store in the storage 400. The exchange server 300 may check the storage environment information (ie, the file name and the storage path name) of the subscriber private key encrypted with the HSM secret key, and transmit the storage environment information of the subscriber private key to the exchange server 300. Then, the exchange server 300 changes the storage environment information of the existing subscriber private key stored in the storage environment information received from the key management server 200.

다른 실시형태로서, 네트워크 환경에서 키 관리 서버(200)가 키 저장소(400)에 접근하는 것이 불가능한 구조인 경우, 키 관리 서버(200)는 HSM 비밀키로 암호화된 가입자 개인키를 직접 키 저장소(400)에 저장하지 않고, 상기 HSM 비밀키로 암호화된 가입자 개인키를 거래소 서버(300)로 제공할 수 있다. 이 경우, 거래소 서버(300)는 키 저장소(400)에 저장된 오리지널 가입자 개인키(즉, 암호화되지 않은 가입자 개인키)를 삭제하고, 상기 HSM 비밀키로 암호화된 가입자 개인키를 키 저장소(400)에 저장한다. 그리고 거래소 서버(300)는 상기 HSM 비밀키로 암호화된 가입자 개인키에 대한 저장환경 정보를 확인하고, 기존에 저장된 가입자 개인키의 저장환경 정보를 상기 확인한 저장환경 정보로 갱신한다.In another embodiment, when the key management server 200 cannot access the key store 400 in a network environment, the key management server 200 directly stores the subscriber private key encrypted with the HSM secret key. ), The subscriber private key encrypted with the HSM secret key may be provided to the exchange server 300. In this case, the exchange server 300 deletes the original subscriber private key (that is, the unencrypted subscriber private key) stored in the key storage 400, and stores the subscriber private key encrypted with the HSM secret key in the key storage 400. Save it. The exchange server 300 checks the storage environment information for the subscriber private key encrypted with the HSM secret key, and updates the storage environment information of the subscriber private key stored previously with the checked storage environment information.

이러한 절차에 따라, 오리지널 가입자 개인키를 어디에서도 저장되지 않고, HSM 비밀키로 암호화된 가입자 개인키가 키 저장소(400)에 저장된다. 따라서, 키 저장소(400)에서 가입자 개인키가 탈취더라도, 암호화 처리된 가입자 개인키를 암호화폐 거래에서 이용될 수가 없다.According to this procedure, the original subscriber private key is not stored anywhere, and the subscriber private key encrypted with the HSM secret key is stored in the key storage 400. Therefore, even if the subscriber private key is stolen from the key storage 400, the encrypted subscriber private key cannot be used in cryptocurrency transactions.

도 3은 본 발명의 일 실시예에 따른, 암호화폐 보안 시스템에서 전자 서명된 거래정보를 배포하는 방법을 설명하는 흐름도이다.3 is a flowchart illustrating a method of distributing electronically signed transaction information in a cryptocurrency security system according to an embodiment of the present invention.

도 3을 참조하면, 거래소 서버(300)는 가입자로부터 특정 유형의 암호화폐에 대한 거래정보를 입력받는다. 예컨대, 거래소 서버(300)는 비트코인, 이더리움 등과 같은 암호화폐 유형을 가입자로부터 선택받고, 더불어 암호화폐의 거래량과 거래가 되는 상대방 정보가 포함된 거래 정보를 상기 가입자로부터 입력받을 수 있다. 그러면, 거래소 서버(300)는 암호화폐의 거래를 수행하기 위해, 상기 가입자의 식별정보와 매핑되는 가입자 개인키 저장환경을 확인하고, 이 개인키 저장환경을 토대로 키 저장소(400)에서 가입자의 개인키를 획득한다(S301). 여기서, 상기 가입자 개인키는 HSM 비밀키로 암호화되어 있다.Referring to FIG. 3, the exchange server 300 receives transaction information about a specific type of cryptocurrency from a subscriber. For example, the exchange server 300 may receive a type of cryptocurrency such as Bitcoin, Ethereum, etc. from the subscriber, and receive transaction information including counterpart information that is a transaction amount of the cryptocurrency from the subscriber. Then, the exchange server 300 checks the subscriber private key storage environment that is mapped to the subscriber's identification information in order to perform the transaction of cryptocurrency, and the subscriber's personal in the key storage 400 based on the private key storage environment. Obtain a key (S301). Here, the subscriber private key is encrypted with the HSM secret key.

다음으로, 거래소 서버(300)는 HSM 공개키를 이용하여 상기 거래 정보를 암호화하고, 암호화된 거래 정보, 상기 가입자 개인키 및 암호화폐 유형이 포함된 전자 서명 요청 메시지를 키 관리 서버(200)로 전송한다(S303).Next, the exchange server 300 encrypts the transaction information using the HSM public key, and sends the electronic signature request message including the encrypted transaction information, the subscriber private key, and the cryptocurrency type to the key management server 200. It transmits (S303).

이어서, 키 관리 서버(200)는 상기 암호화된 가입자 개인키와 매핑되는 가입자 정보를 확인하고, 이 가입자 정보에서 거래 승인 인증에 필요한 이메일 주소 또는 모바일 전화번호를 확인한다(S305). 이어서, 키 관리 서버(200)는 거래 승인에 대한 인증을 요청하는 메시지를 작성하고, 이 메시지의 착신번호를 상기 이메일 주소, 모바일 전화번호로 설정하여, 상기 메시지를 발송한다(S307). 예컨대, 키 관리 서버(200)는 "가상화폐에 대한 거래 승인을 요청합니다. 암호화폐의 거래를 진행하려면 '1' 그렇지 않으면 '0'을 입력하여 주세요"와 같은 메시지를 가입자에게 발송할 수 있다.Subsequently, the key management server 200 confirms subscriber information mapped to the encrypted subscriber private key, and checks an email address or a mobile phone number necessary for transaction approval authentication in the subscriber information (S305). Subsequently, the key management server 200 creates a message requesting authentication for transaction approval, sets the called party number of the message as the e-mail address and the mobile phone number, and sends the message (S307). For example, the key management server 200 may send a message to the subscriber, such as "Request a transaction approval for virtual currency. Please enter '1' or '0' to proceed with the transaction of the cryptocurrency."

키 관리 서버(200)는 가입자의 단말로부터 상기 메시지에 대한 응답을 수신하고(S309), 상기 응답이 거래 불가 응답이면 거래소 서버(300)로 전자 서명을 수행할 수 없음을 알리고, 거래소 서버(300)는 요청된 거래를 중단한다.The key management server 200 receives a response to the message from the terminal of the subscriber (S309), and if the response is a non-tradeable response, notifies the exchange server 300 that the electronic signature cannot be performed, and the exchange server 300 ) Stops the requested transaction.

반면에, 키 관리 서버(200)는 가입자의 단말로부터 상기 메시지에 대한 응답으로서 거래 승인 응답을 수신하면, 상기 암호화폐 유형에 대응하는 전자 서명 알고리즘을 확인한다(S311). 그리고 키 관리 서버(200)는 상기 확인한 전자 서명 알고리즘, 상기 암호화된 거래 정보 및 HSM 비밀키로 암호화된 가입자 개인키가 포함된 전자 서명 요청 메시지를 HSM(100)으로 전송한다(S313).On the other hand, upon receiving a transaction approval response as a response to the message from the terminal of the subscriber, the key management server 200 checks the electronic signature algorithm corresponding to the cryptocurrency type (S311). The key management server 200 transmits the electronic signature request message including the confirmed electronic signature algorithm, the encrypted transaction information, and the subscriber private key encrypted with the HSM secret key to the HSM 100 (S313).

그러면, HSM(100)은 상기 전자 요청 메시지에서 전자 서명 알고리즘, 상기 암호화된 거래 정보 및 HSM 비밀키로 암호화된 가입자 개인키를 추출하고, HSM 비밀키를 이용하여 상기 암호화된 가입자 개인키를 복호화한다(S315). 또한, HSM(100)는 HSM 개인키를 이용하여, HSM 공개키로 암호화된 거래 정보를 복호화한다(S317). 이렇게 복호화가 완료되면, HSM(100)은 상기 복호화한 가입자 개인키와 복호화된 거래 정보를 이용하여, 거래 정보를 상기 가입자 개인키를 이용하여 전자 서명한 후, 전자 서명한 거래 정보를 키 관리 서버(200)로 전송한다(S319, S321). 이때, HSM(100)은 키 관리 서버(200)로부터 수신한 전자 서명 알고리즘을 이용하여 거래 정보에 대한 전자 서명을 수행한다. 또한, 상기 HSM(100)은 상기 복호화한 가입자 개인키를 따로 보관하지 않고, 전자 서명이 완료되면 바로 폐기하여, 메모리 등에서 가입자 개인키의 흔적을 제거한다.Then, the HSM 100 extracts the subscriber private key encrypted with the electronic signature algorithm, the encrypted transaction information and the HSM secret key from the electronic request message, and decrypts the encrypted subscriber private key using the HSM secret key ( S315). In addition, the HSM 100 decrypts the transaction information encrypted with the HSM public key using the HSM private key (S317). When the decryption is completed, the HSM 100 electronically signs the transaction information using the subscriber private key using the decrypted subscriber private key and the decrypted transaction information, and then electronically signs the transaction information on the key management server. And transmits to S200 (S319 and S321). At this time, the HSM 100 performs an electronic signature on the transaction information by using the electronic signature algorithm received from the key management server 200. In addition, the HSM 100 does not store the decrypted subscriber private key separately and immediately discards the electronic subscriber signature, thereby removing traces of the subscriber private key from the memory.

다음으로, 키 관리 서버(200)는 상기 전자 서명된 거래정보를 상기 거래소 서버(300)로 전송한다(S323). Next, the key management server 200 transmits the electronically signed transaction information to the exchange server 300 (S323).

그러면, 거래소 서버(300)는 상기 전자 서명된 거래 정보를 포함하는 블록체인 기반의 거래 정보를 블록체인 네트워크로 전파한다(S325). 상기 전자 서명된 거래 정보는 블록 체인 네트워크(500) 내의 다른 노드들에 의해서 검증되고, 검증에 성공되면 상기 거래 정보를 포함하는 신규 블록이 기존의 블록과 연결(즉, 체이닝)되고, 블록 체인이 확장된다.Then, the exchange server 300 propagates the blockchain-based transaction information including the electronically signed transaction information to the blockchain network (S325). The electronically signed transaction information is verified by other nodes in the blockchain network 500, and if the verification is successful, a new block containing the transaction information is connected (ie, chained) to an existing block, and the blockchain is Is expanded.

상술한 바와 같이, 본 발명에 따른 암호화폐 보안 시스템은, 암호화폐의 거래에 있어서, 개인키 유출을 원천적으로 봉쇄하여 고객의 암호화폐가 탈취되는 것을 예방한다. 또한, 본 발명에 따른 암호화폐 보안 시스템은, 거래소에 암호화된 개인키를 저장시킴으로써, 키 저장소(400)의 데이터가 해킹되어도 개인키 사용을 불가능하게 한다.As described above, the cryptocurrency security system according to the present invention prevents a customer's cryptocurrency from being seized by blocking the private key leakage at the source in the transaction of the cryptocurrency. In addition, the cryptocurrency security system according to the present invention, by storing the encrypted private key on the exchange, even if the data of the key storage 400 is hacked, it is impossible to use the private key.

본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.While this specification contains many features, such features should not be construed as limiting the scope of the invention or the claims. Also, the features described in the individual embodiments herein can be implemented in combination in a single embodiment. Conversely, various features described in a single embodiment herein can be implemented individually in various embodiments or in combination as appropriate.

도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.Although the operations are described in a particular order in the drawings, they should not be understood as being performed in a particular order as shown, or in a sequence of successive orders, or all described actions being performed to obtain a desired result. . Multitasking and parallel processing may be advantageous in certain circumstances. In addition, it should be understood that the division of various system components in the above-described embodiments does not require such division in all embodiments. The program components and systems described above may generally be packaged in a single software product or multiple software products.

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.The method of the present invention as described above may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. Since this process can be easily implemented by those skilled in the art will not be described in more detail.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.

100 : HSM
200 : 키 관리 서버
300 : 거래소 서버
400 : 키 저장소
500 : 블록 체인 네트워크
100: HSM
200: key management server
300: Exchange Server
400: Key Store
500: blockchain network

Claims (9)

거래소 서버 및 키 저장소를 포함하는 암호화폐 거래 시스템과 연동하여 가입자 개인키의 보안을 향상시키는 암호화폐 보안 시스템으로서,
보유중인 비밀키를 이용하여 가입자 개인키를 암호화하거나 복호화하는 하드웨어 보안 모듈; 및
상기 하드웨어 보안 모듈에서 암호화한 가입자 개인키를 상기 키 저장소에 보관하고, 암호화폐 거래에 대한 전자 서명을 상기 거래소 서버로부터 요청받으면, 상기 키 저장소에 보관된 암호화된 가입자 개인키를 상기 하드웨어 보안 모듈로 제공하고, 복호화된 상기 가입자 개인키로 전자 서명된 거래 정보를 상기 하드웨어 보안 모듈로부터 수신하여 상기 수신한 상기 전자 서명된 거래 정보를 상기 거래소 서버로 제공하는 키 관리 서버;를 포함하는 암호화폐 보안 시스템.
A cryptocurrency security system that improves the security of a subscriber's private key by interworking with a cryptocurrency trading system including an exchange server and a key storage,
A hardware security module for encrypting or decrypting the subscriber private key using the held secret key; And
The subscriber private key encrypted by the hardware security module is stored in the key store, and when the electronic signature for cryptocurrency transaction is requested from the exchange server, the encrypted subscriber private key stored in the key store is transferred to the hardware security module. And a key management server configured to receive transaction information electronically signed with the decrypted subscriber private key from the hardware security module and provide the received electronically signed transaction information to the exchange server.
제1항에 있어서,
상기 하드웨어 보안 모듈은,
상기 비밀키로 암호화된 가입자 개인키를 상기 키 관리 서버로부터 수신하면, 상기 비밀키로 암호화된 가입자 개인키를 상기 비밀키를 이용하여 복호화하고, 상기 복호화한 가입자 개인키로 상기 거래 정보를 전자 서명하는 것을 특징으로 하는 암호화폐 보안 시스템.
The method of claim 1,
The hardware security module,
When the private key encrypted with the secret key is received from the key management server, the private key encrypted with the private key is decrypted using the private key, and the transaction information is electronically signed with the decrypted subscriber private key. Cryptocurrency security system.
제2항에 있어서,
상기 하드웨어 보안 모듈은,
자신의 공개키로 암호화된 거래 정보를 상기 키 관리 서버로부터 수신하고, 상기 공개키로 암호화된 거래 정보를 자신의 개인키를 이용하여 복호화하여, 상기 복호화한 거래 정보를 상기 복호화한 가입자 개인키로 전자 서명하는 것을 특징으로 하는 암호화폐 보안 시스템.
The method of claim 2,
The hardware security module,
Receiving transaction information encrypted with its public key from the key management server, decrypting the transaction information encrypted with the public key using its private key, and electronically signing the decrypted transaction information with the decrypted subscriber private key Cryptocurrency security system, characterized in that.
제1항 있어서,
상기 키 관리 서버는,
암호화폐 거래를 수행하는 가입자의 단말로 거래 승인 여부를 문의하는 메시지를 전송하고, 이 메시지에 대한 긍정 응답이 수신되면, 상기 하드웨어 보안 모듈과 연동하여 상기 가입자 개인키로 전자 서명된 거래 정보를 수신하여 상기 거래소 서버로 제공하는 것을 특징으로 하는 암호화폐 보안 시스템.
The method of claim 1,
The key management server,
Send a message inquiring whether to approve the transaction to the terminal of the subscriber performing the cryptocurrency transaction, and when a positive response to the message is received, the transaction information electronically signed with the subscriber private key in conjunction with the hardware security module to receive Cryptocurrency security system, characterized in that provided to the exchange server.
제1항에 있어서,
상기 키 관리 서버는,
상기 거래소 서버로부터 상기 가입자 개인키의 암호화를 요청받으면, 상기 하드웨어 보안 모듈과 연동하여 상기 비밀키로 암호화된 가입자 개인키를 획득하고, 상기 키 저장소에 저장된 기존의 가입자 개인키를 상기 비밀키로 암호화된 가입자 개인키로 대체하여 상기 키 저장소에 보관하는 것을 특징으로 하는 암호화폐 보안 시스템.
The method of claim 1,
The key management server,
Upon receiving the request for encryption of the subscriber private key from the exchange server, the subscriber secures the subscriber private key encrypted with the secret key in association with the hardware security module, and encrypts the existing subscriber private key stored in the key storage with the private key. Cryptocurrency security system, characterized in that stored in the key storage by replacing with a private key.
제1항에 있어서
상기 키 관리 서버는,
거래가 되는 암호화폐의 유형을 상기 거래소 서버로부터 수신하고, 상기 암호화폐의 유형에 대응하는 전자 서명을 알고리즘을 확인하여, 상기 하드웨어 보안 모듈로 제공하는 것을 특징으로 하는 암호화폐 보안 시스템.
The method of claim 1
The key management server,
Receiving a type of cryptocurrency that is a transaction from the exchange server, the cryptographic security system, characterized in that to provide an electronic signature corresponding to the type of cryptocurrency to the hardware security module.
암호화폐 보안 시스템에서, 가입자 개인키의 탈취를 방지하여 암호화폐 보안을 향상시키는 방법에 있어서,
키 관리 서버가, 하드웨어 보안 모듈과 연동하여, 상기 하드웨어 보안 모듈에서 암호화된 가입자 개인키를 키 저장소에 보관하는 단계;
상기 키 관리 서버가, 암호화폐 거래에 대한 전자 서명을 거래소 서버로부터 요청받으면, 상기 암호화된 가입자 개인키를 상기 하드웨어 보안 모듈로 제공하여, 복호화된 가입자 개인키로 전자 서명된 거래 정보를 상기 하드웨어 보안 모듈로부터 수신하는 단계; 및
상기 키 관리 서버가, 상기 수신한 상기 전자 서명된 거래 정보를 상기 거래소 서버로 제공하는 단계;를 포함하는 암호화폐 보안 방법.
In the cryptocurrency security system, to prevent the takeover of subscriber private key to improve the cryptocurrency security,
Storing, by a key management server, a subscriber private key encrypted in the hardware security module in a key store in association with a hardware security module;
When the key management server receives an electronic signature for a cryptocurrency transaction from an exchange server, the key management server provides the encrypted subscriber private key to the hardware security module to provide transaction information electronically signed with a decrypted subscriber private key. Receiving from; And
And providing, by the key management server, the received electronically signed transaction information to the exchange server.
제7항에 있어서,
상기 하드웨어 보안 모듈로부터 수신하는 단계는,
상기 키 관리 서버가, 거래를 수행하는 가입자의 단말로 거래 승인 여부를 문의하는 메시지를 전송하고, 이 메시지에 대한 긍정 응답이 수신되면, 상기 하드웨어 보안 모듈과 연동하여 상기 복호화된 가입자 개인키로 전자 서명된 거래 정보를 수신하여 상기 거래소 서버로 제공하는 것을 특징으로 하는 암호화폐 보안 방법.
The method of claim 7, wherein
Receiving from the hardware security module,
The key management server transmits a message inquiring whether to approve the transaction to the terminal of the subscriber who performs the transaction, and when a positive response to the message is received, the key management server electronically signs the decrypted subscriber private key in association with the hardware security module. Cryptocurrency security method comprising receiving the transaction information provided to the exchange server.
제7항에 있어서,
상기 가입자 개인키를 키 저장소에 보관하는 단계는,
상기 키 관리 서버가, 상기 거래소 서버로부터 상기 가입자 개인키의 암호화를 요청받는 단계;
상기 키 관리 서버가, 상기 하드웨어 보안 모듈과 연동하여 비밀키로 암호화된 가입자 개인키를 획득하는 단계; 및
상기 키 관리 서버가, 상기 키 저장소에 저장된 기존의 가입자 개인키를 상기 비밀키로 암호화된 가입자 개인키로 교체시키는 단계;를 포함하는 것을 특징으로 하는 암호화폐 보안 방법.
The method of claim 7, wherein
Storing the subscriber private key in a key store,
Receiving, by the key management server, encryption of the subscriber private key from the exchange server;
Acquiring, by the key management server, a subscriber private key encrypted with a secret key in association with the hardware security module; And
And replacing, by the key management server, an existing subscriber private key stored in the key store with a subscriber private key encrypted with the secret key.
KR1020180039913A 2018-04-05 2018-04-05 Security method and system for crypto currency KR102475434B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180039913A KR102475434B1 (en) 2018-04-05 2018-04-05 Security method and system for crypto currency

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180039913A KR102475434B1 (en) 2018-04-05 2018-04-05 Security method and system for crypto currency

Publications (2)

Publication Number Publication Date
KR20190116838A true KR20190116838A (en) 2019-10-15
KR102475434B1 KR102475434B1 (en) 2022-12-06

Family

ID=68209265

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180039913A KR102475434B1 (en) 2018-04-05 2018-04-05 Security method and system for crypto currency

Country Status (1)

Country Link
KR (1) KR102475434B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210374724A1 (en) * 2018-10-19 2021-12-02 Bell Identification B.V. Secure digital wallet processing system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070121618A (en) * 2007-11-28 2007-12-27 사단법인 금융결제원 Payment agency server
KR20150123575A (en) * 2014-04-25 2015-11-04 모지도코화이어코리아 유한회사 Virtual Money Service Method with Biometric Information and HCE and Mobile Terminal, Server and System using the same
KR20160024185A (en) * 2014-08-25 2016-03-04 아이보 (주) Management system and method of crytocurrency using secure element
KR20170087663A (en) * 2016-01-21 2017-07-31 주식회사 한컴시큐어 Apparatus for performing on behalf an electronic signature for client terminal and operating method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070121618A (en) * 2007-11-28 2007-12-27 사단법인 금융결제원 Payment agency server
KR20150123575A (en) * 2014-04-25 2015-11-04 모지도코화이어코리아 유한회사 Virtual Money Service Method with Biometric Information and HCE and Mobile Terminal, Server and System using the same
KR20160024185A (en) * 2014-08-25 2016-03-04 아이보 (주) Management system and method of crytocurrency using secure element
KR20170087663A (en) * 2016-01-21 2017-07-31 주식회사 한컴시큐어 Apparatus for performing on behalf an electronic signature for client terminal and operating method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210374724A1 (en) * 2018-10-19 2021-12-02 Bell Identification B.V. Secure digital wallet processing system

Also Published As

Publication number Publication date
KR102475434B1 (en) 2022-12-06

Similar Documents

Publication Publication Date Title
CN108418680B (en) Block chain key recovery method and medium based on secure multi-party computing technology
CN112989415B (en) Private data storage and access control method and system based on block chain
RU2726157C1 (en) Recovering encrypted transaction information in confidential transactions with blockchain
CN107528688B (en) Block chain key keeping and recovering method and device based on encryption delegation technology
CN110582793B (en) Anonymity and traceability of digital property transactions on a distributed transaction consensus network
WO2017024934A1 (en) Electronic signing method, device and signing server
CA2808369C (en) System for protecting an encrypted information unit
US20170185998A1 (en) Method and device for protecting access to wallets in which crypto currencies are stored
US11943350B2 (en) Systems and methods for re-using cold storage keys
EP3395006A1 (en) Method for managing a trusted identity
CN111931250B (en) Multiparty safe calculation integrated machine
KR101985179B1 (en) Blockchain based id as a service
CN108876593A (en) A kind of online transaction method and apparatus
JP2008501176A (en) Information distribution system that protects privacy
WO2020050390A1 (en) Right holder terminal, user terminal, right holder program, user program, content utilization system, and content utilization method
KR101923943B1 (en) System and method for remitting crypto currency with enhanced security
CN108810017A (en) Business processing safe verification method and device
CN112966022B (en) Information query method, device and system of data transaction platform
CN108737435A (en) A kind of account initial method and device
TWI734729B (en) Method and device for realizing electronic signature and signature server
US11405188B2 (en) Method for secure transferring of information through a network between an origin virtual asset service provider and a destination virtual asset service provider
US20210158444A1 (en) Method and Apparatus for a Blockchain-Agnostic Safe Multi-Signature Digital Asset Management
KR102475434B1 (en) Security method and system for crypto currency
CN103916237A (en) Method and system for managing user encrypted-key retrieval
WO2020076234A1 (en) Apparatus and method for controlling data access

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant