KR20190045753A - Method for generating and backing up electric wallet and user terminal and server using the same - Google Patents
Method for generating and backing up electric wallet and user terminal and server using the same Download PDFInfo
- Publication number
- KR20190045753A KR20190045753A KR1020170138690A KR20170138690A KR20190045753A KR 20190045753 A KR20190045753 A KR 20190045753A KR 1020170138690 A KR1020170138690 A KR 1020170138690A KR 20170138690 A KR20170138690 A KR 20170138690A KR 20190045753 A KR20190045753 A KR 20190045753A
- Authority
- KR
- South Korea
- Prior art keywords
- key
- electronic wallet
- private key
- user
- identification value
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3678—Payment 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 e-cash details, e.g. blinded, divisible or detecting double spending
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3674—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
본 발명은 모바일 기기의 보안 매체를 활용한 블록 체인 기반 암호 화폐의 저장 및 백업 방법 및 이를 이용한 단말 장치 및 백업지원 서버에 관한 것으로, 보다 상세하게는 (a) 사용자에 의한 상기 암호 화폐에 대한 전자 지갑 생성 요청이 획득되면, 사용자 단말이, 전자 지갑 앱으로 하여금 전자 지갑을 생성하도록 하며, SE에 설치되어 상기 전자 지갑에 연동되는 전자 지갑 애플릿으로 키 페어 생성을 요청하도록 하고, 상기 전자 지갑 애플릿으로 하여금 상기 키 페어를 생성하여 상기 SE에 저장하도록 하며, 상기 키 페어 중 퍼블릭 키를 상기 전자 지갑 앱으로 전달하도록 하는 단계; 및 (b) 상기 전자 지갑 앱으로 상기 퍼블릭 키가 전달되면, 상기 사용자 단말이, 상기 퍼블릭 키를 저장하는 단계;를 포함하는 암호 화폐의 전자 지갑 생성 방법과 이를 이용하는 단말 장치에 관한 것이며, 더 나아가 이렇게 생성된 전자 지갑을 백업지원 서버에 백업하는 방법 및 이를 이용한 단말 장치와 백업지원 서버에 관한 것이다. BACKGROUND OF THE
모든 국가나 인터넷에서 자유롭게 사용할 수 있는 가상 화폐 또는 암호 화폐를 이용한 화폐 시스템에서 가장 문제가 되는 것은 화폐 발행의 통제권이다. 암호 화폐는 정해진 규칙에 따라 공정하게 생성되어야 하며, 화폐의 소유권도 어느 한 국가나 기관에 의존하지 않고 투명하면서도 안전하게 관리되어야 할 것이다. 암호 화폐는 시스템을 통제하는 서버가 없이 P2P 방식으로 완전히 분산화된 형태로 작동할 수 있다. In monetary systems with virtual currency or cryptography, which are freely available in all countries and the Internet, the most problematic is the control of currency issuance. Cryptography must be fairly created in accordance with established rules, and ownership of money should be transparent and secure, independent of any country or institution. Cryptography can operate in a fully decentralized fashion with P2P without the need for a server to control the system.
이렇게 사용자를 관리하는 중앙의 서버가 없을 경우, 돈을 주고받을 계좌의 생성이나 계좌를 사용하는 주체가 본인이 맞는지 인증하기 위해서 퍼블릭 키 암호화 방식을 이용할 수 있다. 퍼블릭 키 암호화 방식을 사용하면 누구에게나 공개된 퍼블릭 키를 이용해서 프라이빗 키로 생성한 서명을 검증하고, 제3자는 퍼블릭 키를 이용해 그 서명이 해당 퍼블릭 키의 짝에 해당하는 프라이빗 키로 서명한 것인지 확인할 수 있다. If you do not have a central server to manage users, you can use public key cryptography to authenticate the entity that is using the account or create an account to send and receive money. Public key cryptography allows anyone to verify the signature generated by the private key using the public key, and the third party can use the public key to verify that the signature is signed with the private key corresponding to the corresponding public key have.
그러한 프라이빗 키는 안전하게 보관할 필요가 있는데, 현재는 일반적으로 암호 화폐 거래소에서 프라이빗 키 관리를 하고 있다. 이에 따라 암호 화폐의 프라이빗 키를 더욱 안전하게 보관하고 관리할 수 있는 방법이 요구되고 있다. Such private keys need to be stored securely, and now they are generally in private cryptographic exchange. Accordingly, there is a need for a method for more securely storing and managing the private key of the encrypted currency.
본 발명은 암호 화폐의 전자 지갑 생성 시 생성된 키 페이를 안전한 장소에 보관할 수 있도록 하는 전자 지갑 생성 방법 및 단말 장치를 제공하는 것을 목적으로 한다.The present invention provides an electronic wallet creating method and a terminal device that can store a key payout generated when an electronic purse of a password is generated in a safe place.
또한 본 발명은 암호 화폐의 프라이빗 키를 제3 기관에 암호화하여 백업 보관할 수 있는 전자 지갑 백업 방법, 단말 장치 및 백업지원 서버를 제공하는 것을 다른 목적으로 한다. Another object of the present invention is to provide an electronic wallet backup method, a terminal device, and a backup support server which can encrypt and store a private key of a cryptographic key in a third institution.
또한 본 발명은 개인 단말 장치 내에서 프라이빗 키나 공개 키 분실 시 다른 기관에 보관된 키를 복구하여 복원할 수 있는 전자 지갑 복원 방법, 단말 장치 및 백업지원 서버를 제공하는 것을 또 다른 목적으로 한다. Another object of the present invention is to provide an electronic wallet restoration method, a terminal device, and a backup support server capable of recovering and restoring a key stored in another institution in the case of a loss of a private key or a public key in a personal terminal device.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.In order to accomplish the above object, a representative structure of the present invention is as follows.
본 발명의 일 실시예에 따르면, 암호 화폐의 전자 지갑 생성 방법은, (a) 사용자에 의한 상기 암호 화폐에 대한 전자 지갑 생성 요청이 획득되면, 사용자 단말이, 전자 지갑 앱으로 하여금 전자 지갑을 생성하도록 하며, SE에 설치되어 상기 전자 지갑에 연동되는 전자 지갑 애플릿으로 키 페어 생성을 요청하도록 하고, 상기 전자 지갑 애플릿으로 하여금 상기 키 페어를 생성하여 상기 SE에 저장하도록 하며, 상기 키 페어 중 퍼블릭 키를 상기 전자 지갑 앱으로 전달하도록 하는 단계; 및 (b) 상기 전자 지갑 앱으로 상기 퍼블릭 키가 전달되면, 상기 사용자 단말이, 상기 퍼블릭 키를 저장하는 단계;를 포함한다.According to an embodiment of the present invention, a method for generating an electronic wallet of a cryptographic currency comprises the steps of: (a) when an electronic wallet creation request for the cryptographic currency is obtained by a user, , Requesting generation of a key pair by an electronic wallet applet installed in the SE and interworking with the electronic wallet, causing the electronic wallet applet to generate the key pair and store the key pair in the SE, and the public key To the electronic wallet app; And (b) when the public key is transferred to the electronic wallet app, the user terminal stores the public key.
본 발명의 다른 실시예에 따르면, 암호 화폐의 전자 지갑 백업 방법은, (a) 사용자 단말에 퍼블릭 키가 저장되어 있으며, SE에 상기 퍼블릭 키와 프라이빗 키를 포함하는 키 페어가 저장된 상태에서, 사용자에 의한 상기 암호 화폐의 전자 지갑 백업 요청이 획득되면, 상기 사용자 단말이, 전자 지갑 앱으로 하여금 상기 퍼블릭 키를 포함하는 프라이빗 키 백업 요청을 백업지원 서버로 전송하도록 함으로써, 상기 백업지원 서버로 하여금 상기 사용자의 개인정보로 난수 및 상기 사용자에 대응하는 개인식별값을 암호화한 제1 세션 키를 생성하도록 하고 상기 퍼블릭 키로 상기 난수 및 상기 개인식별값을 암호화한 세션 데이터를 생성하도록 하며 상기 세션 데이터를 상기 사용자 단말의 상기 전자 지갑 앱에게 전송하도록 하는 단계; (b) 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 SE에 설치된 전자 지갑 애플릿으로 상기 세션 데이터를 전달하도록 하고, 상기 전자 지갑 애플릿으로 하여금 상기 SE에 저장된 상기 퍼블릭 키를 이용하여 상기 세션 데이터를 복호화하여 상기 난수 및 상기 개인식별값을 획득하도록 하며, 상기 전자 지갑 애플릿으로 하여금 상기 세션 데이터로부터 획득된 상기 난수 및 상기 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 프라이빗 키를 암호화하도록 하며, 암호화된 프라이빗 키를 상기 전자 지갑 앱으로 전달하도록 하는 단계; 및 (c) 상기 전자 지갑 앱으로 상기 암호화된 프라이빗 키가 전달되면, 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 암호화된 프라이빗 키를 상기 백업지원 서버로 전달하도록 하여, 상기 백업지원 서버로 하여금 상기 제1 세션 키를 이용하여 상기 암호화된 프라이빗 키를 복호화하여 상기 프라이빗 키를 획득하도록 하며, 개별 관리키를 이용하여 상기 프라이빗 키와 상기 퍼블릭 키를 암호화한 암호화 키를 생성하며, 상기 생성된 암호화 키를 상기 개인식별값과 매칭하여 관리하는 단계; 를 포함한다. According to another embodiment of the present invention, there is provided a method for backing up an electronic wallet of a cryptograph, comprising the steps of: (a) storing a public key in a user terminal and storing a key pair including the public key and the private key in the SE, When the electronic wallet backup request of the cipher money is obtained by the electronic wallet application, the user terminal sends the electronic wallet application a private key backup request including the public key to the backup support server, Generating a first session key in which a random number and a personal identification value corresponding to the user are encrypted with a user's personal information and generating session data in which the random number and the personal identification value are encrypted with the public key, To the electronic wallet app of the user terminal; (b) the user terminal causes the electronic wallet application to transmit the session data to an electronic wallet applet installed in the SE, and causes the electronic wallet applet to transmit the session data using the public key stored in the SE Decrypts and obtains the random number and the personal identification value, and generates a second session key in which the electronic wallet applet encrypts the random number and the personal identification value obtained from the session data using the personal information of the user Allowing the private key to be encrypted using the second session key, and delivering the encrypted private key to the electronic wallet app; And (c) when the encrypted private key is transferred to the electronic wallet app, the user terminal causes the electronic wallet application to transmit the encrypted private key to the backup support server, And decrypting the encrypted private key using the first session key to obtain the private key, generating an encryption key obtained by encrypting the private key and the public key using the individual management key, Managing the key by matching with the personal identification value; .
본 발명의 또 다른 실시예에 따르면, 암호 화폐의 전자 지갑 백업 방법은, (a) 사용자 단말에 퍼블릭 키가 저장되어 있으며, SE에 상기 퍼블릭 키와 프라이빗 키를 포함하는 키 페어가 저장된 상태에서, 사용자에 의한 상기 암호 화폐의 전자 지갑 백업 요청에 응답하여 상기 사용자 단말의 전자 지갑 앱으로부터 상기 퍼블릭 키를 포함하는 프라이빗 키 백업 요청이 전송되면, 백업지원 서버가, 상기 사용자의 개인정보로 난수 및 상기 사용자에 대응하는 개인식별값을 암호화한 제1 세션 키를 생성하도록 하고 상기 퍼블릭 키로 상기 난수 및 개인식별값을 암호화한 세션 데이터를 생성하며 상기 세션 데이터를 상기 사용자 단말의 상기 전자 지갑 앱에게 전송하는 단계; (b) 상기 백업지원 서버가, 상기 사용자 단말의 상기 전자 지갑 앱으로 하여금 상기 SE에 설치된 전자 지갑 애플릿으로 상기 세션 데이터를 전달하도록 하고, 상기 전자 지갑 애플릿으로 하여금 상기 SE에 저장된 상기 퍼블릭 키를 이용하여 상기 세션 데이터를 복호화하여 상기 난수 및 개인식별값을 획득하도록 하며, 상기 전자 지갑 애플릿으로 하여금 세션 데이터로부터 획득된 상기 난수 및 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 프라이빗 키를 암호화하도록 하며, 암호화된 프라이빗 키를 상기 전자 지갑 앱으로 전달하도록 하는 단계; 및 (c) 상기 전자 지갑 앱으로 상기 암호화된 프라이빗 키가 전달되면, 상기 백업지원 서버가, 상기 사용자 단말의 상기 전자 지갑 앱으로 하여금 상기 암호화된 프라이빗 키를 상기 백업지원 서버로 전달하도록 하고, 상기 백업지원 서버는, 상기 제1 세션 키를 이용하여 상기 암호화된 프라이빗 키를 복호화하여 상기 프라이빗 키를 획득하며, 개별 관리키를 이용하여 상기 프라이빗 키와 상기 퍼블릭 키를 암호화한 암호화 키를 생성하며, 상기 생성된 암호화 키를 상기 개인식별값과 매칭하여 관리하는 단계;를 수행하는 것을 특징으로 하는 방법이 제공된다.According to another embodiment of the present invention, there is provided an electronic wallet backup method for a cryptograph, comprising the steps of: (a) storing a public key in a user terminal, storing a key pair including the public key and the private key in an SE, When a private key backup request including the public key is transmitted from an electronic wallet app of the user terminal in response to an electronic wallet backup request of the cipher by the user, Generating a first session key obtained by encrypting a personal identification value corresponding to a user, generating session data obtained by encrypting the random number and the personal identification value with the public key, and transmitting the session data to the electronic wallet app of the user terminal step; (b) the backup support server causes the electronic wallet app of the user terminal to transfer the session data to an electronic wallet applet installed in the SE, and causes the electronic wallet applet to use the public key stored in the SE A second session key that is obtained by encrypting the random number and the personal identification value obtained from the session data with the personal information of the user by decoding the session data to obtain the random number and the individual identification value, To encrypt the private key using the second session key, and to forward the encrypted private key to the electronic wallet app; And (c) when the encrypted private key is transferred to the electronic wallet app, the backup support server causes the electronic wallet app of the user terminal to transfer the encrypted private key to the backup support server, The backup support server obtains the private key by decrypting the encrypted private key using the first session key, generates an encryption key by encrypting the private key and the public key using the individual management key, And managing the generated encryption key by matching with the personal identification value.
또한, 본 발명의 일 실시예에 따르면, 상기의 방법들을 수행하기 위한 단말 장치 및 백업지원 서버가 제공된다.Also, according to an embodiment of the present invention, a terminal device and a backup support server for performing the above methods are provided.
본 발명에 의하면, 다음과 같은 효과가 있다. The present invention has the following effects.
본 발명은 사용자의 모바일 기기 등의 단말 장치 내부의 SE 또는 외부 SE를 활용하여 암호 화폐의 프라이빗 키를 보관함으로써 안전하게 암호 화폐를 보관할 수 있는 효과가 있다.INDUSTRIAL APPLICABILITY The present invention has an effect of safely storing cryptographic money by storing a private key of a cryptographic currency by utilizing an SE or an external SE in a terminal device such as a mobile device of a user.
또한 본 발명은 SE에서 생성된 프라이빗 키를 공인된 기관이나 공공기관의 프라이빗 블록 체인에 암호화하여 백업할 수 있다.Further, the present invention can back up the private key generated in the SE by encrypting it in a private block chain of a public institution or public institution.
또한 본 발명은 SE의 프라이빗 키 분실이나 손상 시 공인된 기관이나 공공기관의 프라이빗 블록 체인에 보관된 프라이빗 키를 복호화하여 복구할 수 있는 효과가 있다. Further, the present invention has an effect that a private key stored in a private block chain of an authorized institution or a public institution can be decrypted and recovered when a private key of the SE is lost or damaged.
도 1은 본 발명의 일 실시예에 따른 암호 화폐 전자 지갑 생성 및 관리 서비스를 제공하는 단말 장치를 개략적으로 도시한 개념도이다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 전자 지갑 앱과 전자 지갑 애플의 설치 예를 나타낸다.
도 4는 본 발명의 일 실시예에 따른 암호 화폐의 지갑 생성 과정을 개략적으로 도시한 것이다.
도 5는 본 발명의 일 실시예에 따른 암호 화폐의 프라이빗 키 백업 과정을 개략적으로 도시한 것이다.
도 6은 본 발명의 일 실시예에 따른 암호 화폐의 백업을 위한 시스템을 개략적으로 도시한 것이다.
도 7은 본 발명의 일 실시예에 따른 암호 화폐의 프라이빗 키 복구 과정을 개략적으로 도시한 것이다.
도 8는 본 발명의 일 실시예에 따른 암호 화폐의 잔액 확인 과정을 개략적으로 도시한 것이고, 도 9는 본 발명의 일 실시예에 따른 암호 화폐의 전송 과정을 개략적으로 도시한 것이다.
도 10 및 도 11은 본 발명의 일 실시예에 따라 생성된 머클 트리의 예를 도시한 도면이다.FIG. 1 is a conceptual diagram schematically illustrating a terminal device providing a cryptographic electronic wallet creation and management service according to an embodiment of the present invention. Referring to FIG.
FIG. 2 and FIG. 3 illustrate examples of installation of an electronic wallet app and an electronic wallet Apple according to an embodiment of the present invention.
4 is a schematic view illustrating a process of creating a wallet of a cryptograph according to an embodiment of the present invention.
FIG. 5 is a schematic view illustrating a process of backing up a private key of a cryptographic key according to an embodiment of the present invention.
Figure 6 is a schematic diagram of a system for backup of cryptography in accordance with one embodiment of the present invention.
FIG. 7 is a schematic view of a private key recovery process according to an embodiment of the present invention. Referring to FIG.
FIG. 8 is a schematic view illustrating a process of checking the balance of a cryptogram according to an embodiment of the present invention, and FIG. 9 is a schematic view illustrating a process of transmitting a cryptogram according to an embodiment of the present invention.
10 and 11 are diagrams illustrating examples of a merge tree generated according to an embodiment of the present invention.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with an embodiment. It is also to be understood that the position or arrangement of the individual components within each disclosed embodiment may be varied without departing from the spirit and scope of the invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is to be limited only by the appended claims, along with the full scope of equivalents to which such claims are entitled, if properly explained. In the drawings, like reference numerals refer to the same or similar functions throughout the several views.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily carry out the present invention.
도 1은 본 발명의 일 실시예에 따른 암호 화폐 전자 지갑 생성 및 관리 서비스를 제공하는 단말 장치를 개략적으로 도시한 개념도이다.FIG. 1 is a conceptual diagram schematically illustrating a terminal device providing a cryptographic electronic wallet creation and management service according to an embodiment of the present invention. Referring to FIG.
도 1을 참조하면, 본 발명에 따른 단말 장치(100)는 통신부(101) 및 프로세서(102)를 포함할 수 있으며 다른 단말 장치와 간접 또는 직접적으로 통신할 수 있다. 도 1에는 단말 장치의 구성만 개략적으로 도시하였지만, 본 발명에 따른 백업지원 서버도 도 1의 단말 장치(100)와 같이 통신부와 프로세서를 포함하고 상기 단말 장치(100)와 통신할 수 있다. 또한 백업지원 서버는 다수의 컴퓨팅 장치로 구성될 수 있다.Referring to FIG. 1, a
특히 단말 장치와 백업지원 서버는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다. In particular, the terminal device and the backup support server typically comprise a computing device (e.g., a computer processor, memory, storage, input and output devices, and other devices capable of including components of a conventional computing device; (E.g., an electronic information storage system such as a network attached storage (NAS) and a storage area network (SAN)) and computer software (i.e., instructions that cause a computing device to function in a particular manner) ≪ / RTI >
특히 단말 장치는 일반적으로 사용자의 개인 모바일 기기와 같은 컴퓨팅 장치 이다. 단말 장치의 통신부(101) 및 백업지원 서버의 통신부(미도시)는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는다. 예컨대 통신부의 요청과 응답은 UDP 데이터그램으로서 송수신될 수도 있을 것이다.In particular, the terminal device is generally a computing device such as a user's personal mobile device. The
또한 단말 장치(100)의 프로세서(102) 및 백업지원 서버의 프로세서(미도시)는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.The
도 2 및 도 3은 본 발명의 일 실시예에 따른 전자 지갑 앱과 전자 지갑 애플의 설치 예를 나타낸다.FIG. 2 and FIG. 3 illustrate examples of installation of an electronic wallet app and an electronic wallet Apple according to an embodiment of the present invention.
도 2 및 도 3을 참조하면, 전자 지갑 앱(103)은 단말 장치(100) 내에 설치되며 전자 지갑 애플릿(104)와 연동하여 암호 화폐의 주소를 생성하고, 암호 화폐 네트워크와 연동하여 잔액 조회, 송금(전송) 등 다양한 기능을 수행한다. 또한 전자 지갑 애플릿(104)은 SE(Secure Element)에서 동작하는 애플릿(Applet)이다. 즉, 본 발명에 따른 전자 지갑 애플릿은 SE에 설치된다. 상기 SE는 도 2에 도시된 바와 같이 단말 장치(100)의 하드 영역에 있는 SE일 수도 있으며, 단말 장치(100)에 내장된 eSE 일 수도 있고, SIM에 형성된 SE일 수도 있으며, 내장 메모리에 형성된 SE일 수도 있다. 또한 상기 SE는 도 3에 도시된 바와 같이 단말 장치(100) 외부에 있는 외장 메모리 내에 형성된 SE 또는 외부 IC 카드에 형성된 SE일 수도 있다. 만일 SE가 외부 메모리에 형성된 경우에는 연결 케이블을 통해 단말 장치(100)의 전자 지갑 앱(103)과 통신할 수 있으며, SE가 외부 IC 카드에 형성된 경우에는 NFC 통신으로 단말 장치(100)와 연결되어 전자 지갑 앱(103)과 통신할 수 있다. SE가 단말 장치(100) 내부에 있는 경우 단말 장치(100)는 전자 지갑 애플릿(104)를 다운로드 하여 내부 SE에 설치하고, SE가 단말 장치(100) 외부에 있는 경우, 상기 SE에 NFC 통신 등의 OTA(Over The Air)를 통해 암호 화폐 관리를 위한 전자 지갑 애플릿(104)을 다운로드하여 설치하며, 외부 SE의 전자 지갑 애플릿(104)과 단말 장치(100)의 전자 지갑 앱(103)이 상호 연동한다.2 and 3, the
전자 지갑 애플릿(104)은 퍼블릭 키, 프라이빗 키의 생성 및 전자 서명을 수행하는 기능을 하고 암호 화폐의 암호화 요구에 따라 별도의 암호화 연산을 수행한다. The
도 4는 본 발명의 일 실시예에 따른 암호 화폐의 지갑 생성 과정을 개략적으로 도시한 것이다.4 is a schematic view illustrating a process of creating a wallet of a cryptograph according to an embodiment of the present invention.
도 4를 참조하면, 본 발명에 따른 암호 화폐 지갑 생성 과정은 암호 화폐 사용자(200)가 전자 지갑 앱(103)으로 사용할 암호 화폐를 선택하고 상기 암호 화폐에 대한 전자 지갑 생성을 요청(S401)함으로써 시작된다. 그러면 전자 지갑 앱(103)은 전자 지갑을 생성하고(S402) 상기 생성된 전자 지갑에 대응하는 키 페이의 생성을 전자 지갑 애플릿(104)에 요청한다(S403). 전자 지갑 애플릿(104)은 전자 지갑 앱(103)로부터의 키 페어 생성 요청에 응답하여 키 페어(퍼블릭 키 및 프라이빗 키)를 생성하고, 상기 생성된 키 페이를 상기 전자 지갑 애플릿(104)에 저장한다(S404). 그리고 나서 전자 지갑 애플릿(104)은 전자 지갑 앱(103)으로 키 페어 생성 결과와 함께 생성된 키 페어 중 퍼블릭 키를 전달한다(S405). 전자 지갑 앱(103)은 키 페어 생성 결과를 확인하고 전자 지갑 애플릿(104)에서 전달받은 퍼블릭 키를 저장한다(S406). 그리고 나서 전자 지갑 앱(103)은 사용자(200)에게 전자 지갑 생성 결과를 통보한다(S407). Referring to FIG. 4, in the process of generating a crypt wallet according to the present invention, a cryptogram user 200 selects a cryptogram to be used as an
여기서 전자 지갑 앱(103)과 전자 지갑 애플릿(104)에서 수행되는 프로세스는 단말 장치의 프로세서(102)에 의해 수행되거나 지원될 수 있다.Here, the processes performed in the
이에 따라 본 발명에서는 다수에 노출된 암호 화폐 거래소에서 프라이빗 키를 관리하지 않고 모바일 기기 등의 사용자 단말 장치의 SE를 활용하여 프라이빗 키를 보관할 수 있기에 보다 안전하게 암호 화폐를 보관할 수 있다. Accordingly, in the present invention, since the private key can be stored by utilizing the SE of the user terminal device such as the mobile device without managing the private key in the cryptographic money exchange exposed to a large number of users, the cryptogram can be safely stored.
그리고 암호 화폐의 프라이빗 키를 사용자가 직접 보관하여 보안성을 높일 수 있으며, SE 기반의 개인 전자 지갑을 통해 안전하게 다른 서비스나 개인간의 거래를 수행할 수 있다.In addition, the private key of the password can be stored directly by the user, and the SE-based personal electronic wallet can safely perform transactions with other services or individuals.
도 5는 본 발명의 일 실시예에 따른 암호 화폐의 프라이빗 키 백업 과정을 개략적으로 도시한 것이고 도 6은 본 발명의 일 실시예에 따른 암호 화폐의 백업을 위한 시스템을 개략적으로 도시한 것이다.FIG. 5 schematically illustrates a private key backup process of a cryptographic key according to an embodiment of the present invention, and FIG. 6 is a schematic view of a system for backing up a cryptographic key according to an embodiment of the present invention.
도 5 및 도 6을 참조하면, 사용자(200)가 전자 지갑 앱(103)으로 전자 지갑의 백업을 요청(S501)하면, 전자 지갑 앱(103)에서 3rd 파티인 외부의 백업지원 서버 (300)로 프라이빗 키 백업 요청을 한다(S502). 또한, 백업지원 서버(300)를 통해 도 6에 도시된 바와 같이 프라이빗 블록 체인(또는 퍼블릭 블록 체인)과 연결될 수 있다. 이때, 전자 지갑의 백업은 도 5에 도시된 바와 같이 사용자의 요청(S501)에 의해 진행될 수도 있고, 사용자의 요청 없이도 전자 지갑 생성 후 전자 지갑 앱(103)이 퍼블릭 키 백업과 별도로 또는 동시에 프라이빗 키 백업을 요청할 수 있다. 일 예로, 단말 장치(100)의 프로세서(102)가 전자 지갑 생성 후 전자 지갑 앱(103)에 퍼블릭 키를 저장함과 별도로, 전자 지갑 앱(103)으로 하여금 퍼블릭 키를 포함하는 프라이빗 키 백업 요청을 백업지원 서버(300)로 전송할 수 있다(S502). 이때 전자 지갑 앱(103)은 프라이빗 키 백업 요청을 백업지원 서버(300)로 전송할 때 전자 지갑 앱에 저장된 퍼블릭 키를 포함하여 전송한다. 사용자(200)로부터의 요청 및 백업지원 서버(300)로의 요청 및 데이터 송수신은 단말 장치(100)의 통신부(101)에서 수행될 수 있다.Figures 5 and 6, the user 200 E-Wallet app (103) to request a backup of the wallet (S501), in the electronic wallet app (103) 3 rd party, external backup support server (300 (S502). ≪ / RTI > Also, the backup support server 300 can be connected to a private block chain (or a public block chain) as shown in FIG. In this case, the backup of the electronic wallet may be proceeded by the user's request (S501) as shown in FIG. 5, or after the electronic wallet is created without the user's request, the
이때 백업지원 서버(300)는 단말 장치나 암호 화폐 거래소, 암호 화폐 네트워크와는 다른 3rd 파티(party) 이며, 바람직하게는 공인된 기관이나 공공 기관에서 운영하는 백업지원 서버인 것이 바람직하다. 또한, 경우에 따라, 이러한 백업지원 서버 자체가 블록 체인의 다수의 노드 중 어느 하나의 노드일 수도 있다. 사용자(200)가 암호 화폐의 백업 서비스를 이용하기 위해서는 사용자는 상기 3rd 파티에 프라이빗 키 백업 서비스를 위한 회원 가입이 되어 있고, 상기 백업 서비스에 로그인 되어 있어야 할 수 있다.At this time, the backup support server 300 is a 3 rd party different from the terminal device, the cryptographic exchange, and the cryptographic network, and is preferably a backup support server operated by a recognized authority or a public agency. In some cases, such a backup support server itself may be any one of a plurality of nodes in the block chain. In order for the user 200 to use the backup service of the password, the user may be a member of the private key backup service at the 3 rd party and be logged in the backup service.
한편, 백업지원 서버(300)는 프라이빗 키 백업 요청에 응답하여 사용자의 프라이빗 키 백업 서비스 가입 여부를 확인하고, 사용자가 상기 프라이빗 키 백업 서비스에 가입되어 있음이 확인되면, 난수와 개인식별값을 사용자의 ID와 PW 등의 사용자의 개인정보로 암호화한 세션 키(session key)를 생성한다(S503). 상기 개인식별값은 상기 사용자에 대응하는 개별적인 식별값이 된다. 또한, 백업지원 서버(300)는 상기 난수 및 개인색별값을 상기 전자 지갑 앱(103)에서 전달받은 퍼블릭 키로 암호화한 세션 데이터(session data)를 생성한다(S503). 그리고 백업지원 서버(300)는 생성한 세션 데이터를 전자 지갑 앱(103)으로 전송한다(S504). 백업지원 서버(300)에서의 요청 수신 및 데이터 전달 및 수신은 상기 백업지원 서버(300)의 통신부(미도시)에서 수행될 수 있다.Meanwhile, the backup support server 300 confirms whether the user joins the private key backup service in response to the private key backup request. If it is confirmed that the user is subscribed to the private key backup service, And generates a session key encrypted with the user's personal information such as the ID and PW of the user (S503). The individual identification value is an individual identification value corresponding to the user. In step S503, the backup support server 300 generates session data in which the random number and the individual color value are encrypted with the public key received from the
그런 다음 전자 지갑 앱(103)은 상기 세션 데이터를 SE에 설치된 전자 지갑 애플릿(104)으로 전달하며, 상기 전자 지갑 애플릿(104)에 프라이빗 키 암호화를 요청한다(S505). 그러면 전자 지갑 애플릿(104)은 SE에 저장된 퍼블릭 키를 이용하여 상기 세션 데이터를 복호화하여 난수 및 개인식별값을 획득한다(S506). SE에 저장된 퍼블릭 키와 백업지원 서버(300)에 전달된 퍼블릭 키가 동일하고 세션 데이터의 암호화 시 상기 퍼블릭 키를 이용했기 때문에 동일한 퍼블릭 키로 암호화된 세션 데이터가 복호화 될 수 있다.Then, the
그리고 전자 지갑 애플릿(104)은 세션 데이터에서 획득한 난수 및 개인식별값을 사용자의 개인정보로 암호화하여 세션 키(session key)를 생성한다. 전자 지갑 애플릿(104)에서 사용하는 사용자 개인정보는 백업지원 서버(300)에서 암호화시 사용하는 사용자의 개인정보와 동일하며, 사용자의 ID와 PW 등을 이용할 수 있다. 이에 따라 전자 지갑 애플릿(104)에서 생성한 세션 키는 백업지원 서버(300)에서 생성한 세션 키와 동일하다. 그리고 전자 지갑 애플릿(104)은 생성된 세션 키를 이용하여 프라이빗 키를 암호화하여 암호화된 프라이빗 키를 생성한다(S506). 그리고 전자 지갑 애플릿(104)은 암호화된 프라이빗 키를 전자 지갑 앱(103)으로 전달한다(S507).The
전자 지갑 앱(103)은 전자 지갑 애플릿(104)에서 전달받은 암호화된 프라이빗 키를 백업지원 서버(300)로 전달하고(S508), 백업지원 서버(300)는 전달받은 세션 키를 이용하여 암호화된 프라이빗 키를 복호화하여 프라이빗 키를 획득하고, 이를 저장한다(S509). 좀 더 구체적으로 상기 백업지원 서버(300)는 관리키를 이용하여 개인식별값을 암호화한 개별 관리키를 생성하고, 상기 생성된 개별 관리키를 이용하여 획득된 프라이빗 키와 기 전달 받은 퍼블릭 키를 암호화하여 암호화 키를 생성하며, 상기 생성된 암호화 키를 상기 개인식별값과 매칭하여 저장 관리한다. 그리고 나서 백업지원 서버(300)는 프라이빗 키 백업 결과를 전자 지갑 앱(103)으로 전달하고(S510), 전자 지갑 앱(103)은 전자 지갑 백업 결과를 사용자(200)에서 전달한다(S511).The
여기서 전자 지갑 앱(103)과 전자 지갑 애플릿(104)에서 수행되는 프로세스는 단말 장치의 프로세서(102)에 의해 수행되거나 지원된다. 그리고 백업지원 서버(300)에서 수행하는 암호화 복호화 프로세스 및 데이터 판독 및 저장 프로세스도 백업지원 서버(300) 내의 프로세서(미도시)에 의해 수행되거나 지원된다.Here, the processes performed in the
이에 따라 암호 화폐의 프라이빗 키를 사용자가 직접 보관함과 동시 3rd 파티인 공공기관이나 공인인증 기관의 백업지원 서버에 백업된 키를 보관할 수 있어 프라이빗 키의 분실이나 손상에 대비할 수 있다.As a result, the user can directly store the private key of the password, and the backup key can be stored in a backup support server of a public institution or a public certification authority, which is a 3 rd party, so that it can be prepared for the loss or damage of the private key.
도 7은 본 발명의 일 실시예에 따른 암호 화폐의 프라이빗 키 복구 과정을 개략적으로 도시한 것이다.FIG. 7 is a schematic view of a private key recovery process according to an embodiment of the present invention. Referring to FIG.
도 7을 참조하면, 사용자(200)가 단말 장치(100) 나 SE에 저장된 프라이빗 키 또는 키 페어를 분실하여 전자 지갑 앱(103)으로 전자 지갑 복구 요청을 하는 경우(S701), 전자 지갑 앱(103)은 백업지원 서버(300)로 프라이빗 키 복구 요청을 전달한다(S702). 그리고 백업지원 서버(300)는 사용자의 백업 서비스 가입 여부를 확인하고, 사용자의 개인식별값과 매칭하여 저장 관리하고 있던 암호화 키를 불러와 개별관리키로 암호화 키를 복호화 하여, 프라이빗 키와 퍼블릭 키를 획득한다. 그리고 나서 백업지원 서버(300)는 난수와 개인식별값을 사용자의 ID와 PW 등의 사용자의 개인정보로 암호화한 세션 키(session key)를 생성하고, 획득한 프라이빗 키를 상기 세션 키로 암호화하여 암호화된 프라이빗 키를 생성한다(S703). 그리고 백업지원 서버(300)는 상기 암호화된 프라이빗 키, 상기 난수 및 상기 개인식별값을 전자 지갑 앱으로 전송한다(S704). 7, when the user 200 forgets an electronic wallet recovery request to the
전자 지갑 앱(103)은 백업지원 서버(300)로부터 전달받은 상기 암호화된 프라이빗 키, 상기 난수 및 상기 개인식별값을 전자 지갑 애플릿(104)으로 전달하며, 프라이빗 키 복구를 요청한다(S705). 그러면 전자 지갑 애플릿(104)는 전달받은 난수 및 개인식별값을 사용자의 개인정보로 암호화하여 세션 키(session key)를 생성한다. 이때 사용되는 사용자의 개인정보는 백업지원 서버(300)에서 사용하는 사용자의 개인정보와 동일하고 이에 따라 생성되는 세션 키도 전자 지갑 애플릿에서와 백업지원 서버에서 모두 동일하게 된다. 전자 지갑 애플릿(104)는 생성된 세션 키를 이용하여 전자 지갑 앱(103)으로부터 전달받은 암호화된 프라이빗 키를 복호화하여 프라이빗 키를 복구하고 복구한 프라이빗 키를 SE에 저장한다(S707). 그리고 전자 지갑 애플릿(104)은 프라이빗 키 복구 결과를 전자 지갑 앱(103)으로 전달하고(S707), 전자 지갑 앱(103)은 전자 지갑 복구 결과를 사용자(200)에서 전달한다(S708).The
한편, 전자 지갑 애플릿(104)에서 프라이빗 키만 복구하지 않고 퍼블릭 키도 같이 복구 요청을 할 필요가 있는 경우가 있는데, 이때는 전자 지갑 앱(103)이 백업지원 서버(300)로 사용자의 프라이빗 키 및 퍼블릭 키 복구 요청을 하고, 백업지원 서버(300)는 개인식별값과 매칭되는 암호화 키를 획득 또는 불러와 개별 관리키를 이용하여 암호화 키를 복호화하여 프라이빗 키 및 퍼블릭 키를 획득한다. 그런 다음, 백업지원 서버(300)는 사용자의 개인정보로 난수 및 개인식별값을 암호화한 세션 키를 생성하고, 상기 세션 키로 프라이빗 키 및 퍼블릭 키를 암호화하도록 하고, 상기 암호화된 프라이빗 키 및 퍼블릭 키, 상기 난수 및 상기 개인식별값을 전자 지갑 앱(103)으로 전송한다. 그리고 전자 지갑 앱(103)은 전자 지갑 애플릿(104)으로 상기 암호화된 프라이빗 키 및 퍼블릭 키, 상기 난수 및 상기 개인식별값을 전달하고, 전자 지갑 애플릿(104)은 상기 난수 및 상기 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 세션 키를 생성한 후 상기 세션 키를 이용하여 상기 암호화된 프라이빗 키 및 퍼블릭 키를 복호화하여 프라이빗 키 및 퍼블릭 키를 획득한다. 그런 다음, 전자 지갑 애플릿(104)은, 획득된 프라이빗 키 및 퍼블릭 키를 SE에 저장하고 아울러 퍼블릭 키를 전자 지갑 앱(103)에 전달하는 과정을 진행한다.Meanwhile, there is a case where the
도 8는 본 발명의 일 실시예에 따른 암호 화폐의 잔액 확인 과정을 개략적으로 도시한 것이고, 도 9는 본 발명의 일 실시예에 따른 암호 화폐의 전송 과정을 개략적으로 도시한 것이다. FIG. 8 is a schematic view illustrating a process of checking the balance of a cryptogram according to an embodiment of the present invention, and FIG. 9 is a schematic view illustrating a process of transmitting a cryptogram according to an embodiment of the present invention.
도 8을 참조하면, 사용자(200)에 의한 전자 지갑의 선택 및 선택된 전자 지갑에 대한 잔액 확인 요청이 단말 장치(100)의 통신부(101)를 통해 입력되면(S801), 전자 지갑 앱(101)은 상기 사용자가 선택한 전자 지갑에 해당되는 암호 화폐의 잔액 확인 트랜잭션을 생성하여(S802) 생성된 트랜잭션을 퍼블릭 키와 함께 암호 화폐 네트워크(400)로 전달한다(S803). 그러면 암호 화폐 네트워크(400)에서는 트랜잭션에 응답하여 잔액 확인을 수행하고(S804), 그 결과를 전자 지갑 앱(103)으로 전달한다(S805). 그러면 전자 지갑 앱(103)는 잔액 확인 결과를 사용자에게 전달한다(S806).8, when the user selects the electronic wallet and receives a balance confirmation request for the selected electronic wallet through the
도 9를 참조하면, 사용자(200)에 의한 전자 지갑의 선택 및 선택된 전자 지갑의 잔액 중 송금(또는 전송)할 금액과 송금할 주소가 입력되면(S901), 전자 지갑 앱(103)은 상기 사용자가 선택한 전자 지갑에 해당되는 암호 화폐의 송금할 금액 및 주소에 대한 트랜잭션을 생성한다(S902). 상기 트랜잭션에는 전송 번호(transaction id, txid), 이전 전송번호, 서명, 받는 주소 및 송금 금액을 포함한다. 그리고 전자 지갑 앱(103)은 상기 트랜잭션을 퍼블릭 키와 함께 암호 화폐 네트워크로(400)로 전달한다(S903). 그러면 암호 화폐 네트워크(400)에서는 트랜잭션에 응답하여 송금 주소로 해당 금액을 송금하고(S904), 그 결과를 전자 지갑 앱(103)으로 전달한다(S905). 그러면 전자 지갑 앱(103)는 송금 확인 결과 및 잔액을 사용자에게 전달한다(S906).9, when an
여기서도 전자 지갑 앱(103)과 전자 지갑 애플릿(104)에서 수행되는 프로세스는 단말 장치의 프로세서(102)에 의해 수행되거나 지원된다.Again, the processes performed in the
한편, 백업지원 서버에 백업된 키에 대한 정보는 프라이빗 블록 체인이나 퍼블릭 블록 체인에 등록할 수 있다. 그리고 상기 암호 화폐 네트워크(400)가 상기 프라이빗 블록 체인이나 퍼블릭 블록 체인에 해당될 수도 있다. 이때, 백업지원 서버(300)는 유효한 확인 결과에 대응하여, 소정의 조건, 일 예로 퍼블릭 블록체인 또는 프라이빗 블록 체인 데이터베이스에 소정의 해쉬값을 등록하기 위한 트리거링 조건이 만족되면, 트랜잭션(TrxA)에 해쉬 함수를 적용하여 생성한 특정 해쉬값(hash(TrxA)) 및 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 대표 해쉬값 또는 대표 해쉬값을 가공한 값을 머클 루트로 생성하고, 생성된 머클 루트인 대표 해쉬값 또는 대표 해쉬값을 가공한 값을 블록체인 데이터베이스에 등록하거나 등록하도록 지원하며, 블록체인 데이터베이스에 등록된 대표 해쉬값 또는 대표 해쉬값을 가공한 값인 머클 루트의 블록체인 데이터베이스 상의 위치 정보를 나타내는 트랜잭션 아이디(Txid)를 획득하거나 획득하도록 지원할 수 있다. 이때, 백업지원 서버(300)는 트랜잭션 아이디(Txid)에 대응되는 OP 메시지를 블록체인 데이터베이스로부터 획득할 수도 있다.On the other hand, the information about the backup key of the backup support server can be registered in the private block chain or the public block chain. And the cryptography network 400 may correspond to the private block chain or the public block chain. At this time, if the triggering condition for registering a predetermined hash value in a public block chain or a private block chain database is satisfied under a predetermined condition, for example, in response to a valid check result, the backup support server 300 transmits the transaction TrxA Generates a value obtained by processing a representative hash value or representative hash value by calculating a specific hash value (hash (TrxA)) generated by applying the hash function and at least one neighbor hash value matching with the specific hash value, A value obtained by processing a representative hash value or a representative hash value, which is the generated merge root, in the block chain database, and a value obtained by processing a representative hash value or a representative hash value registered in the block chain database, To acquire or obtain a transaction ID (Txid) indicating location information on the database. At this time, the backup support server 300 may acquire the OP message corresponding to the transaction ID (Txid) from the block chain database.
그리고, 특정 해쉬값과 적어도 하나의 이웃 해쉬값과의 연산은 다양한 해쉬 함수에 의해 수행될 수 있으며, 해쉬함수는 MD4 함수, MD5 함수, SHA-0 함수, SHA-1 함수, SHA-224 함수, SHA-256 함수, SHA-384 함수, SHA-512 함수 및 HAS-160 함수를 포함할 수 있으나, 이에 한정되지 않음은 통상의 기술자가 알 수 있을 것이다. 예를 들어 Triple SHA256도 가능할 것이다.The hash function may be an MD4 function, an MD5 function, a SHA-0 function, a SHA-1 function, a SHA-224 function, A SHA-256 function, an SHA-384 function, a SHA-512 function, and a HAS-160 function. For example, Triple SHA256 would be possible.
이때, 백업지원 서버(300)는 특정 해쉬값과 적어도 하나의 이웃 해쉬값을 소정의 데이터 구조로 저장하여 관리할 수 있다. 여기서, 데이터 구조는 다양할 수 있는데, 일 예로 머클 트리(merkle tree) 구조가 될 수도 있다. 이 경우, 특정 해쉬값과 적어도 하나의 이웃 해쉬값의 연산은 머클 트리(merkle tree)를 통해 이루어질 수 있다.At this time, the backup support server 300 can store and manage a specific hash value and at least one neighbor hash value in a predetermined data structure. Here, the data structure may be various, for example, a merkle tree structure. In this case, the calculation of a particular hash value and at least one neighbor hash value can be done through a merkle tree.
즉, 백업지원 서버(300)는 특정 해쉬값이 특정 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원할 수 있고, 소정의 조건이 만족되면, 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 머클 루트인 대표 해쉬값 또는 대표 해쉬값을 가공한 값을 블록체인 데이터베이스에 등록하거나 등록하도록 지원할 수 있다.That is, the backup support server 300 may support to generate or generate a merkle tree that a particular hash value is assigned to a particular leaf node, and if the predetermined condition is satisfied, It is possible to register or register a value obtained by processing a representative hash value or a representative hash value, which is a merge root generated by computing a hash value assigned to another leaf node, in the block chain database.
좀 더 구체적으로 설명하면, (x1) 백업지원 서버(300)는, (i) 특정 해쉬값과 (ii) 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 연산값에 대한 해쉬값을 노드의 부모 노드에 할당하거나 할당하도록 지원할 수 있다. (x2) 만일, 부모 노드가 머클 트리의 루트 노드이면, 부모 노드에 할당된 해쉬값이 대표 해쉬값이 된다. (x3) 반면, 부모 노드가 머클 트리의 루트 노드가 아니면, 백업지원 서버(300)는, 부모 노드에 할당된 해쉬값을 특정 해쉬값으로 하여 (x1) 내지 (x3)를 반복하여 수행한다.More specifically, (x1) the backup support server 300 supports to calculate or calculate a hash value assigned to (i) a particular hash value and (ii) a sibling node of the node to which the particular hash value is assigned , And to assign or assign a hash value for the operation value to the parent node of the node. (x2) If the parent node is the root node of the merge tree, the hash value assigned to the parent node is the representative hash value. (x3). On the other hand, if the parent node is not the root node of the merge tree, the backup support server 300 repeats (x1) to (x3) with the hash value assigned to the parent node as a specific hash value.
그리고, 백업지원 서버(300)는 최종적으로 머클 트리의 루트 노드에 할당된 해쉬값을 대표 해쉬값으로서 블록체인 데이터베이스에 등록하거나 등록하도록 지원한다. 이때, 대표 해쉬값을 가공한 값이 등록될 수도 있다. 예를 들어, 대표 해쉬값에 hex 연산이 수행된 결과값이 등록될 수도 있다. The backup support server 300 finally supports registration or registration of the hash value assigned to the root node of the merge tree as a representative hash value in the block chain database. At this time, a value obtained by processing the representative hash value may be registered. For example, the result of performing the hex operation on the representative hash value may be registered.
한편, 백업지원 서버(300)가 특정 해쉬값과 적어도 하나의 이웃 해쉬값을 소정의 제1 데이터 구조로 저장하고, 이후 제1 데이터 구조와 동일한 형태의 제2 데이터 구조를 저장하여 관리하는 경우, 제1 데이터 구조와 제2 데이터 구조는 체인 형태로 연결될 수 있다.Meanwhile, when the backup support server 300 stores a specific hash value and at least one neighbor hash value in a predetermined first data structure and then stores and manages a second data structure of the same type as the first data structure, The first data structure and the second data structure may be connected in a chain form.
특히, 상술한 예에서와 같이 제1 데이터 구조 및 제2 데이터 구조가 머클 트리인 경우, 제1 데이터 구조의 루트값 또는 루트값의 해쉬값이 제2 데이터 구조의 첫번째 리프 노드에 할당될 수 있다.In particular, if the first data structure and the second data structure are merc trees as in the above example, the root value of the first data structure or the hash value of the root value may be assigned to the first leaf node of the second data structure .
또한, 제2 데이터 구조를 생성할 때는 제1 데이터 구조에 대한 검증이 이루어짐으로써 데이터 integrity가 좀 더 보장될 수 있다. 제2 데이터 구조의 검증에 대해서는 후술하기로 한다. Further, when the second data structure is generated, verification of the first data structure is performed, so that data integrity can be further ensured. Verification of the second data structure will be described later.
또한, 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫번째 머클 트리의 경우, 첫번째 머클 트리의 첫번째 리프 노드에는 텍스트, 숫자, 또는 기호로 이루어진 소정의 메시지 데이터의 해쉬값 또는 이를 가공한 값이 할당될 수 있다. 예를 들어, 머클 트리 생성시 백업지원 서버(300)에 의해 최초로 부여된 입력 메시지의 해쉬값이 할당될 수 있다. In addition, in the case of the first one of the at least one merch tree connected in a chain form, the first leaf node of the first merch tree may be assigned a hash value or a processed value of predetermined message data composed of text, numbers, or symbols have. For example, a hash value of an input message initially assigned by the backup support server 300 can be allocated when generating a merge tree.
도 10 및 도 11은 본 발명의 일 실시예에 따라 생성된 머클 트리의 예를 도시한 도면이다.10 and 11 are diagrams illustrating examples of a merge tree generated according to an embodiment of the present invention.
도 10에서는 리프 노드의 개수가 4개인 머클 트리가 도시된다. 도시된 머클 트리는 첫번째 머클 트리이기 때문에(tree_id=0), 첫번째 리프 노드인 h0 노드에는 소정의 메시지 데이터의 해쉬값 (sha256(coinplug_unique_message))이 할당되었음을 알 수 있다. 기록 데이터에 대한 등록 요청(즉, 메신저 서비스 송수신 데이터에 관한 기록 요청)이 있는 경우, 백업지원 서버(300)는 현재 구성 중인 머클 트리의 가장 마지막 리프 노드의 다음 리프 노드를 생성하여 특정 해쉬값 또는 특정 해쉬값을 가공한 값을 할당하거나 할당하도록 지원한다. 예를 들어, 도 10의 머클 트리에서 두번째 리프 노드인 h1 노드까지 값 할당이 완료된 상태에서 새로운 리프 노드를 생성하여야 하는 경우, 다음 리프 노드인 h2 노드를 생성하여 특정 해쉬값 또는 특정 해쉬값을 가공한 값(sha256(input2))을 할당할 수 있다. 또한, 백업지원 서버(300)는 (i) h2 노드에 할당된 특정 해쉬값과 (ii) h2 노드의 형제 노드인 h3 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원할 수 있다. 상기 연산값에 대한 해쉬값은 h2 노드와 h3 노드의 부모 노드(h23 노드)에 할당된다. 부모 노드(h23 노드)가 머클 트리의 루트 노드가 아니므로 백업지원 서버(300)는 h23 노드에 할당된 해쉬값을 특정 해쉬값으로 하여 상기 과정을 반복하여 수행할 수 있다. 즉, h23 노드에 할당된 해쉬값을 특정 해쉬값으로 하고, h23 노드에 할당된 해쉬값과 h01 노드에 할당된 해쉬값을 연산하여 h23 노드와 h01 노드의 부모 노드(h0123 노드)에 할당할 수 있다. 이때, h0123 노드가 머클 트리의 루트 노드이므로 백업지원 서버(300)는, h0123 노드에 할당된 해쉬값을 가공한 값(hex(h{node_index}))을 블록체인 데이터베이스(120)에 등록하거나 등록하도록 지원할 수 있다. FIG. 10 shows a merge tree having four leaf nodes. Since the illustrated merge tree is the first merge tree (tree_id = 0), it can be seen that a hash value (sha256 (coinplug_unique_message)) of a predetermined message data is assigned to the first leaf node h0. If there is a registration request for write data (i.e., a write request regarding messenger service send / receive data), the backup support server 300 generates the next leaf node of the last leaf node of the currently configured MUCLIT tree, Supports assignment or assignment of processed values of specific hash values. For example, if a new leaf node is to be created in a state where the value allocation from the merge tree to the h1 node as the second leaf node is completed, the next leaf node h2 is created to process the specific hash value or the specific hash value One value (sha256 (input2)) can be assigned. The backup support server 300 may also support computing or computing (i) a particular hash value assigned to the h2 node and (ii) a hash value assigned to the h3 node, which is a sibling node of the h2 node. The hash value for the computed value is assigned to the h2 node and the parent node (h23 node) of the h3 node. Since the parent node (h23 node) is not the root node of the merge tree, the backup support server 300 can repeat the above process with the hash value assigned to the h23 node as a specific hash value. That is, the hash value assigned to the h23 node is set as a specific hash value, and the hash value assigned to the h23 node and the hash value assigned to the h01 node are calculated and assigned to the h23 node and the parent node (h0123 node) of the h01 node have. At this time, since the h0123 node is the root node of the merge tree, the backup support server 300 registers the value (hex (h {node_index})) obtained by processing the hash value assigned to the node h0123 in the block chain database 120 .
한편, 복수의 트랜잭션이 머클 트리의 리프 노드 수만큼 획득되면 머클 트리를 생성하고, 머클 트리의 루트값을 블록체인 데이터베이스(120)에 등록하거나 등록하도록 지원할 수 있다.On the other hand, if a plurality of transactions are acquired for the leaf nodes of the merge tree, a merge tree can be created, and the root value of the merge tree can be registered or registered in the block chain database 120.
또한, 백업지원 서버(300)는 소정 시간 단위로 전술한 머클 트리의 루트값을 생성할 수 있다(상기 (ii) 조건). 이 경우 백업지원 서버(300)는 소정의 시간이 경과되면 그때까지의 입력값을 이용하여 머클 트리를 생성하고 머클 트리의 루트값을 블록체인 데이터베이스에 등록하거나 등록하도록 지원할 수 있다. In addition, the backup support server 300 can generate the root value of the aforementioned merge tree at predetermined time intervals (condition (ii) above). In this case, the backup support server 300 may generate a merge tree using the input values up to that time, and register the root value of the merge tree in the block chain database or register it.
그런데, 이 경우에는 소정 시간이 경과하였음에도 머클 트리의 특정 해쉬값이 할당된 노드의 형제 노드에 값이 할당되지 않을 수 있다. 이처럼 소정의 조건이 만족되었음에도 특정 해쉬값이 할당된 노드의 형제 노드에 해쉬값이 할당되어 있지 않은 경우, 백업지원 서버(300)는, 형제 노드에 소정의 해쉬값을 할당하거나 할당하도록 지원하여 전술한 방식으로 머클 트리의 루트값이 산출되도록 할 수 있다. 예를 들어, 백업지원 서버(300)는 특정 해쉬값을 복제하여 형제 노드에 할당하거나 할당하도록 지원할 수 있다.In this case, although a predetermined time has elapsed, a value may not be assigned to a sibling node of a node to which a particular hash value of the merge tree is assigned. If the hash value is not allocated to the sibling node of the node to which the specific hash value is allocated even though the predetermined condition is satisfied, the backup support server 300 supports to assign or assign a predetermined hash value to the sibling node, The route value of the merge tree can be calculated in one way. For example, the backup support server 300 may support copying and assigning or assigning a particular hash value to a sibling node.
한편, 새로운 머클 트리 생성이 시작되고, 트랜잭션이 없는 상태에서 소정의 조건이 만족되면, 백업지원 서버(300)는, 소정의 메시지 데이터가 첫번째 리프 노드와 두번째 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 머클 트리의 루트값 또는 이를 가공한 값을 블록체인 데이터베이스에 등록하거나 등록하도록 지원할 수 있다. 이 경우에는 리프 노드 2개짜리 머클 트리가 생성될 수도 있는 것이다.On the other hand, when a new merge tree creation is started and a predetermined condition is satisfied in the absence of a transaction, the backup support server 300 generates a merge tree in which predetermined message data is allocated to the first leaf node and the second leaf node And support to register or register the root value of the merge tree or the processed value in the block chain database. In this case, a merge tree with two leaf nodes may be created.
한편, 전술한 것처럼 백업지원 서버(300)가 특정 해쉬값과 적어도 하나의 이웃 해쉬값을 소정의 제1 데이터 구조로 저장하고, 이후 제1 데이터 구조와 동일한 형태의 제2 데이터 구조를 저장하여 관리하는 경우, 제1 데이터 구조와 제2 데이터 구조는 체인 형태로 연결될 수 있다. 특히, 제1 데이터 구조 및 제2 데이터 구조가 머클 트리인 경우, 제1 데이터 구조의 루트값 또는 루트값의 해쉬값이 제2 데이터 구조의 첫번째 리프 노드에 할당될 수 있다.Meanwhile, as described above, the backup support server 300 stores a specific hash value and at least one neighbor hash value in a predetermined first data structure, stores the second data structure in the same form as the first data structure, , The first data structure and the second data structure may be connected in a chain form. In particular, if the first data structure and the second data structure are merc trees, the root value of the first data structure or the hash value of the root value may be assigned to the first leaf node of the second data structure.
도 11은 본 발명의 일 실시예에 따라 제2 데이터 구조로서 생성된 머클 트리를 도시한 도면이다.11 is a diagram illustrating a merge tree generated as a second data structure according to an embodiment of the present invention.
도 11을 참조하면, 도 10의 머클 트리(tree_id=0)의 루트값(hex(h0123))이 새로운 머클 트리의 첫번째 리프 노드(h4 노드)에 할당되었음을 알 수 있다(sha256(input4)). 본 발명은 이와 같이 트랜잭션 발생시 생성되는 복수의 데이터 구조를 연결함으로써 중간에 데이터가 변조가 발생되는 경우라도 쉽게 트래킹이 가능하여 데이터 integrity를 향상시키는 장점을 가진다.11, it can be seen that the root value (hex (h0123)) of the merge tree (tree_id = 0) of Fig. 10 is assigned to the first leaf node (h4 node) of the new merge tree (sha256 (input4)). The present invention has an advantage of improving data integrity by enabling easy tracking even when data is modulated in the middle by connecting a plurality of data structures generated at the time of occurrence of a transaction.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The embodiments of the present invention described above can be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program commands, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer-readable recording medium may be those specially designed and constructed for the present invention or may be those known and used by those skilled in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules for performing the processing according to the present invention, and vice versa.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, Those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be construed as being limited to the above-described embodiments, and all of the equivalents or equivalents of the claims, as well as the following claims, I will say.
100: 단말 장치,
101: 통신부,
102: 프로세서,
103: 전자 지갑 앱,
104: 전자 지갑 애플릿
200: 사용자
300: 백업지원 서버
400; 암호 화폐 네트워크100: terminal device,
101:
102: processor,
103: Wallet app,
104: Electronic wallet applet
200: User
300: Backup Support Server
400; Password Money Network
Claims (28)
(a) 사용자에 의한 상기 암호 화폐에 대한 전자 지갑 생성 요청이 획득되면, 사용자 단말이, 전자 지갑 앱으로 하여금 전자 지갑을 생성하도록 하며, SE에 설치되어 상기 전자 지갑에 연동되는 전자 지갑 애플릿으로 키 페어 생성을 요청하도록 하고, 상기 전자 지갑 애플릿으로 하여금 상기 키 페어를 생성하여 상기 SE에 저장하도록 하며, 상기 키 페어 중 퍼블릭 키를 상기 전자 지갑 앱으로 전달하도록 하는 단계; 및
(b) 상기 전자 지갑 앱으로 상기 퍼블릭 키가 전달되면, 상기 사용자 단말이, 상기 퍼블릭 키를 저장하는 단계;
를 포함하는 방법.A method for generating an electronic purse of a cryptographic currency,
(a) when a request for creating an electronic wallet for the cryptograph is obtained by a user, the user terminal causes the electronic wallet app to generate an electronic wallet, and the electronic wallet applet installed in the SE, Requesting generation of a pair, causing the electronic wallet applet to generate the key pair and store the key pair in the SE, and to transfer the public key of the key pair to the electronic wallet app; And
(b) when the public key is transferred to the electronic wallet app, the user terminal stores the public key;
≪ / RTI >
상기 (b) 단계에서,
상기 사용자 단말이, 상기 퍼블릭 키를 저장함과 별도로,
(b1) 상기 사용자 단말이, 전자 지갑 앱으로 하여금 상기 퍼블릭 키를 포함하는 프라이빗 키 백업 요청을 백업지원 서버로 전송하도록 함으로써, 상기 백업지원 서버로 하여금 상기 사용자의 개인정보로 난수 및 상기 사용자에 대응하는 개인식별값을 암호화한 제1 세션 키를 생성하도록 하고 상기 퍼블릭 키로 상기 난수 및 개인식별값을 암호화한 세션 데이터를 생성하도록 하며 상기 세션 데이터를 상기 사용자 단말의 상기 전자 지갑 앱에게 전송하도록 하는 단계;
(b2) 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 SE에 설치된 전자 지갑 애플릿으로 상기 세션 데이터를 전달하도록 하고, 상기 전자 지갑 애플릿으로 하여금 상기 SE에 저장된 상기 퍼블릭 키를 이용하여 상기 세션 데이터를 복호화하여 상기 난수 및 상기 개인식별값을 획득하도록 하며, 상기 전자 지갑 애플릿으로 하여금 상기 세션 데이터로부터 획득된 상기 난수 및 상기 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 제2 세션 키를 생성하도록 하고, 상기 제2 세션 키를 이용하여 상기 프라이빗 키를 암호화하도록 하며, 암호화된 프라이빗 키를 상기 전자 지갑 앱으로 전달하도록 하는 단계; 및
(b3) 상기 전자 지갑 앱으로 상기 암호화된 프라이빗 키가 전달되면, 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 암호화된 프라이빗 키를 상기 백업지원 서버로 전달하도록 하여, 상기 백업지원 서버로 하여금 상기 제1 세션 키를 이용하여 상기 암호화된 프라이빗 키를 복호화하여 상기 프라이빗 키를 획득하도록 하며, 개별 관리키를 이용하여 상기 프라이빗 키와 상기 퍼블릭 키를 암호화한 암호화 키를 생성하며, 상기 생성된 암호화 키를 상기 개인식별값과 매칭하여 관리하도록 하는 단계;
를 수행하는 것을 특징으로 하는 방법.The method according to claim 1,
In the step (b)
The user terminal may store the public key,
(b1) allowing the user terminal to transmit a private key backup request including the public key to an electronic wallet application to a backup support server, thereby causing the backup support server to transmit a random number to the user's personal information, And generating session data in which the random number and the personal identification value are encrypted with the public key, and transmitting the session data to the electronic wallet app of the user terminal ;
(b2) the user terminal causes the electronic wallet application to transmit the session data to an electronic wallet applet installed in the SE, and causes the electronic wallet applet to transmit the session data using the public key stored in the SE Decrypts and obtains the random number and the personal identification value, and generates a second session key in which the electronic wallet applet encrypts the random number and the personal identification value obtained from the session data using the personal information of the user Allowing the private key to be encrypted using the second session key, and transmitting the encrypted private key to the electronic wallet app; And
(b3) when the encrypted private key is transferred to the electronic wallet app, the user terminal causes the electronic wallet app to transmit the encrypted private key to the backup support server, Decrypting the encrypted private key using the first session key to obtain the private key, generating an encryption key obtained by encrypting the private key and the public key using the individual management key, With the personal identification value;
≪ / RTI >
(c) 상기 사용자에 의한 상기 암호 화폐의 상기 전자 지갑 복구 요청이 획득되면, 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 백업지원 서버로 상기 사용자의 상기 프라이빗 키 복구 요청을 하도록 함으로써, 상기 백업지원 서버로 하여금 상기 개인식별값과 매칭되는 상기 암호화 키를 획득하도록 하며, 상기 개별 관리키를 이용하여 상기 암호화 키를 복호화하여 상기 퍼블릭 키 및 상기 프라이빗 키를 획득하도록 하고, 상기 사용자의 개인정보로 난수 및 개인식별값을 암호화한 상기 제1 세션 키를 생성하도록 하며, 상기 제1 세션 키로 상기 프라이빗 키를 암호화하도록 하고, 상기 암호화된 프라이빗 키, 상기 난수 및 상기 개인식별값을 상기 전자 지갑 앱으로 전송하도록 하는 단계; 및
(d) 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 전자 지갑 애플릿으로 상기 암호화된 프라이빗 키, 상기 난수 및 개인식별값을 전달하게 하고, 상기 전자 지갑 애플릿으로 하여금 상기 난수 및 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 상기 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 암호화된 프라이빗 키를 복호화하여 상기 프라이빗 키를 획득하도록 하고, 획득된 상기 프라이빗 키를 상기 SE에 저장하도록 하는 단계를 더 포함하는 것을 특징으로 하는 방법.3. The method of claim 2,
(c) when the electronic wallet restoration request of the cipher is obtained by the user, the user terminal causes the electronic wallet app to request the user to restore the private key to the backup support server, The support server acquires the encryption key that matches the personal identification value, decrypts the encryption key using the individual management key to acquire the public key and the private key, The random number and the personal identification value, encrypts the private key with the first session key, and transmits the encrypted private key, the random number, and the personal identification value to the electronic wallet app ; And
(d) causing the electronic terminal to transmit the encrypted private key, the random number and the personal identification value to the electronic wallet applet by the user terminal, and causing the electronic wallet applet to transmit the random number and the personal identification value to the electronic wallet applet The second session key is encrypted using the private information of the user, the encrypted private key is decrypted using the second session key to acquire the private key, and the obtained private key is stored in the SE Gt; of: < / RTI >
(c) 상기 사용자에 의한 상기 암호 화폐의 상기 전자 지갑 복구 요청이 획득되면, 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 백업지원 서버로 상기 사용자의 상기 프라이빗 키 및 퍼블릭 키 복구 요청을 하도록 하게 함으로써, 상기 백업지원 서버로 하여금 상기 개인식별값과 매칭되는 상기 암호화 키를 획득하도록 하며, 상기 개별 관리키를 이용하여 상기 암호화 키를 복호화하여 상기 프라이빗 키 및 상기 퍼블릭 키를 획득하도록 하고, 상기 사용자의 개인정보로 난수 및 개인식별값을 암호화한 상기 제1 세션 키를 생성하도록 하며, 상기 제1 세션 키로 상기 프라이빗 키 및 퍼블릭 키를 암호화하도록 하고, 상기 암호화된 프라이빗 키 및 퍼블릭 키, 상기 난수 및 상기 개인식별값을 상기 전자 지갑 앱으로 전송하도록 하는 단계; 및
(d) 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 전자 지갑 애플릿으로 상기 암호화된 프라이빗 키 및 퍼블릭 키, 상기 난수 및 상기 개인식별값을 전달하게 하고, 상기 전자 지갑 애플릿으로 하여금 상기 난수 및 상기 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 상기 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 암호화된 프라이빗 키 및 퍼블릭 키를 복호화하여 상기 프라이빗 키 및 퍼블릭 키를 획득하도록 하고, 획득된 상기 프라이빗 키 및 퍼블릭 키를 상기 SE에 저장하고 상기 퍼블릭 키를 상기 전자 지갑 앱에 전달하도록 하는 단계를 더 포함하는 것을 특징으로 하는 방법.3. The method of claim 2,
(c) when the electronic wallet recovery request of the cipher money by the user is obtained, the user terminal causes the electronic wallet app to request the backup support server of the user for the private key and the public key recovery request Thereby allowing the backup support server to obtain the encryption key that matches the personal identification value and to decrypt the encryption key using the individual management key to obtain the private key and the public key, Wherein the first session key is generated by encrypting a random number and a personal identification value with personal information of the private key and the public key, and the private key and the public key are encrypted with the first session key, Sending the personal identification value to the electronic wallet app; And
(d) causing the user terminal to cause the electronic wallet app to transmit the encrypted private key and the public key, the random number and the personal identification value to the electronic wallet applet, and cause the electronic wallet applet to transmit the random number and the The second session key is generated by encrypting the personal identification value using the personal information of the user and the encrypted private key and the public key are decrypted using the second session key to acquire the private key and the public key And storing the obtained private key and the public key in the SE and transmitting the public key to the electronic wallet app.
상기 백업지원 서버는 블록 체인인 것을 특징으로 하는 방법.3. The method of claim 2,
Wherein the backup support server is a block chain.
상기 SE는 상기 사용자 단말의 하드 영역에 있는 SE, SIM에 형성되어 있는 SE, 상기 사용자 단말의 내장 eSE, 상기 사용자 단말의 내장 메모리 내에 형성된 SE, 외장 메모리 내에 형성된 SE 및 외부 IC 카드에 형성된 SE 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.The method according to claim 1,
The SE may be an SE in a hard area of the user terminal, an SE formed in a SIM, an embedded eSE of the user terminal, an SE formed in an internal memory of the user terminal, an SE formed in an external memory, RTI ID = 0.0 > 1, < / RTI >
상기 SE가 상기 외부 IC 카드에 형성된 경우, 상기 사용자 단말은 상기 외부 IC 카드와 NFC 통신으로 연결되어 상기 전자 지갑 앱과 상기 전자 지갑 애플릿이 통신하는 것을 특징으로 하는 방법.The method according to claim 6,
Wherein when the SE is formed on the external IC card, the user terminal is connected to the external IC card by NFC communication so that the electronic wallet app communicates with the electronic wallet applet.
(e) 상기 사용자에 의한 상기 암호 화폐에 대한 잔액 확인 요청이 획득되면, 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 사용자의 전자 지갑에 해당하는 암호 화폐의 잔액 확인 트랜잭션을 생성하여, 상기 잔액 확인 트랜잭션과 상기 퍼블릭 키를 암호 화폐 네트워크로 전달하도록 하는 단계; 및
(f) 상기 암호 화폐 네트워크로부터 상기 잔액 확인 요청에 대한 확인 결과가 전달되면, 상기 사용자 단말기는, 상기 전자 지갑 앱으로 하여금 잔액 확인 결과를 표시하도록 하는 단계
를 포함하는 것을 특징으로 하는 방법.The method according to claim 1,
(e) when the balance confirmation request for the cipher money by the user is obtained, the user terminal generates the balance confirmation transaction of the cipher currency corresponding to the electronic wallet of the user in the electronic wallet app, Transferring the confirmation transaction and the public key to a cryptographic network; And
(f) if the confirmation result of the balance confirmation request is transmitted from the cryptographic network, the user terminal causes the electronic wallet app to display a balance confirmation result
≪ / RTI >
(g) 상기 사용자에 의한 상기 암호 화폐에 대한 송금 요청이 획득되면, 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 송금할 주소 및 금액을 포함하는 상기 사용자의 전자 지갑에 해당하는 암호 화폐의 송금 요청 트랜잭션을 생성하여 암호 화폐 네트워크로 전달하도록 하는 단계; 및
(h) 상기 암호 화폐 네트워크로부터 상기 송금 요청 요청에 대한 송금 결과가 전달되면, 상기 사용자 단말기는, 상기 전자 지갑 앱으로 하여금 송금 결과 및 상기 전자 지갑의 잔액을 표시하도록 하는 단계
를 포함하는 것을 특징으로 하는 방법.The method according to claim 1,
(g) receiving a remittance request for the cryptogram by the user, the user terminal sends a remittance request for a cryptogram corresponding to the user's electronic wallet including an address and an amount to be remitted to the electronic wallet app Generating a transaction and transferring the transaction to a cryptographic network; And
(h) when the remittance result for the remittance request is transferred from the cryptographic network, the user terminal causes the electronic wallet app to display the remittance result and the balance of the electronic wallet
≪ / RTI >
(a) 사용자 단말에 퍼블릭 키가 저장되어 있으며, SE에 상기 퍼블릭 키와 프라이빗 키를 포함하는 키 페어가 저장된 상태에서, 사용자에 의한 상기 암호 화폐의 전자 지갑 백업 요청이 획득되면, 상기 사용자 단말이, 전자 지갑 앱으로 하여금 상기 퍼블릭 키를 포함하는 프라이빗 키 백업 요청을 백업지원 서버로 전송하도록 함으로써, 상기 백업지원 서버로 하여금 상기 사용자의 개인정보로 난수 및 상기 사용자에 대응하는 개인식별값을 암호화한 제1 세션 키를 생성하도록 하고 상기 퍼블릭 키로 상기 난수 및 상기 개인식별값을 암호화한 세션 데이터를 생성하도록 하며 상기 세션 데이터를 상기 사용자 단말의 상기 전자 지갑 앱에게 전송하도록 하는 단계;
(b) 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 SE에 설치된 전자 지갑 애플릿으로 상기 세션 데이터를 전달하도록 하고, 상기 전자 지갑 애플릿으로 하여금 상기 SE에 저장된 상기 퍼블릭 키를 이용하여 상기 세션 데이터를 복호화하여 상기 난수 및 상기 개인식별값을 획득하도록 하며, 상기 전자 지갑 애플릿으로 하여금 상기 세션 데이터로부터 획득된 상기 난수 및 상기 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 프라이빗 키를 암호화하도록 하며, 암호화된 프라이빗 키를 상기 전자 지갑 앱으로 전달하도록 하는 단계; 및
(c) 상기 전자 지갑 앱으로 상기 암호화된 프라이빗 키가 전달되면, 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 암호화된 프라이빗 키를 상기 백업지원 서버로 전달하도록 하여, 상기 백업지원 서버로 하여금 상기 제1 세션 키를 이용하여 상기 암호화된 프라이빗 키를 복호화하여 상기 프라이빗 키를 획득하도록 하며, 개별 관리키를 이용하여 상기 프라이빗 키와 상기 퍼블릭 키를 암호화한 암호화 키를 생성하며, 상기 생성된 암호화 키를 상기 개인식별값과 매칭하여 관리하는 단계;
를 포함하는 것을 특징으로 하는 방법.In an electronic wallet backup method of a password,
(a) if a public key is stored in the user terminal, and a key pair including the public key and the private key is stored in the SE, if the electronic wallet backup request of the password is obtained by the user, And causing the electronic wallet app to transmit a private key backup request including the public key to the backup support server so that the backup support server encrypts the random number and the personal identification value corresponding to the user with the personal information of the user Generating a first session key, generating session data in which the random number and the personal identification value are encrypted with the public key, and transmitting the session data to the electronic wallet app of the user terminal;
(b) the user terminal causes the electronic wallet application to transmit the session data to an electronic wallet applet installed in the SE, and causes the electronic wallet applet to transmit the session data using the public key stored in the SE Decrypts and obtains the random number and the personal identification value, and generates a second session key in which the electronic wallet applet encrypts the random number and the personal identification value obtained from the session data using the personal information of the user Allowing the private key to be encrypted using the second session key, and delivering the encrypted private key to the electronic wallet app; And
(c) when the encrypted private key is transferred to the electronic wallet app, the user terminal causes the electronic wallet application to transmit the encrypted private key to the backup support server, Decrypting the encrypted private key using the first session key to obtain the private key, generating an encryption key obtained by encrypting the private key and the public key using the individual management key, Matching with the personal identification value and managing the personal identification value;
≪ / RTI >
(d) 상기 사용자에 의한 상기 암호 화폐의 상기 전자 지갑 복구 요청이 획득되면, 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 백업지원 서버로 상기 사용자의 상기 프라이빗 키 복구 요청을 하도록 하게 함으로써, 상기 백업지원 서버로 하여금 상기 개인식별값과 매칭되는 상기 암호화 키를 획득하도록 하며, 상기 개별 관리키를 이용하여 상기 암호화 키를 복호화하여 상기 퍼블릭 키 및 상기 프라이빗 키를 획득하도록 하고, 상기 사용자의 개인정보로 난수 및 개인식별값을 암호화한 상기 제1 세션 키를 생성하도록 하며, 상기 제1 세션 키로 상기 프라이빗 키를 암호화하도록 하고, 상기 암호화된 프라이빗 키, 상기 난수 및 상기 개인식별값을 상기 전자 지갑 앱으로 전송하도록 하는 단계; 및
(e) 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 전자 지갑 애플릿으로 상기 암호화된 프라이빗 키, 상기 난수 및 상기 개인식별값을 전달하게 하고, 상기 전자 지갑 애플릿으로 하여금 상기 난수 및 상기 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 상기 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 암호화된 프라이빗 키를 복호화하여 상기 프라이빗 키를 획득하도록 하고, 획득된 상기 프라이빗 키를 상기 SE에 저장하도록 하는 단계를 더 포함하는 것을 특징으로 하는 방법.11. The method of claim 10,
(d) when the electronic wallet restoration request of the cipher money is obtained by the user, the user terminal causes the electronic wallet app to cause the backup support server to request the user to restore the private key, The backup support server acquires the encryption key that matches the personal identification value, decrypts the encryption key using the individual management key to acquire the public key and the private key, The random number and the personal identification value, encrypts the private key with the first session key, and transmits the encrypted private key, the random number, and the personal identification value to the electronic wallet application ; And
(e) causing the user terminal to cause the electronic wallet app to transfer the encrypted private key, the random number and the personal identification value to the electronic wallet applet, and cause the electronic wallet applet to transmit the random number and the individual identification value The second session key is encrypted using the private information of the user, and the encrypted private key is decrypted using the second session key to obtain the private key, and the obtained private key is decrypted To be stored in the SE.
(d) 상기 사용자에 의한 상기 암호 화폐의 상기 전자 지갑 복구 요청이 획득되면, 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 백업지원 서버로 상기 사용자의 상기 프라이빗 키 및 퍼블릭 키 복구 요청을 하도록 하게 함으로써, 상기 백업지원 서버로 하여금 상기 개인식별값과 매칭되는 상기 암호화 키를 획득하도록 하며, 상기 개별 관리키를 이용하여 상기 암호화 키를 복호화하여 상기 프라이빗 키 및 상기 퍼블릭 키를 획득하도록 하고, 상기 사용자의 개인정보로 난수 및 개인식별값을 암호화한 상기 제1 세션 키를 생성하도록 하며, 상기 제1 세션 키로 상기 프라이빗 키 및 퍼블릭 키를 암호화하도록 하고, 상기 암호화된 프라이빗 키 및 퍼블릭 키, 상기 난수 및 상기 개인식별값을 상기 전자 지갑 앱으로 전송하도록 하는 단계; 및
(e) 상기 사용자 단말이, 상기 전자 지갑 앱으로 하여금 상기 전자 지갑 애플릿으로 상기 암호화된 프라이빗 키 및 퍼블릭 키, 상기 난수 및 상기 개인식별값을 전달하게 하고, 상기 전자 지갑 애플릿으로 하여금 상기 난수 및 상기 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 상기 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 암호화된 프라이빗 키 및 퍼블릭 키를 복호화하여 상기 프라이빗 키 및 퍼블릭 키를 획득하도록 하고, 획득된 상기 프라이빗 키 및 퍼블릭 키를 상기 SE에 저장하고 상기 퍼블릭 키를 상기 전자 지갑 앱에 전달하도록 하는 단계를 더 포함하는 것을 특징으로 하는 방법.11. The method of claim 10,
(d) when the electronic wallet restoration request of the cipher money is obtained by the user, the user terminal causes the electronic wallet app to cause the backup support server to request the user to restore the private key and the public key Thereby allowing the backup support server to obtain the encryption key that matches the personal identification value and to decrypt the encryption key using the individual management key to obtain the private key and the public key, Wherein the first session key is generated by encrypting a random number and a personal identification value with personal information of the private key and the public key, and the private key and the public key are encrypted with the first session key, Sending the personal identification value to the electronic wallet app; And
(e) causing the user terminal to cause the electronic wallet app to transmit the encrypted private key and the public key, the random number and the personal identification value to the electronic wallet applet, and cause the electronic wallet applet to transmit the random number and the The second session key is generated by encrypting the personal identification value using the personal information of the user and the encrypted private key and the public key are decrypted using the second session key to acquire the private key and the public key And storing the obtained private key and the public key in the SE and transmitting the public key to the electronic wallet app.
(a) 사용자 단말에 퍼블릭 키가 저장되어 있으며, SE에 상기 퍼블릭 키와 프라이빗 키를 포함하는 키 페어가 저장된 상태에서, 사용자에 의한 상기 암호 화폐의 전자 지갑 백업 요청에 응답하여 상기 사용자 단말의 전자 지갑 앱으로부터 상기 퍼블릭 키를 포함하는 프라이빗 키 백업 요청이 전송되면, 백업지원 서버가, 상기 사용자의 개인정보로 난수 및 상기 사용자에 대응하는 개인식별값을 암호화한 제1 세션 키를 생성하도록 하고 상기 퍼블릭 키로 상기 난수 및 개인식별값을 암호화한 세션 데이터를 생성하며 상기 세션 데이터를 상기 사용자 단말의 상기 전자 지갑 앱에게 전송하는 단계;
(b) 상기 백업지원 서버가, 상기 사용자 단말의 상기 전자 지갑 앱으로 하여금 상기 SE에 설치된 전자 지갑 애플릿으로 상기 세션 데이터를 전달하도록 하고, 상기 전자 지갑 애플릿으로 하여금 상기 SE에 저장된 상기 퍼블릭 키를 이용하여 상기 세션 데이터를 복호화하여 상기 난수 및 개인식별값을 획득하도록 하며, 상기 전자 지갑 애플릿으로 하여금 세션 데이터로부터 획득된 상기 난수 및 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 프라이빗 키를 암호화하도록 하며, 암호화된 프라이빗 키를 상기 전자 지갑 앱으로 전달하도록 하는 단계; 및
(c) 상기 전자 지갑 앱으로 상기 암호화된 프라이빗 키가 전달되면, 상기 백업지원 서버가, 상기 사용자 단말의 상기 전자 지갑 앱으로 하여금 상기 암호화된 프라이빗 키를 상기 백업지원 서버로 전달하도록 하고, 상기 백업지원 서버는, 상기 제1 세션 키를 이용하여 상기 암호화된 프라이빗 키를 복호화하여 상기 프라이빗 키를 획득하며, 개별 관리키를 이용하여 상기 프라이빗 키와 상기 퍼블릭 키를 암호화한 암호화 키를 생성하며, 상기 생성된 암호화 키를 상기 개인식별값과 매칭하여 관리하는 단계;
를 포함하는 것을 특징으로 하는 방법.In an electronic wallet backup method of a password,
(a) a public key is stored in a user terminal, and in a state where a key pair including the public key and the private key is stored in the SE, in response to an electronic wallet backup request by the user, When a private key backup request including the public key is transmitted from the wallet app, the backup support server generates a first session key in which a random number and a personal identification value corresponding to the user are encrypted with the personal information of the user, Generating session data in which the random number and the personal identification value are encrypted with a public key, and transmitting the session data to the electronic wallet app of the user terminal;
(b) the backup support server causes the electronic wallet app of the user terminal to transfer the session data to an electronic wallet applet installed in the SE, and causes the electronic wallet applet to use the public key stored in the SE A second session key that is obtained by encrypting the random number and the personal identification value obtained from the session data with the personal information of the user by decoding the session data to obtain the random number and the individual identification value, To encrypt the private key using the second session key, and to forward the encrypted private key to the electronic wallet app; And
(c) when the encrypted private key is transferred to the electronic wallet app, the backup support server causes the electronic wallet app of the user terminal to transfer the encrypted private key to the backup support server, The support server obtains the private key by decrypting the encrypted private key using the first session key, generates an encryption key by encrypting the private key and the public key using the individual management key, Managing the generated encryption key by matching with the personal identification value;
≪ / RTI >
(d) 상기 사용자에 의한 상기 암호 화폐의 상기 전자 지갑 복구 요청에 응답하여, 상기 사용자 단말의 상기 전자 지갑 앱으로부터 상기 사용자의 상기 프라이빗 키 복구 요청이 전송되면, 상기 백업지원 서버가, 상기 개인식별값과 매칭되는 상기 암호화 키를 획득하며, 상기 개별 관리키를 이용하여 상기 암호화 키를 복호화하여 상기 퍼블릭 키 및 상기 프라이빗 키를 획득하고, 상기 사용자의 개인정보로 난수 및 개인식별값을 암호화한 상기 제1 세션 키를 생성하며, 상기 제1 세션 키로 상기 프라이빗 키를 암호화하고, 상기 암호화된 프라이빗 키, 상기 난수 및 상기 개인식별값을 상기 전자 지갑 앱으로 전송하는 단계; 및
(e) 상기 백업지원 서버가, 상기 사용자 단말의 상기 전자 지갑 앱으로 하여금 상기 전자 지갑 애플릿으로 상기 암호화된 프라이빗 키, 상기 난수 및 상기 개인식별값을 전달하게 하고, 상기 전자 지갑 애플릿으로 하여금 상기 난수 및 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 상기 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 암호화된 프라이빗 키를 복호화하여 상기 프라이빗 키를 획득하도록 하고, 획득된 상기 프라이빗 키를 상기 SE에 저장하도록 하는 단계를 더 포함하는 것을 특징으로 하는 방법.14. The method of claim 13,
(d) in response to the electronic wallet recovery request of the cipher by the user, when the private key recovery request of the user is transmitted from the electronic wallet app of the user terminal, And decrypting the encryption key using the individual management key to obtain the public key and the private key, encrypting the random number and the individual identification value with the personal information of the user, Generating a first session key, encrypting the private key with the first session key, transmitting the encrypted private key, the random number, and the personal identification value to the electronic wallet app; And
(e) causing the backup support server to cause the electronic wallet app of the user terminal to transfer the encrypted private key, the random number and the personal identification value to the electronic wallet applet, and cause the electronic wallet applet to transmit the random number And generating the second session key in which the personal identification value is encrypted using the personal information of the user, decrypting the encrypted private key using the second session key to obtain the private key, Further comprising storing the private key in the SE.
(d) 상기 사용자에 의한 상기 암호 화폐의 상기 전자 지갑 복구 요청에 응답하여, 상기 사용자 단말의 상기 전자 지갑 앱으로부터 상기 사용자의 상기 프라이빗 키 복구 요청이 전송되면, 상기 백업지원 서버가, 상기 개인식별값과 매칭되는 상기 암호화 키를 획득하며, 상기 개별 관리키를 이용하여 상기 암호화 키를 복호화하여 상기 프라이빗 키 및 상기 퍼블릭 키를 획득하고, 상기 사용자의 개인정보로 난수 및 개인식별값을 암호화한 상기 제1 세션 키를 생성하며, 상기 제1 세션 키로 상기 프라이빗 키 및 퍼블릭 키를 암호화하고, 상기 암호화된 프라이빗 키 및 퍼블릭 키, 상기 난수 및 상기 개인식별값을 상기 전자 지갑 앱으로 전송하는 단계; 및
(e) 상기 백업지원 서버가, 상기 사용자 단말의 상기 전자 지갑 앱으로 하여금 상기 전자 지갑 애플릿으로 상기 암호화된 프라이빗 키 및 퍼블릭 키, 상기 난수 및 상기 개인식별값을 전달하게 하고, 상기 전자 지갑 애플릿으로 하여금 상기 난수 및 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 상기 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 암호화된 프라이빗 키 및 퍼블릭 키를 복호화하여 상기 프라이빗 키 및 퍼블릭 키를 획득하도록 하고, 획득된 상기 프라이빗 키 및 퍼블릭 키를 상기 SE에 저장하고 상기 퍼블릭 키를 상기 전자 지갑 앱에 전달하도록 하는 단계를 더 포함하는 것을 특징으로 하는 방법.14. The method of claim 13,
(d) in response to the electronic wallet recovery request of the cipher by the user, when the private key recovery request of the user is transmitted from the electronic wallet app of the user terminal, And decrypting the encryption key using the individual management key to obtain the private key and the public key, encrypting the random number and the individual identification value with the personal information of the user, Generating a first session key, encrypting the private key and the public key with the first session key, transmitting the encrypted private key, the public key, the random number, and the personal identification value to the electronic wallet app; And
(e) causing the backup support server to cause the electronic wallet app of the user terminal to transfer the encrypted private key and the public key, the random number, and the personal identification value to the electronic wallet applet, And generates the second session key by encrypting the random number and the personal identification value using the personal information of the user, decrypts the encrypted private key and the public key using the second session key, Allowing the public key to be obtained, storing the obtained private key and the public key in the SE, and delivering the public key to the electronic wallet app.
사용자에 의한 상기 암호 화폐에 대한 전자 지갑 생성 요청을 획득하기 위한 통신부; 및
1) 상기 통신부를 통해 획득된 상기 전자 지갑 생성 요청이 획득되면, 전자 지갑 앱으로 하여금 전자 지갑을 생성하도록 하며, SE에 설치되어 상기 전자 지갑에 연동되는 전자 지갑 애플릿으로 키 페어 생성을 요청하도록 하고, 상기 전자 지갑 애플릿으로 하여금 상기 키 페어를 생성하여 상기 SE에 저장하도록 하며, 상기 키 페어 중 퍼블릭 키를 상기 전자 지갑 앱으로 전달하도록 지원하는 프로세스; 및 2) 상기 전자 지갑 앱으로 상기 퍼블릭 키가 전달되면, 상기 퍼블릭 키를 상기 전자 지갑 앱에 저장하도록 지원하는 프로세스를 수행하는 프로세서;
를 포함하는 단말 장치.A terminal apparatus for creating and managing an electronic wallet of a coded money,
A communication unit for obtaining an electronic purse creation request for the cipher money by a user; And
1) When the electronic wallet creation request acquired through the communication unit is acquired, the electronic wallet app is caused to generate an electronic wallet, and the electronic wallet application installed in the SE is requested to generate a key pair with an electronic wallet applet interlocked with the electronic wallet , Causing the electronic wallet applet to generate the key pair and store the key pair in the SE, and to support transfer of the public key of the key pair to the electronic wallet app; And 2) a process of supporting, when the public key is transferred to the electronic wallet app, storing the public key in the electronic wallet app;
.
상기 프로세서는, 3) 상기 퍼블릭 키를 저장함과 별도로, 전자 지갑 앱으로 하여금 상기 퍼블릭 키를 포함하는 프라이빗 키 백업 요청을 백업지원 서버로 전송하도록 함으로써, 상기 백업지원 서버로 하여금 상기 사용자의 개인정보로 난수 및 상기 사용자에 대응하는 개인식별값을 암호화한 제1 세션 키를 생성하도록 하고 상기 퍼블릭 키로 상기 난수 및 개인식별값을 암호화한 세션 데이터를 생성하도록 하며 상기 세션 데이터를 상기 단말 장치의 상기 전자 지갑 앱에게 전송하도록 지원하는 프로세스; 4) 상기 전자 지갑 앱으로 하여금 상기 SE에 설치된 전자 지갑 애플릿으로 상기 세션 데이터를 전달하도록 하고, 상기 전자 지갑 애플릿으로 하여금 상기 SE에 저장된 상기 퍼블릭 키를 이용하여 상기 세션 데이터를 복호화하여 상기 난수 및 상기 개인식별값을 획득하도록 하며, 상기 전자 지갑 애플릿으로 하여금 상기 세션 데이터로부터 획득된 상기 난수 및 상기 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 제2 세션 키를 생성하도록 하고, 상기 제2 세션 키를 이용하여 상기 프라이빗 키를 암호화하도록 하며, 암호화된 프라이빗 키를 상기 전자 지갑 앱으로 전달하도록 지원하는 프로세스; 및 5) 상기 전자 지갑 앱으로 상기 암호화된 프라이빗 키가 전달되면, 상기 전자 지갑 앱으로 하여금 상기 암호화된 프라이빗 키를 상기 백업지원 서버로 전달하도록 하여, 상기 백업지원 서버로 하여금 상기 제1 세션 키를 이용하여 상기 암호화된 프라이빗 키를 복호화하여 상기 프라이빗 키를 획득하도록 하며, 개별 관리키를 이용하여 상기 프라이빗 키와 상기 퍼블릭 키를 암호화한 암호화 키를 생성하며, 상기 생성된 암호화 키를 상기 개인식별값과 매칭하여 관리하도록 지원하는 프로세스;
를 수행하는 것을 특징으로 하는 단말 장치.17. The method of claim 16,
3) The electronic wallet app sends the private key backup request including the public key to the backup support server separately from the public key storage, thereby allowing the backup support server to transmit the private key to the backup support server, And generating a first session key by encrypting a random number and a personal identification value corresponding to the user, generating session data obtained by encrypting the random number and the personal identification value with the public key, and transmitting the session data to the electronic purse The process of supporting the transfer to the app; 4) causing the electronic wallet app to transfer the session data to an electronic wallet applet installed in the SE, and decrypting the session data using the electronic key wallet applet using the public key stored in the SE, Acquires a personal identification value and causes the electronic wallet applet to generate a second session key obtained by encrypting the random number and the personal identification value obtained from the session data using the personal information of the user, A process of encrypting the private key using a session key and supporting an encrypted private key to be transferred to the electronic wallet app; And 5) when the encrypted private key is transferred to the electronic wallet app, the electronic wallet app transmits the encrypted private key to the backup support server, thereby causing the backup support server to transmit the encrypted first private key to the first session key Decrypting the encrypted private key to obtain the private key, generating an encryption key by encrypting the private key and the public key using the individual management key, and transmitting the generated encryption key to the personal identification value To match and manage them;
To the terminal device.
상기 통신부는, 상기 사용자에 의한 상기 암호 화폐의 상기 전자 지갑 복구 요청을 획득하고,
상기 프로세서는, 6) 상기 사용자에 의한 상기 암호 화폐의 상기 전자 지갑 복구 요청이 획득되면, 상기 전자 지갑 앱으로 하여금 상기 백업지원 서버로 상기 사용자의 상기 프라이빗 키 복구 요청을 하도록 함으로써, 상기 백업지원 서버로 하여금 상기 개인식별값과 매칭되는 상기 암호화 키를 획득하도록 하며, 상기 개별 관리키를 이용하여 상기 암호화 키를 복호화하여 상기 퍼블릭 키 및 상기 프라이빗 키를 획득하도록 하고, 상기 사용자의 개인정보로 난수 및 개인식별값을 암호화한 상기 제1 세션 키를 생성하도록 하며, 상기 제1 세션 키로 상기 프라이빗 키를 암호화하도록 하고, 상기 암호화된 프라이빗 키, 상기 난수 및 상기 개인식별값을 상기 전자 지갑 앱으로 전송하도록 지원하는 프로세스; 및 7) 상기 전자 지갑 앱으로 하여금 상기 전자 지갑 애플릿으로 상기 암호화된 프라이빗 키, 상기 난수 및 개인식별값을 전달하게 하고, 상기 전자 지갑 애플릿으로 하여금 상기 난수 및 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 상기 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 암호화된 프라이빗 키를 복호화하여 상기 프라이빗 키를 획득하도록 하고, 획득된 상기 프라이빗 키를 상기 SE에 저장하도록 지원하는 프로세스를 더 수행하는 것을 특징으로 하는 단말 장치.18. The method of claim 17,
Wherein the communication unit obtains the electronic wallet recovery request of the cipher money by the user,
6) When the electronic wallet restoration request of the password is obtained by the user, the electronic wallet application causes the backup support server to request the user to restore the private key, To obtain the encryption key that matches the personal identification value, and decrypts the encryption key using the individual management key to obtain the public key and the private key, The first private key, the random number, and the personal identification value to the electronic wallet app, encrypts the private key with the first session key, encrypts the private key with the first session key, Supported Processes; And 7) causing the electronic wallet app to transmit the encrypted private key, the random number, and the personal identification value to the electronic wallet applet, and causing the electronic wallet applet to transmit the random number and the personal identification value to the user's personal information And decrypts the encrypted private key using the second session key to obtain the private key, and supports to store the obtained private key in the SE Further comprising the step of:
상기 통신부는, 상기 사용자에 의한 상기 암호 화폐의 상기 전자 지갑 복구 요청을 획득하고,
상기 프로세서는, 6) 상기 사용자에 의한 상기 암호 화폐의 상기 전자 지갑 복구 요청이 획득되면, 상기 전자 지갑 앱으로 하여금 상기 백업지원 서버로 상기 사용자의 상기 프라이빗 키 및 퍼블릭 키 복구 요청을 하도록 하게 함으로써, 상기 백업지원 서버로 하여금 상기 개인식별값과 매칭되는 상기 암호화 키를 획득하도록 하며, 상기 개별 관리키를 이용하여 상기 암호화 키를 복호화하여 상기 프라이빗 키 및 상기 퍼블릭 키를 획득하도록 하고, 상기 사용자의 개인정보로 난수 및 개인식별값을 암호화한 상기 제1 세션 키를 생성하도록 하며, 상기 제1 세션 키로 상기 프라이빗 키 및 퍼블릭 키를 암호화하도록 하고, 상기 암호화된 프라이빗 키 및 퍼블릭 키, 상기 난수 및 상기 개인식별값을 상기 전자 지갑 앱으로 전송하도록 지원하는 프로세스; 및 7) 상기 전자 지갑 앱으로 하여금 상기 전자 지갑 애플릿으로 상기 암호화된 프라이빗 키 및 퍼블릭 키, 상기 난수 및 상기 개인식별값을 전달하게 하고, 상기 전자 지갑 애플릿으로 하여금 상기 난수 및 상기 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 상기 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 암호화된 프라이빗 키 및 퍼블릭 키를 복호화하여 상기 프라이빗 키 및 퍼블릭 키를 획득하도록 하고, 획득된 상기 프라이빗 키 및 퍼블릭 키를 상기 SE에 저장하고 상기 퍼블릭 키를 상기 전자 지갑 앱에 전달하도록 지원하는 프로세스를 더 수행하는 것을 특징으로 하는 단말 장치.18. The method of claim 17,
Wherein the communication unit obtains the electronic wallet recovery request of the cipher money by the user,
6) causing the electronic wallet app to cause the backup support server to request the user's private key and public key recovery when the electronic wallet recovery request of the cipher is obtained by the user, The backup support server acquires the encryption key that matches the personal identification value, decrypts the encryption key using the individual management key to acquire the private key and the public key, Encrypting the private key and the public key with the first session key, generating the encrypted private key and the public key, the random number, and the private key, Supporting the transfer of the identification value to the electronic wallet app; And 7) causing the electronic wallet app to transmit the encrypted private key, the public key, the random number and the personal identification value to the electronic wallet applet, and causing the electronic wallet applet to transmit the random number and the personal identification value The private key and the public key are decrypted by using the second session key so as to generate the second session key encrypted using the personal information of the user to obtain the private key and the public key, Storing the private key and the public key in the SE and transferring the public key to the electronic wallet app.
상기 백업지원 서버는 블록 체인인 것을 특징으로 하는 단말 장치.18. The method of claim 17,
Wherein the backup support server is a block chain.
상기 SE는 상기 단말 장치의 하드 영역에 있는 SE, SIM에 형성되어 있는 SE, 상기 단말 장치의 내장 eSE, 상기 단말 장치의 내장 메모리 내에 형성된 SE, 외장 메모리 내에 형성된 SE 및 외부 IC 카드에 형성된 SE 중 적어도 하나를 포함하는 것을 특징으로 하는 단말 장치.17. The method of claim 16,
The SE may be an SE formed in the hard area of the terminal device, an SE formed in the SIM, an embedded eSE of the terminal device, an SE formed in the internal memory of the terminal device, an SE formed in the external memory, Wherein the terminal device comprises:
상기 SE가 상기 외부 IC 카드에 형성된 경우, 상기 단말 장치는 상기 외부 IC 카드와 NFC 통신으로 연결되어 상기 전자 지갑 앱과 상기 전자 지갑 애플릿이 통신하는 것을 특징으로 하는 단말 장치.22. The method of claim 21,
Wherein when the SE is formed on the external IC card, the terminal device is connected to the external IC card by NFC communication, and the electronic wallet app and the electronic wallet applet communicate with each other.
상기 프로세서는, 8) 상기 사용자에 의한 상기 암호 화폐에 대한 잔액 확인 요청이 획득되면, 상기 전자 지갑 앱으로 하여금 상기 사용자의 전자 지갑에 해당하는 암호 화폐의 잔액 확인 트랜잭션을 생성하여, 상기 잔액 확인 트랜잭션과 상기 퍼블릭 키를 암호 화폐 네트워크로 전달하도록 지원하는 프로세스; 및 9) 상기 암호 화폐 네트워크로부터 상기 잔액 확인 요청에 대한 확인 결과가 전달되면, 상기 단말 장치는, 상기 전자 지갑 앱으로 하여금 잔액 확인 결과를 표시하도록 지원하는 프로세스
를 수행하는 것을 특징으로 하는 단말 장치.17. The method of claim 16,
8) When the balance confirmation request for the cipher money is obtained by the user, the electronic wallet app creates a balance confirmation transaction of the cipher currency corresponding to the electronic wallet of the user, And transferring the public key to a cryptographic network; And 9) when a confirmation result of the balance confirmation request is transmitted from the cryptographic network, the terminal device performs a process of supporting the electronic wallet app to display a balance confirmation result
To the terminal device.
상기 프로세서는, 10) 상기 사용자에 의한 상기 암호 화폐에 대한 송금 요청이 획득되면, 상기 전자 지갑 앱으로 하여금 송금할 주소 및 금액을 포함하는 상기 사용자의 전자 지갑에 해당하는 암호 화폐의 송금 요청 트랜잭션을 생성하여 암호 화폐 네트워크로 전달하도록 지원하는 프로세스; 및 11) 상기 암호 화폐 네트워크로부터 상기 송금 요청 요청에 대한 송금 결과가 전달되면, 상기 전자 지갑 앱으로 하여금 송금 결과 및 상기 전자 지갑의 잔액을 표시하도록 지원하는 프로세스
를 수행하는 것을 특징으로 하는 단말 장치.17. The method of claim 16,
10) If the request for remittance of the cipher money by the user is obtained, the processor transmits a remittance request transaction of the cipher money corresponding to the electronic wallet of the user including the address and amount to be remitted to the electronic wallet app A process for generating and delivering to a cryptography network; And 11) a process of supporting the electronic wallet app to display the remittance result and the balance of the electronic wallet when the remittance result for the remittance request is transmitted from the cryptographic network
To the terminal device.
단말 장치에 퍼블릭 키가 저장되어 있으며, SE에 상기 퍼블릭 키와 프라이빗 키를 포함하는 키 페어가 저장된 상태에서, 사용자에 의한 상기 암호 화폐의 전자 지갑 백업 요청을 획득하기 위한 통신부; 및
1) 상기 통신부를 통해 획득된 상기 전자 지갑 백업 요청이 획득되면, 전자 지갑 앱으로 하여금 상기 퍼블릭 키를 포함하는 프라이빗 키 백업 요청을 백업지원 서버로 전송하도록 함으로써, 상기 백업지원 서버로 하여금 상기 사용자의 개인정보로 난수 및 상기 사용자에 대응하는 개인식별값을 암호화한 제1 세션 키를 생성하도록 하고 상기 퍼블릭 키로 상기 난수 및 상기 개인식별값을 암호화한 세션 데이터를 생성하도록 하며 상기 세션 데이터를 상기 단말 장치의 상기 전자 지갑 앱에게 전송하도록 지원하는 프로세스; 2) 상기 전자 지갑 앱으로 하여금 상기 SE에 설치된 전자 지갑 애플릿으로 상기 세션 데이터를 전달하도록 하고, 상기 전자 지갑 애플릿으로 하여금 상기 SE에 저장된 상기 퍼블릭 키를 이용하여 상기 세션 데이터를 복호화하여 상기 난수 및 상기 개인식별값을 획득하도록 하며, 상기 전자 지갑 애플릿으로 하여금 상기 세션 데이터로부터 획득된 상기 난수 및 상기 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 프라이빗 키를 암호화하도록 하며, 암호화된 프라이빗 키를 상기 전자 지갑 앱으로 전달하도록 지원하는 프로세스; 및 3) 상기 전자 지갑 앱으로 상기 암호화된 프라이빗 키가 전달되면, 상기 전자 지갑 앱으로 하여금 상기 암호화된 프라이빗 키를 상기 백업지원 서버로 전달하도록 하여, 상기 백업지원 서버로 하여금 상기 제1 세션 키를 이용하여 상기 암호화된 프라이빗 키를 복호화하여 상기 프라이빗 키를 획득하도록 하며, 개별 관리키를 이용하여 상기 프라이빗 키와 상기 퍼블릭 키를 암호화한 암호화 키를 생성하며, 상기 생성된 암호화 키를 상기 개인식별값과 매칭하여 관리하도록 지원하는 프로세스를 수행하는 프로세서;
를 포함하는 것을 특징으로 하는 단말 장치.1. A terminal apparatus for performing electronic wallet backup of a coded money,
A communication unit for acquiring an electronic purse backup request of the cipher with a public key stored in the terminal device and a key pair including the public key and the private key stored in the SE; And
1) When the electronic wallet backup request acquired through the communication unit is acquired, the electronic wallet app sends a private key backup request including the public key to the backup support server, Generating a first session key by encrypting a random number and an individual identification value corresponding to the user with personal information, generating session data obtained by encrypting the random number and the personal identification value with the public key, To said electronic wallet app of said electronic wallet app; 2) causing the electronic wallet app to transfer the session data to an electronic wallet applet installed in the SE, and decrypting the session data using the electronic key wallet applet using the public key stored in the SE, Acquire a personal identification value, and cause the electronic wallet applet to generate a second session key in which the random number and the individual identification value obtained from the session data are encrypted using the personal information of the user, A process of encrypting the private key using a key and supporting an encrypted private key to be transferred to the electronic wallet app; And 3) when the encrypted private key is transferred to the electronic wallet app, the electronic wallet app sends the encrypted private key to the backup support server, thereby causing the backup support server to transmit the encrypted first private key to the first session key Decrypting the encrypted private key to obtain the private key, generating an encryption key by encrypting the private key and the public key using the individual management key, and transmitting the generated encryption key to the personal identification value A processor for performing a process of supporting matching with the management information;
And a terminal device.
상기 통신부는, 상기 사용자에 의한 상기 암호 화폐의 상기 전자 지갑 복구 요청을 획득하고,
상기 프로세서는, 4) 상기 사용자에 의한 상기 암호 화폐의 상기 전자 지갑 복구 요청이 획득되면, 상기 전자 지갑 앱으로 하여금 상기 백업지원 서버로 상기 사용자의 상기 프라이빗 키 복구 요청을 하도록 하게 함으로써, 상기 백업지원 서버로 하여금 상기 개인식별값과 매칭되는 상기 암호화 키를 획득하도록 하며, 상기 개별 관리키를 이용하여 상기 암호화 키를 복호화하여 상기 퍼블릭 키 및 상기 프라이빗 키를 획득하도록 하고, 상기 사용자의 개인정보로 난수 및 개인식별값을 암호화한 상기 제1 세션 키를 생성하도록 하며, 상기 제1 세션 키로 상기 프라이빗 키를 암호화하도록 하고, 상기 암호화된 프라이빗 키, 상기 난수 및 상기 개인식별값을 상기 전자 지갑 앱으로 전송하도록 지원하는 프로세스; 및 5) 상기 전자 지갑 앱으로 하여금 상기 전자 지갑 애플릿으로 상기 암호화된 프라이빗 키, 상기 난수 및 상기 개인식별값을 전달하게 하고, 상기 전자 지갑 애플릿으로 하여금 상기 난수 및 상기 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 상기 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 암호화된 프라이빗 키를 복호화하여 상기 프라이빗 키를 획득하도록 하고, 획득된 상기 프라이빗 키를 상기 SE에 저장하도록 지원하는 프로세스를 더 수행하는 것을 특징으로 하는 단말 장치.26. The method of claim 25,
Wherein the communication unit obtains the electronic wallet recovery request of the cipher money by the user,
The processor is further configured to: 4) allow the electronic wallet app to request the user to restore the private key to the backup support server when the electronic wallet recovery request of the cipher is obtained by the user, The server acquires the encryption key that matches the personal identification value, decrypts the encryption key using the individual management key to acquire the public key and the private key, And encrypts the private key with the first session key, and transmits the encrypted private key, the random number, and the personal identification value to the electronic wallet app To support the process; And 5) causing the electronic wallet app to transmit the encrypted private key, the random number, and the personal identification value to the electronic wallet applet, causing the electronic wallet applet to transmit the random number and the personal identification value to the user's personal To generate the second session key encrypted using the second session key, decrypt the encrypted private key using the second session key to obtain the private key, and store the obtained private key in the SE And further performs a supporting process.
단말 장치에 퍼블릭 키가 저장되어 있으며, SE에 상기 퍼블릭 키와 프라이빗 키를 포함하는 키 페어가 저장된 상태에서, 사용자에 의한 상기 암호 화폐의 전자 지갑 백업 요청에 응답하여 상기 단말 장치의 전자 지갑 앱으로부터 상기 퍼블릭 키를 포함하는 프라이빗 키 백업 요청을 획득하기 위한 통신부; 및
1) 상기 통신부를 통해 획득된 프라이빗 키 백업 요청이 획득되면, 상기 사용자의 개인정보로 난수 및 상기 사용자에 대응하는 개인식별값을 암호화한 제1 세션 키를 생성하도록 하고 상기 퍼블릭 키로 상기 난수 및 개인식별값을 암호화한 세션 데이터를 생성하며 상기 세션 데이터를 상기 단말 장치의 상기 전자 지갑 앱에게 전송하도록 지원하는 프로세스; 2) 상기 단말 장치의 상기 전자 지갑 앱으로 하여금 상기 SE에 설치된 전자 지갑 애플릿으로 상기 세션 데이터를 전달하도록 하고, 상기 전자 지갑 애플릿으로 하여금 상기 SE에 저장된 상기 퍼블릭 키를 이용하여 상기 세션 데이터를 복호화하여 상기 난수 및 개인식별값을 획득하도록 하며, 상기 전자 지갑 애플릿으로 하여금 세션 데이터로부터 획득된 상기 난수 및 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 프라이빗 키를 암호화하도록 하며, 암호화된 프라이빗 키를 상기 전자 지갑 앱으로 전달하도록 지원하는 프로세스; 및 3) 상기 전자 지갑 앱으로 상기 암호화된 프라이빗 키가 전달되면, 상기 단말 장치의 상기 전자 지갑 앱으로 하여금 상기 암호화된 프라이빗 키를 상기 백업지원 서버로 전달하도록 하고, 상기 백업지원 서버는, 상기 제1 세션 키를 이용하여 상기 암호화된 프라이빗 키를 복호화하여 상기 프라이빗 키를 획득하며, 개별 관리키를 이용하여 상기 프라이빗 키와 상기 퍼블릭 키를 암호화한 암호화 키를 생성하며, 상기 생성된 암호화 키를 상기 개인식별값과 매칭하여 관리하도록 지원하는 프로세스를 수행하는 프로세서;
를 포함하는 것을 특징으로 하는 백업지원 서버.1. A backup support server for performing electronic wallet backup of a password,
In a state where a public key is stored in the terminal device and a key pair including the public key and the private key is stored in the SE, the electronic wallet application of the terminal device A communication unit for obtaining a private key backup request including the public key; And
1) generating a first session key in which a random number and a personal identification value corresponding to the user are encrypted with the private information of the user when the private key backup request obtained through the communication unit is acquired, A process of generating session data encrypted with an identification value and supporting the session data to be transmitted to the electronic wallet app of the terminal device; 2) causes the electronic wallet app of the terminal device to transmit the session data to an electronic wallet applet installed in the SE, decrypts the session data using the electronic wallet applet using the public key stored in the SE Acquire the random number and the individual identification value, and cause the electronic wallet applet to generate a second session key in which the random number and the individual identification value obtained from the session data are encrypted using the personal information of the user, A process of encrypting the private key using a session key and supporting an encrypted private key to be transferred to the electronic wallet app; And 3) when the encrypted private key is transferred to the electronic wallet app, causes the electronic wallet app of the terminal device to transfer the encrypted private key to the backup support server, 1 public key to obtain the private key by decrypting the encrypted private key using the session key, generate an encryption key by encrypting the private key and the public key using the individual management key, A processor for performing a process to support management of matching with a personal identification value;
The backup server comprising:
상기 통신부는, 상기 사용자에 의한 상기 암호 화폐의 상기 전자 지갑 복구 요청에 응답하여, 상기 단말 장치의 상기 전자 지갑 앱으로부터 상기 사용자의 상기 프라이빗 키 복구 요청을 획득하고,
상기 프로세서는, 4) 상기 프라이빗 키 복구 요청이 획득되면, 상기 상기 개인식별값과 매칭되는 상기 암호화 키를 획득하며, 상기 개별 관리키를 이용하여 상기 암호화 키를 복호화하여 상기 퍼블릭 키 및 상기 프라이빗 키를 획득하고, 상기 사용자의 개인정보로 난수 및 개인식별값을 암호화한 상기 제1 세션 키를 생성하며, 상기 제1 세션 키로 상기 프라이빗 키를 암호화하고, 상기 암호화된 프라이빗 키, 상기 난수 및 상기 개인식별값을 상기 전자 지갑 앱으로 전송하도록 지원하는 프로세스; 및 5) 상기 단말 장치의 상기 전자 지갑 앱으로 하여금 상기 전자 지갑 애플릿으로 상기 암호화된 프라이빗 키, 상기 난수 및 상기 개인식별값을 전달하게 하고, 상기 전자 지갑 애플릿으로 하여금 상기 난수 및 개인식별값을 상기 사용자의 개인정보를 이용하여 암호화한 상기 제2 세션 키를 생성하도록 하고 상기 제2 세션 키를 이용하여 상기 암호화된 프라이빗 키를 복호화하여 상기 프라이빗 키를 획득하도록 하고, 획득된 상기 프라이빗 키를 상기 SE에 저장하도록 지원하는 프로세스를 더 수행하는 것을 특징으로 하는 백업지원 서버. 28. The method of claim 27,
Wherein the communication unit obtains the private key recovery request of the user from the electronic wallet app of the terminal device in response to the electronic wallet recovery request of the cipher by the user,
The processor is further configured to: 4) acquire the encryption key matching the personal identification value when the private key recovery request is obtained, decrypt the encryption key using the individual management key, and store the public key and the private key Generating the first session key by encrypting a random number and an individual identification value using the personal information of the user, encrypting the private key with the first session key, encrypting the encrypted private key, Supporting the transfer of the identification value to the electronic wallet app; And 5) causing the electronic wallet app of the terminal device to transmit the encrypted private key, the random number, and the personal identification value to the electronic wallet applet, and causing the electronic wallet applet to transmit the random number and the personal identification value The second session key is encrypted using the private information of the user, the encrypted private key is decrypted using the second session key to acquire the private key, and the obtained private key is stored in the SE To the backup support server. ≪ Desc / Clms Page number 13 >
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170138690A KR101976027B1 (en) | 2017-10-24 | 2017-10-24 | Method for generating and backing up electric wallet and user terminal and server using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170138690A KR101976027B1 (en) | 2017-10-24 | 2017-10-24 | Method for generating and backing up electric wallet and user terminal and server using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190045753A true KR20190045753A (en) | 2019-05-03 |
KR101976027B1 KR101976027B1 (en) | 2019-05-08 |
Family
ID=66580071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170138690A KR101976027B1 (en) | 2017-10-24 | 2017-10-24 | Method for generating and backing up electric wallet and user terminal and server using the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101976027B1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110648447A (en) * | 2019-08-08 | 2020-01-03 | 杭州复杂美科技有限公司 | Game random number generation method, application, device, equipment and storage medium |
KR20200129799A (en) * | 2019-05-10 | 2020-11-18 | 주식회사 피노텍 | Banking service providing system and method using cryptocurrency |
KR20210156776A (en) * | 2020-06-18 | 2021-12-27 | 주식회사 디에스알브이랩스 | System and method for Private key recovery using recovery transaction |
WO2023113986A1 (en) * | 2021-12-15 | 2023-06-22 | Capital One Services, Llc | Key recovery based on contactless card authentication |
WO2024064791A1 (en) * | 2022-09-22 | 2024-03-28 | The Everest Project LLC | Method and apparatus for minting non-fungible tokens |
US12026064B2 (en) | 2021-07-22 | 2024-07-02 | Samsung Electronics Co., Ltd. | Electronic device and method of backing up secure element |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110111103B (en) * | 2019-05-13 | 2020-10-27 | 江苏恒宝智能系统技术有限公司 | Password resetting method and system for digital currency wallet |
KR102062919B1 (en) * | 2019-07-30 | 2020-01-06 | 주식회사 바스랩 | Method for providing blockchain-based data cloud service |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100118895A (en) * | 2009-04-29 | 2010-11-08 | 주식회사 케이티 | Apparatus and system for electronic wallet |
KR20140069596A (en) * | 2012-11-29 | 2014-06-10 | 에스케이씨앤씨 주식회사 | Method and System for Information Management in Secure Element |
KR20150016802A (en) * | 2013-08-05 | 2015-02-13 | 한국전자통신연구원 | Security device and method moving data using the same |
KR20160024185A (en) * | 2014-08-25 | 2016-03-04 | 아이보 (주) | Management system and method of crytocurrency using secure element |
-
2017
- 2017-10-24 KR KR1020170138690A patent/KR101976027B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100118895A (en) * | 2009-04-29 | 2010-11-08 | 주식회사 케이티 | Apparatus and system for electronic wallet |
KR20140069596A (en) * | 2012-11-29 | 2014-06-10 | 에스케이씨앤씨 주식회사 | Method and System for Information Management in Secure Element |
KR20150016802A (en) * | 2013-08-05 | 2015-02-13 | 한국전자통신연구원 | Security device and method moving data using the same |
KR20160024185A (en) * | 2014-08-25 | 2016-03-04 | 아이보 (주) | Management system and method of crytocurrency using secure element |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200129799A (en) * | 2019-05-10 | 2020-11-18 | 주식회사 피노텍 | Banking service providing system and method using cryptocurrency |
CN110648447A (en) * | 2019-08-08 | 2020-01-03 | 杭州复杂美科技有限公司 | Game random number generation method, application, device, equipment and storage medium |
CN110648447B (en) * | 2019-08-08 | 2021-08-06 | 杭州复杂美科技有限公司 | Game random number generation method, application, device, equipment and storage medium |
KR20210156776A (en) * | 2020-06-18 | 2021-12-27 | 주식회사 디에스알브이랩스 | System and method for Private key recovery using recovery transaction |
US12026064B2 (en) | 2021-07-22 | 2024-07-02 | Samsung Electronics Co., Ltd. | Electronic device and method of backing up secure element |
WO2023113986A1 (en) * | 2021-12-15 | 2023-06-22 | Capital One Services, Llc | Key recovery based on contactless card authentication |
US12069173B2 (en) | 2021-12-15 | 2024-08-20 | Capital One Services, Llc | Key recovery based on contactless card authentication |
WO2024064791A1 (en) * | 2022-09-22 | 2024-03-28 | The Everest Project LLC | Method and apparatus for minting non-fungible tokens |
Also Published As
Publication number | Publication date |
---|---|
KR101976027B1 (en) | 2019-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101976027B1 (en) | Method for generating and backing up electric wallet and user terminal and server using the same | |
KR102139897B1 (en) | System and method for information protection | |
US11856104B2 (en) | Methods for secure credential provisioning | |
JP6724249B2 (en) | System and method for information protection | |
JP6841911B2 (en) | Information protection systems and methods | |
AU2021203184B2 (en) | Transaction messaging | |
US20220131840A1 (en) | System and method for identity verification across mobile applications | |
KR101999188B1 (en) | Secure personal devices using elliptic curve cryptography for secret sharing | |
KR102150814B1 (en) | Systems and methods for information protection | |
KR101816650B1 (en) | Method for providing simplified account registration service and authentication service, and authentication server using the same | |
RU2710897C2 (en) | Methods for safe generation of cryptograms | |
KR101887964B1 (en) | Blockchain core server having security ability based on quantum random number, blockchain security method and electronic cash exchange system | |
US10402823B1 (en) | System for exchanging private keys for mutual settlements between users of a cryptocurrency outside blockchains | |
CN111492390A (en) | Cash equivalent device for digital currency | |
KR101702748B1 (en) | Method, system and recording medium for user authentication using double encryption | |
CN109474420A (en) | A kind of private key backup method and relevant device | |
CN110599342B (en) | Block chain-based identity information authorization method and device | |
CN110999254B (en) | Securely performing cryptographic operations | |
KR102320667B1 (en) | Method and terminal for managing user information | |
CN118784643A (en) | Transaction information sharing method, device and system and computer readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |