CROSS REFERENCE TO RELATED APPLICATION

This application is based on and claims priority under 35 U.S.C. 119 to Korean Patent Application No. 10-2019-0016464 and 10-2019-0016467, both filed on Feb. 13, 2019, in the Korean Intellectual Property Office, the disclosures of which is herein incorporated by reference in their entireties.

BACKGROUND OF THE INVENTION

1. Technical Field

The following solution describes a key management solution based on a trusted execution environment and, more particularly, a method and system for storing and managing keys conveniently and safely based on a trusted execution environment.

2. Description of the Related Art

Cryptocurrency refers to currency which is not a physical embodiment, such as a bill or a coin, and traded online. Unlike common currency issued by the government or central bank of each country, cryptocurrency is priced based on a rule determined by a person who has first invented the cryptocurrency. A transaction history of cryptocurrency is not managed by a government or a central bank, and the cryptocurrency is distributed based on the blockchain technology. Accordingly, a government does not guarantee the price or payment of cryptocurrency. Cryptocurrency is processed using a distributed system method based on the blockchain technology in which data is contained in blocks and the blocks are connected in a chain form and are duplicated and stored in many computers at the same time. A person who participates in the distributed system is called a miner, and receives a commission of a coin form in compensation for blockchain processing. There is no production cost according to currency issues and a transaction cost, such as a transfer cost, can be significantly reduced because cryptocurrency is maintained through such a structure. Furthermore, cryptocurrency has advantages in that the cryptocurrency does not require a storage cost because it is stored in a computer hard disk and it has a function as excellent value storage means because there is no danger of robbery or a loss.

A trusted execution environment (TEE) means a secure execution environment in which the integrity of a code isolated and executed from the REE and the confidentiality of data generated and stored in an execution process are guaranteed. The trusted execution environment is an advanced security technology with which only advantages of hardware and software have been combined, and provides security of a separated hardware level while it is not separate hardware. It is necessary to develop a solution capable of storing and managing keys effectively and securely based on such a trusted execution environment.

SUMMARY OF THE INVENTION

An embodiment may provide a method and system for storing and managing keys conveniently and safely based on a trusted execution environment. Specifically, an embodiment may provide a method and system in which a cluster in which a key is shared is configured, a key is generated in the trusted execution environment of a node within the cluster, the key is synchronized with a different trusted execution environment within the cluster and managed, a private key is generated from an internal key (B key) of the cluster, among a plurality of stored and managed keys according to a BIP-32 protocol, and transactions are signed.

An embodiment may provide a method and system for storing and managing keys conveniently and safely based on a trusted execution environment. Specifically, an embodiment may provide a method and system in which one or more clusters for transaction signatures are determined among clusters configured based on a node to which a threshold key to be distributed and stored in clusters and the same shape encryption key to be shared by clusters have been distributed, and transactions are signed using a first key and a second key in the determined one or more clusters.

A transaction signature method performed in a system for storing and managing keys, which is implemented as a computer, may include the steps of configuring a cluster based on a node and generating a private key according to a BIP-32 protocol from an internal key of the cluster among a plurality of managed keys in a trusted execution environment (TEE) of the node within the configured cluster and signing transactions.

A transaction signature method performed in a system for storing and managing keys, which is implemented as a computer, may include configuring clusters based on a node to which a first key to be distributed and stored in clusters and a second key to be shared by clusters, determining one or more clusters for a transaction signature among the configured clusters, and signing, by the determined one or more clusters, transactions using the first key and the second key.

