Trusted execution environment-based key management system and method for omnidirectional state protection of key data

WO2026177307A1PCT designated stage Publication Date: 2026-08-27NAVER CLOUD CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/019212
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-02-20
Filing Date
2025-11-19
Publication Date
2026-08-27

Smart Images

  • Figure KR2025019212_27082026_PF_FP_ABST
    Figure KR2025019212_27082026_PF_FP_ABST
Patent Text Reader

Abstract

A trusted execution environment (TEE)-based key management system and method for omnidirectional state protection of key data are disclosed. The key management system according to one embodiment may comprise: a key management server, which encrypts a key of a user with a root key stored in a hardware security module (HSM), so as to store and manage the encrypted key in a permanent key storage; and a key processing cluster for implementing and driving, as a TEE-based virtual machine or container, a dedicated encryption / decryption processing system for each user, decrypting the encrypted key of the user, which is stored in the permanent key storage, by using the root key, and processing, in the TEE, a function for encryption / decryption of the dedicated encryption / decryption processing system by using the decrypted key of the user.
Need to check novelty before this filing date? Find Prior Art

Description

Trusted Execution Environment-based Key Management System and Method for All-Out State Protection of Key Data

[0001] The following description relates to a system and method for managing keys based on a Trusted Execution Environment (TEE) for comprehensive state protection of key data.

[0002] Due to their inherent characteristics, cryptographic systems are subject to many constraints in their construction and operation. For example, strict access control is required to eliminate the possibility of key data leakage from malicious entities. This access control includes memory access control; however, since there are no effective protection measures for memory access, physical systems used exclusively are typically employed.

[0003] However, server resource management technology that adjusts variably according to the system's operating conditions offers a significant advantage in terms of operating costs; for the reasons mentioned above, cryptographic systems result in highly inefficient operation and expenditure.

[0004] We provide a system and method for managing keys based on a Trusted Execution Environment (TEE) for comprehensive state protection of key data.

[0005] A key management system comprises: a key management server that encrypts a user's key using a root key stored in a Hardware Security Module (HSM) and stores and manages the key in a permanent key store; and a key processing cluster that implements and runs a user-specific encryption / decryption processing system as a virtual machine or container based on a Trusted Execution Environment (TEE), decrypts the encrypted user's key stored in the permanent key store using the root key, and processes the encryption / decryption function of the dedicated encryption / decryption processing system using the decrypted user's key in the Trusted Execution Environment.

[0006] According to one aspect, the key management server may be characterized by including: the HSM storing the root key in a pre-configured isolation area; the encryption unit encrypting the user's key using the root key; and the permanent key storage unit storing the encrypted user's key.

[0007] According to another aspect, the protection condition for data-at-rest can be established by encrypting the user's key through the root key stored in the HSM and storing it in the permanent key store.

[0008] According to another aspect, the key processing cluster may include an enclave as a security area provided by the trusted execution environment, and the enclave may be characterized by including: a decryption unit that decrypts the encrypted user's key using the root key; and a key processing unit that processes a function for encryption / decryption of the dedicated encryption / decryption processing system using the decrypted user's key.

[0009] According to another aspect, the enclave may further include a key cache that temporarily stores the decrypted user's key.

[0010] According to another aspect, the key processing cluster may be characterized by periodically updating the user's key temporarily stored in the key cache by performing flush logic that reflects the user's key temporarily stored in the key cache into the permanent key store and re-sync logic that synchronizes the user's key temporarily stored in the key cache with the user's key stored in the permanent key store.

[0011] According to another aspect, protection conditions for Data-in-Use may be established by processing the encryption / decryption function of the dedicated encryption / decryption processing system within the enclave using the user's key temporarily stored in the key cache of the enclave as a security area provided by the trusted execution environment.

[0012] According to another aspect, the user's request for all functions of the key management server and the key processing cluster may be characterized by being requested remotely through channel encryption based on RA-TLS (Remote Attestation Transport Layer Security).

[0013] According to another aspect, it may be characterized in that protection conditions for data in transmission are established by a remote request through the channel encryption mentioned above.

[0014] A key management method for a key management system comprises, wherein the key management system includes a key management server and a key processing cluster, and the key management method comprises: a step of encrypting a user's key with a root key stored in a Hardware Security Module (HSM) included in the key management server and storing it in a permanent key storage further included in the key management server; a step of implementing and running a user-specific encryption / decryption processing system in the key processing cluster as a virtual machine or container based on a Trusted Execution Environment (TEE); a step of decrypting the encrypted user's key stored in the permanent key storage using the root key; and a step of processing the encryption / decryption function of the dedicated encryption / decryption processing system in the Trusted Execution Environment using the decrypted user's key.

[0015] According to one aspect, the key management server includes the HSM, the permanent key storage, and the encryption unit in a pre-configured isolation zone, and the storing step may be characterized by encrypting the user's key using the root key stored in the HSM through the encryption unit, and storing the encrypted user's key in the permanent key storage.

[0016] According to another aspect, the key processing cluster includes an enclave as a security area provided by the trusted execution environment, and the enclave includes a decryption unit and a key processing unit, and the decryption step may be characterized by decrypting the encrypted user's key through the decryption unit using the root key, and the processing step may be characterized by processing the encryption / decryption function of the dedicated encryption / decryption processing system in the trusted execution environment using the user's key decrypted through the key processing unit.

[0017] According to another aspect, the user's request for all functions of the key management server and the key processing cluster may be characterized by being requested remotely through channel encryption based on RA-TLS (Remote Attestation Transport Layer Security).

[0018] A computer program stored on a computer-readable recording medium is provided to be combined with a computer device to execute the above method on the computer device.

[0019] A computer-readable recording medium is provided on which a computer program for executing the above method is recorded on a computer device.

[0020] A system and method for managing keys based on a Trusted Execution Environment (TEE) can be provided for comprehensive state protection of key data.

[0021] FIG. 1 is a drawing illustrating an example of a network environment according to an embodiment of the present invention.

[0022] FIG. 2 is a block diagram illustrating an example of a computer device according to an embodiment of the present invention.

[0023] FIG. 3 is a diagram illustrating an example of a key management system in an embodiment of the present invention.

[0024] FIG. 4 is a flowchart illustrating an example of a key management method according to an embodiment of the present invention.

[0025] Hereinafter, embodiments will be described in detail with reference to the attached drawings.

[0026] A key management system according to embodiments of the present invention may be implemented by at least one computer device. In this case, a computer program according to an embodiment of the present invention may be installed and run on the computer device, and the computer device may perform a key management method according to embodiments of the present invention under the control of the run computer program. The above-described computer program may be stored on a computer-readable recording medium to be combined with the computer device and to execute the key management method on the computer.

[0027] FIG. 1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention. The network environment of FIG. 1 illustrates an example including a plurality of electronic devices (110, 120, 130, 140), a plurality of servers (150, 160), and a network (170). FIG. 1 is an example for explaining the invention, and the number of electronic devices or servers is not limited to that shown in FIG. 1. Furthermore, the network environment of FIG. 1 is merely an example of one of the environments applicable to the present embodiments, and the environments applicable to the present embodiments are not limited to the network environment of FIG. 1.

[0028] Multiple electronic devices (110, 120, 130, 140) may be fixed terminals or mobile terminals implemented as computer devices. Examples of multiple electronic devices (110, 120, 130, 140) include smartphones, mobile phones, navigation systems, computers, laptops, digital broadcasting terminals, PDAs (Personal Digital Assistants), PMPs (Portable Multimedia Players), tablet PCs, etc. For example, FIG. 1 shows the shape of a smartphone as an example of an electronic device (110), but in embodiments of the present invention, the electronic device (110) may substantially refer to one of various physical computer devices capable of communicating with other electronic devices (120, 130, 140) and / or servers (150, 160) via a network (170) using a wireless or wired communication method.

[0029] The communication method is not limited and may include not only communication methods utilizing communication networks (e.g., mobile communication networks, wired internet, wireless internet, broadcasting networks) that the network (170) may include, but also short-range wireless communication between devices. For example, the network (170) may include any one or more networks such as a PAN (personal area network), LAN (local area network), CAN (campus area network), MAN (metropolitan area network), WAN (wide area network), BBN (broadband network), and the Internet. Additionally, the network (170) may include any one or more network topologies such as a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or hierarchical network, but is not limited thereto.

[0030] Each of the servers (150, 160) may be implemented as a computer device or multiple computer devices that communicate with multiple electronic devices (110, 120, 130, 140) through a network (170) to provide commands, code, files, content, services, etc. For example, the server (150) may be a system that provides services to multiple electronic devices (110, 120, 130, 140) connected through the network (170).

[0031] FIG. 2 is a block diagram illustrating an example of a computer device according to an embodiment of the present invention. Each of the plurality of electronic devices (110, 120, 130, 140) or servers (150, 160) described above can be implemented by the computer device (200) illustrated in FIG. 2.

[0032] As illustrated in FIG. 2, such a computer device (200) may include memory (210), a processor (220), a communication interface (230), and an input / output interface (240). The memory (210) is a computer-readable recording medium and may include a non-perishable mass storage device such as RAM (random access memory), ROM (read only memory), and a disk drive. Here, a non-perishable mass storage device such as a ROM and a disk drive may be included in the computer device (200) as a separate permanent storage device distinct from the memory (210). Additionally, an operating system and at least one program code may be stored in the memory (210). These software components may be loaded into the memory (210) from a computer-readable recording medium separate from the memory (210). This separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, or a memory card. In another embodiment, software components may be loaded into memory (210) via a communication interface (230) rather than a computer-readable recording medium. For example, software components may be loaded into memory (210) of a computer device (200) based on a computer program installed by files received through a network (170).

[0033] The processor (220) may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. Instructions may be provided to the processor (220) via memory (210) or a communication interface (230). For example, the processor (220) may be configured to execute instructions received according to program code stored in a recording device such as memory (210).

[0034] The communication interface (230) may provide a function for the computer device (200) to communicate with other devices (e.g., storage devices described above) through the network (170). For example, requests, commands, data, files, etc. generated by the processor (220) of the computer device (200) according to program code stored in a recording device such as memory (210) may be transmitted to other devices through the network (170) under the control of the communication interface (230). Conversely, signals, commands, data, files, etc. from other devices may be received by the computer device (200) through the communication interface (230) of the computer device (200) via the network (170). Signals, commands, data, etc. received through the communication interface (230) may be transmitted to the processor (220) or memory (210), and files, etc. may be stored in a storage medium (the permanent storage device described above) that the computer device (200) may further include.

[0035] The input / output interface (240) may be a means for interfacing with an input / output device (250). For example, the input device may include a device such as a microphone, keyboard, or mouse, and the output device may include a device such as a display or speaker. As another example, the input / output interface (240) may be a means for interfacing with a device in which the functions for input and output are integrated into one, such as a touchscreen. At least one of the input / output devices (250) may be configured as a single device with the computer device (200). For example, it may be implemented in a form in which a touchscreen, microphone, speaker, etc., are included in the computer device (200), such as in a smartphone.

[0036] Additionally, in other embodiments, the computer device (200) may include fewer or more components than the components of FIG. 2. However, it is not necessary to clearly illustrate most of the prior art components. For example, the computer device (200) may be implemented to include at least some of the input / output devices (250) described above, or may include other components such as a transceiver, a database, etc.

[0037] Generally, data can be classified into three states based on its point of use: data at rest, data in transit, and data in use, and protection measures vary depending on each state. Data at rest is stored in storage (file systems, databases, etc.) and can be protected through data encryption, while data in transit is transmitted and received through a communication channel and can be protected through channel encryption. Additionally, data in use (Data-in-Use) is loaded by the central processing unit into memory (or a secondary cache) and lacks an effective protection solution.

[0038] In particular, in multi-tenant (or multi-owner) environments utilizing the same shared resources, the need for data protection in use is even greater because the resources of multiple users utilizing the virtual environment are processed on a single large physical system. Even in such multi-tenant environments, there is a possibility of key and data leakage if another malicious process or another virtual machine unauthorizedly seizes memory access rights, and there are also concerns about unauthorized data access by system administrators who possess full system access rights.

[0039] To resolve these issues, separate dedicated hardware or memory protection software solutions must be introduced; however, these methods face significant cost and systemic constraints due to the need for expensive equipment or solutions and their suitability for virtual environments, as they are designed for traditional on-premises settings. Furthermore, the problem becomes even more critical if the data mentioned above is not merely data but encryption keys used to encrypt sensitive user data. While general cloud providers offer encryption processing and key management systems as SaaS (Software as a Service) that allow users to directly manage and encrypt keys, these solutions also have drawbacks in terms of protecting data at rest, considering that the cloud provider owns the encryption keys and unauthorized access by system administrators is theoretically possible.

[0040] While the above problem can be resolved by physically managing cryptographic keys securely and blocking access to the cryptographic processing system that actually uses them from anyone other than the owner, providing a statically configured, secure, dedicated cryptographic processing system for each user incurs high operating costs and lacks system scalability, making it difficult to respond flexibly to various scenarios.

[0041] Embodiments of the present invention relate to a key management system and method capable of satisfying key data access control standards required for a cryptographic system. By establishing protection measures for all key data states, this technology can overcome general recommendations that necessitate the use of physical systems. This enables increased scalability of the cryptographic system and improved efficiency in operating costs.

[0042] To this end, the key management system and method according to the embodiments of the present invention may provide a unique, dedicated encryption / decryption processing system for each user based on a Trusted Execution Environment (TEE). A Trusted Execution Environment is a technology that guarantees confidentiality by hardware-blocking unauthorized access to code and data being executed using a security area separated within the central processing unit, thereby providing effective protection measures for data in use. By applying the Trusted Execution Environment function to a virtual resource execution server (hypervisor) and configuring the user's encryption / decryption processing system using a guest virtual machine or container, key data in use can be protected. Since the Trusted Execution Environment can effectively protect data in use, it can possess flexible scalability.

[0043] FIG. 3 is a diagram illustrating an example of a key management system in an embodiment of the present invention. The key management system (300) according to the present embodiment may include a Key Management Server (KMS, 310), a Key Processing Cluster (320), and a Request Proxy (330) as two components distinguished according to their functional roles.

[0044] The key management server (310) may include a Hardware Security Module (HSM, 312), Persistent Key Storage (313), Encryptor (314), and an API server (KMS API Server, 315) in an Isolated Area (311).

[0045] The key processing cluster (320) may include an enclave (321) as a secure area provided by a trusted execution environment, and an API engine (322). The enclave (321) may implement a key processor (323), a key cache (324), and a decryptor (325).

[0046] The key management server (310) is a system for storing and managing keys and can be implemented to clearly comply with the standards of existing key management compliance, and can provide key management functions so that the user (User, 340) can use the cryptographic key while complying with various regulations required for cryptographic key management.

[0047] The key management server (310) can satisfy physical security requirements for the top-level key by storing and managing the top-level key (e.g., Root Key) in an HSM (312). Additionally, the key management server (310) can handle not only key management functions but also cluster authentication for the initial operation of a user-dedicated key processing cluster (320). Furthermore, the key management server (310) can synchronize information about the changed key to the key processing cluster (320) via event broadcasting when the key is created / deleted or its status is changed.

[0048] The key processing cluster (320) is a system that processes keys to perform data encryption / decryption functions and can be configured as a virtual machine or container based on a trusted execution environment. The key processing cluster (320) can synchronize keys from the key management server (310) to a memory area. Here, the memory can be configured as an enclave (321) as a security area provided by the trusted execution environment, thereby ensuring hardware isolation. In other words, it can be guaranteed that no entity other than the key processing unit (323) can access the area where keys are stored and processed, which means that not only users but also system administrators cannot access it.

[0049] When a key management server (310) is configured in a logical isolation area (311), the key management server (310) can store and manage the system root key, which is the top-level key, in an HSM (312). At this time, all functions of the key management server (310) and the key processing cluster (320) can be requested remotely via channel encryption. At this time, communication can be performed using enclave-supported TLS (e.g., RA-TLS (Remote Attestation Transport Layer Security)). Through this isolation area (311) and remote requests via channel encryption, protection conditions for data in transmission can be established. As a more specific example, the user (340) may communicate with the key management server (310) through the request proxy (330) and API server (315) to request the creation and storage of an encryption key to be used in the user's (340) dedicated encryption / decryption processing system, and may request the key management server (310) to read the key from the key processing cluster (320) and process encryption / decryption through the request proxy (330) and API engine (322).

[0050] The user (340) can manage cryptographic keys through the key management server (310). For example, the encryption unit (314) of the key management server (310) can encrypt the cryptographic key using the root key stored in the HSM (312) and store the encrypted cryptographic key (e.g., Sealed Key) in the permanent key storage (313). Through this HSM (312) and permanent key storage (313), protection conditions for idle data can be established.

[0051] Additionally, a user (340) using the key management server (310) can dynamically configure their own dedicated encryption / decryption processing system. This dedicated encryption / decryption processing system can be configured in the key processing cluster (320) as a virtualization system based on a trusted execution environment. For example, the user's (340) dedicated encryption / decryption processing system can be configured as a virtual machine or container in the key processing cluster (320).

[0052] When the user's (340) dedicated encryption / decryption processing system is configured in the key processing cluster (320) using a virtual machine or container and is first started, the key management server (310) can authenticate the system to complete the preparation for operation. The authentication method may use a pre-configured client certificate method.

[0053] The enclave (321), which is a memory area implemented in each virtual machine or container, is controlled at the hardware level by the Central Processing Unit (CPU). Therefore, no entity other than the process allowed to execute can access the memory area. This ensures that protection conditions for data in use can be established.

[0054] The encryption key managed by the user (340) in the key management server (310) can be temporarily stored in the memory area, the enclave (321). For example, the key processing cluster (320) can retrieve the user's (340) encryption key from the permanent key store (313) of the key management server (310), decrypt it through the decryption unit (325), and temporarily store it in the key cache (324). The link for retrieving the user's (340) encryption key can be protected by the client certificate described above. For example, to decrypt the user's (340) encryption key, the decryption unit (325) can decrypt the user's (340) encryption key using the root key obtained from the HSM (312) by the key processing unit (323). The link for transmitting the root key can also be protected by the client certificate. The key processing cluster (320) can periodically update the password key of the user (340) temporarily stored in the key cache (324) by performing flush logic to reflect the temporarily stored data (password key of the user (340)) in the permanent key store (313) and re-sync logic to synchronize the temporarily stored data with the original data (password key of the user (340) stored in the permanent key store (313)).

[0055] Through the series of processes described above, the encryption key of the user (340) can be guaranteed to be secure for all data states (idle state / transmission state / usage state). In addition, since access to the key element is physically blocked at the source, the data user's control over the encryption key can be guaranteed.

[0056] FIG. 4 is a flowchart illustrating an example of a key management method according to an embodiment of the present invention. The key management method according to the present embodiment may be performed by a key management system (300) implemented by at least one computer device. At this time, at least one processor included in the at least one computer device may be implemented to execute a control instruction according to the code of an operating system included in memory or the code of at least one computer program. Here, the at least one processor may operate according to a control instruction provided by the code stored in the at least one computer device to control the key management system (300) implemented by the at least one computer device so that the key management system (300) performs steps (410 to 430) included in the method of FIG. 4.

[0057] In step (410), the key management system (300) can encrypt the user's key using the root key stored in the HSM (312) included in the key management server (310) and store it in the permanent key storage (313) further included in the key management server (310). For example, the key management server (310) may include the HSM (312), the permanent key storage (313), and the encryption unit (314) in a pre-configured isolation zone (311). In this case, the key management system (300) can encrypt the user's key using the root key stored in the HSM (312) through the encryption unit (314) in step (410) and store the encrypted user's key in the permanent key storage. At this time, by encrypting the user's key using the root key stored in the HSM (312) and storing it in the permanent key storage (313), a protection condition for idle data can be established.

[0058] In step (420), the key management system (300) can implement and run a user-specific encryption / decryption processing system in a key processing cluster (320) as a virtual machine or container based on a trusted execution environment. At this time, the key processing cluster (320) may include an enclave (321) as a security area provided by the trusted execution environment. The key processing cluster (320) can implement and run a user-specific encryption / decryption processing system through multiple virtual machines or containers for multiple users. The enclave (321) may include a decryption unit (325) and a key processing unit (323).

[0059] In step (430), the key management system (300) can decrypt the encrypted user's key stored in the permanent key storage (313) using the root key. In this case, the key management system (300) can decrypt the encrypted user's key using the root key through the decryption unit (325).

[0060] In step (440), the key management system (300) can process the encryption / decryption function of the dedicated encryption / decryption processing system in a trusted execution environment using the decrypted user's key. For example, the key management system (300) can process the encryption / decryption function of the dedicated encryption / decryption processing system in a trusted execution environment using the decrypted user's key through the key processing unit (323). At this time, protection conditions for data in use can be established by processing the encryption / decryption function of the dedicated encryption / decryption processing system within the enclave (321) using the user's key temporarily stored in the key cache (324) of the enclave (321) as a security area provided by the trusted execution environment.

[0061] According to an embodiment, the enclave (321) may further include a key cache (324) that temporarily stores the decrypted user's key. At this time, the key management system (300) can periodically update the user's key temporarily stored in the key cache (324) by performing a flush logic that reflects the user's key temporarily stored in the key cache (324) to the permanent key storage (313) through the key processing cluster (320), and a re-sync logic that synchronizes the user's key temporarily stored in the key cache (324) with the user's key stored in the permanent key storage (313).

[0062] Additionally, user requests for all functions of the key management server (310) and the key processing cluster (320) can be made remotely through RA-TLS (Remote Attestation Transport Layer Security)-based channel encryption. At this time, protection conditions for data being transmitted can be established through the remote request via channel encryption.

[0063] As such, according to embodiments of the present invention, a system and method for managing keys based on a Trusted Execution Environment (TEE) for comprehensive state protection of key data can be provided.

[0064] The system or device described above may be implemented as a hardware component, or a combination of a hardware component and a software component. For example, the device and component described in the embodiments may be implemented using one or more general-purpose or special-purpose computers, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing unit may execute an operating system (OS) and one or more software applications executed on said operating system. Additionally, the processing unit may access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing unit may be described as being used as a single unit, but those skilled in the art will understand that the processing unit may include multiple processing elements and / or multiple types of processing elements. For example, the processing unit may include multiple processors or one processor and one controller. In addition, other processing configurations, such as parallel processors, are also possible.

[0065] Software may include computer programs, code, instructions, or a combination of one or more of these, and may configure a processing unit to operate as desired or instruct the processing unit independently or collectively. Software and / or data may be embodied in any type of machine, component, physical device, virtual equipment, computer storage medium, or device so as to be interpreted by the processing unit or to provide instructions or data to the processing unit. Software may be distributed over networked computer systems and may be stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

[0066] The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., either individually or in combination. The medium may continuously store a program executable by a computer, or temporarily store it for execution or download. Furthermore, the medium may be various recording or storage means in the form of a single or multiple hardware components, and is not limited to a medium directly connected to a computer system, but may exist distributed over a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and media configured to store program instructions, including ROM, RAM, and flash memory. Additionally, other examples of media may include recording or storage media managed by app stores that distribute applications or sites and servers that supply or distribute various other software. Examples of program instructions include machine code, such as that generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

[0067] Although the embodiments have been described above with reference to limited examples and drawings, those skilled in the art can make various modifications and variations from the description above. For example, suitable results can be achieved even if the described techniques are performed in a different order than described, and / or the components of the described system, structure, device, circuit, etc. are combined or assembled in a form different from described, or replaced or substituted by other components or equivalents.

[0068] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims set forth below.

Claims

1. In a key management system, A key management server that encrypts user keys with root keys stored in an HSM (Hardware Security Module) and stores and manages them in a persistent key store; and A key processing cluster that implements and runs a user-specific encryption / decryption processing system as a virtual machine or container based on a Trusted Execution Environment (TEE), decrypts the encrypted user's key stored in the permanent key store using the root key, and processes the encryption / decryption functions of the dedicated encryption / decryption processing system in the Trusted Execution Environment using the decrypted user's key. A key management system including 2. In Paragraph 1, The above key management server, in a pre-configured isolation area, The HSM storing the above root key; An encryption unit that encrypts the user's key using the root key; and The permanent key storage that stores the above-mentioned encrypted user's key including A key management system featuring 3. In Paragraph 2, A key management system characterized by establishing protection conditions for data-at-rest by encrypting the user's key through the root key stored in the above HSM and storing it in the above permanent key store.

4. In Paragraph 1, The above key processing cluster is, It includes an enclave as a security area provided by the above-mentioned trusted execution environment, and The above enclave is, A decryption unit that decrypts the above-mentioned encrypted user key using the above-mentioned root key; and A key processing unit that processes the encryption / decryption function of the dedicated encryption / decryption processing system using the decrypted user's key. A key management system characterized by including 5. In Paragraph 4, The above enclave is, Key cache that temporarily stores the aforementioned decrypted user key A key management system characterized by further including 6. In Paragraph 5, A key management system characterized by the above key processing cluster periodically updating the user's key temporarily stored in the key cache by performing flush logic that reflects the user's key temporarily stored in the key cache into the permanent key store and re-sync logic that synchronizes the user's key temporarily stored in the key cache with the user's key stored in the permanent key store.

7. In Paragraph 4, A key management system characterized by establishing protection conditions for Data-in-Use by processing the encryption / decryption function of the dedicated encryption / decryption processing system within the enclave using a user's key temporarily stored in the key cache of the enclave as a security area provided by the trusted execution environment.

8. In Paragraph 1, A key management system characterized in that user requests for all functions of the key management server and the key processing cluster are requested remotely through channel encryption based on RA-TLS (Remote Attestation Transport Layer Security).

9. In Paragraph 8, A key management system characterized by establishing protection conditions for data in transmission through a remote request via the above-mentioned channel encryption.

10. In the key management method of a key management system, The above key management system includes a key management server and a key processing cluster, and The above key management method is, A step of encrypting a user's key with a root key stored in a Hardware Security Module (HSM) included in the key management server and storing it in a permanent key store further included in the key management server; A step of implementing and running a user-specific encryption / decryption processing system on the key processing cluster as a virtual machine or container based on a Trusted Execution Environment (TEE); A step of decrypting the encrypted user's key stored in the above permanent key store using the root key; and A step of processing the encryption / decryption function of the dedicated encryption / decryption processing system in the trusted execution environment using the decrypted user's key. A key management method characterized by including 11. In Paragraph 10, The above key management server includes the above HSM, the above permanent key storage, and the cryptographic unit in a pre-configured isolation zone, and The above-mentioned saving step is, Encrypting the user's key using the root key stored in the HSM through the encryption unit, and storing the encrypted user's key in the permanent key storage. A key management method characterized by 12. In Paragraph 10, The above key processing cluster is, It includes an enclave as a security area provided by the above-mentioned trusted execution environment, and The above enclave includes a decoding unit and a key processing unit, and The above decoding step is, The encrypted user's key is decrypted using the root key through the decryption unit above, and The above processing step is, Processing the encryption / decryption function of the dedicated encryption / decryption processing system in the trusted execution environment using the decrypted user's key through the key processing unit. A key management method characterized by 13. In Paragraph 10, A key management method characterized in that user requests for all functions of the key management server and the key processing cluster are requested remotely through channel encryption based on RA-TLS (Remote Attestation Transport Layer Security).

14. A computer program stored on a computer-readable recording medium combined with a computer device to execute the method of any one of claims 10 to 13 on the computer device.