Data distribution method and system for guaranteeing confidentiality of original and application data based on hybrid cloud
The described method and system use encryption and Shamir Secret Sharing to ensure confidentiality of LLMs in hybrid clouds by encrypting the base model with a trust anchor and splitting the fine-tuned model's key, addressing the challenge of overlapping data boundaries and maintaining ownership rights.
Patent Information
- Application Number
- PCT/KR2024/020508
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-28
- Filing Date
- 2024-12-17
- Publication Date
- 2025-09-04
AI Technical Summary
In hybrid cloud architectures, ensuring the confidentiality of both the base and fine-tuned Large Language Models (LLMs) is challenging due to overlapping data boundaries, where the provider does not want to expose the base model to the customer, and the customer does not want to expose the fine-tuned model to the provider, while maintaining ownership rights.
A data distribution method and system using encryption and Shamir Secret Sharing algorithms to ensure confidentiality, where the base model is encrypted with a trust anchor and distributed with a sealing key, and the fine-tuned model's encryption key is split into shards, requiring agreement from both parties for access.
This approach maintains confidentiality by ensuring that neither party can access the model without mutual consent, thus satisfying the requirements of both the provider and customer.
Smart Images

Figure KR2024020508_04092025_PF_FP_ABST
Abstract
Description
Data distribution method and system for ensuring confidentiality of source and application data based on hybrid cloud
[0001] The following description relates to a data distribution method and system for ensuring confidentiality of source and application data based on a hybrid cloud.
[0002] Driven by the recent surge in artificial intelligence (AI) platforms, several companies are developing and publicly releasing Large Language Models (LLMs). LLMs are the result of a learning process that involves countless steps to construct and redefine structures, patterns, and relationships based on a vast amount of specific language data, possessing unique characteristics and inherent uniqueness.
[0003] Companies with LLMs provide basic models to customers who wish to utilize them. Customers then use a deep learning process to fine-tune the basic model with their own additional data, allowing them to leverage it in a variety of fields. Services offered as AI platforms are often offered by cloud service providers (CSPs), as they are structured specifically for cloud environments that allow for flexible utilization of large-scale computing resources.
[0004] However, there are many concerns regarding the rights to use or ownership of the base model and the fine-tuned model based on it. Therefore, attempts are being made to operate AI platforms using a hybrid cloud architecture, a variant of the traditional cloud and an alternative to sovereignty requirements. For example, in the case of recently popular cloud AI platforms, the platform provider provides a basic LLM to AI platform customers, who then use this LLM to build their own fine-tuned model as their own proprietary model by enhancing or training it with their own data. However, in a hybrid cloud architecture, it is difficult to guarantee complete confidentiality when the boundaries between the provision of the original data and the use of custom data based on it overlap. Therefore, even a hybrid cloud architecture cannot satisfy the requirements for model confidentiality and ownership. For example, if the AI platform provider does not want to directly expose the base model to the customer, the customer does not want to expose the fine-tuned model to the AI platform provider, and the base model must be used with the consent of the original model provider, then this requirement cannot be satisfied in a conventional hybrid cloud environment.
[0005] Provides a data distribution method and system for ensuring confidentiality of original and application data based on a hybrid cloud.
[0006] A data distribution method of a first computer device that includes at least one processor and implements the infrastructure of a cloud-based artificial intelligence platform, the method comprising: encrypting original data using a first encryption key by the at least one processor to generate encrypted original data; establishing a trust anchor that is linked to the first encryption key and authenticates a decryption request for the encrypted original data by the at least one processor; encrypting the first encryption key with a master key by the at least one processor to generate a sealing key; bundling the encrypted original data and the sealing key through data enveloping and distributing them together by the at least one processor; authenticating a decryption request from a second computer device that implements a cluster environment for processing the original data through the trust anchor by the at least one processor; and decrypting, in response to the authentication of the decryption request, the sealing key included in the decryption request using the master key and transmitting the decrypted first encryption key to the second computer device.
[0007] According to one aspect, the step of setting up the trust anchor may include: a step of generating a credential linked to the first encryption key; and a step of installing the credential in the cluster environment; and the step of authenticating may include comparing the credential installed in the cluster environment through the trust anchor with the generated credential to authenticate the decryption request.
[0008] According to another aspect, the second computer device may be characterized in that it is implemented to decrypt the encrypted original data with the decrypted first encryption key to obtain the original data, and process the original data to generate application data.
[0009] According to another aspect, the original data may include data corresponding to a basic artificial intelligence model, and the application data may include data corresponding to a fine-tuning model generated by training the basic artificial intelligence model.
[0010] According to another aspect, the second computer device may be characterized in that it is implemented to encrypt the application data with a second encryption key to generate encrypted application data, divide the second encryption key into a plurality of pieces using a Shamir Secret Sharing algorithm to generate a first shard and a second shard, and transmit the first shard to the first computer device.
[0011] According to another aspect, the Shamir Secret Sharing algorithm may include an algorithm for generating the second encryption key by dividing the second encryption key into n pieces (wherein n is a natural number greater than or equal to 2) and merging t pieces (wherein t is a natural number less than or equal to n) of the n pieces, wherein each of the first shard and the second shard includes less than t pieces, and the sum of the number of pieces included in the first shard and the number of pieces included in the second shard is greater than or equal to t and less than or equal to n.
[0012] According to another aspect, the second computer device may be implemented to request the first shard from the first computer device, combine the first shard received from the first computer device and the generated second shard through the Shamir Secret Sharing algorithm to generate the second encryption key, and decrypt the encrypted application data using the second encryption key to obtain decrypted application data.
[0013] According to another aspect, the second computer device may be characterized in that it is implemented to back up the encrypted application data and the second shard.
[0014] According to another aspect, the data distribution method may further include: storing, by the at least one processor, the first shard transmitted from the second computer device; authenticating, by the at least one processor, a request for the first shard received from the second computer device through the trust anchor; and transmitting, by the at least one processor, the first shard to the second computer device in response to the authentication of the request for the first shard.
[0015] A method for distributing data between a second computer device that implements a cluster environment by linking with a first computer device that includes at least one processor and implements the infrastructure of a cloud-based artificial intelligence platform,
[0016] A method for receiving, by the at least one processor, original data encrypted with a first encryption key from the first computer device and a sealing key generated by encrypting the first encryption key with a master key of the first computer device; A method for transmitting, by the at least one processor, a request for decryption of the sealing key to the first computer device; A method for receiving, by the at least one processor, the first encryption key decrypted with the master key from the first computer device; A method for decrypting the encrypted original data with the first encryption key to obtain original data; A method for processing the original data to generate application data by the at least one processor; A method for encrypting the application data with a second encryption key to generate encrypted application data; A method for generating, by the at least one processor, a first shard and a second shard by dividing the second encryption key into a plurality of pieces using a Shamir Secret Sharing algorithm; And a data distribution method characterized by comprising a step of transmitting the first shard to the first computer device by the at least one processor.
[0017] According to one aspect, a credential linked to the first encryption key is generated and installed in the cluster environment through a trust anchor set by the first computer device, and the step of transmitting the decryption request may further transmit the credential installed in the cluster environment to the first computer device together with the decryption request, and the decryption request is authenticated through a comparison between the credential further transmitted and the credential generated through the trust anchor in the first computer device.
[0018] According to another aspect, the Shamir Secret Sharing algorithm may include an algorithm for generating the second encryption key by dividing the second encryption key into n pieces (wherein n is a natural number greater than or equal to 2) and merging t pieces (wherein t is a natural number less than or equal to n) of the n pieces, wherein each of the first shard and the second shard includes less than t pieces, and the sum of the number of pieces included in the first shard and the number of pieces included in the second shard is greater than or equal to t and less than or equal to n.
[0019] According to another aspect, the data distribution method may further include: requesting the first shard from the first computer device by the at least one processor; combining the first shard received from the first computer device and the generated second shard through the Shamir Secret Sharing algorithm by the at least one processor to generate the second encryption key; and decrypting the encrypted application data using the second encryption key by the at least one processor to obtain decrypted application data.
[0020] According to another aspect, the data distribution method may further include a step of backing up the encrypted application data and the second shard by the at least one processor.
[0021] According to another aspect, the original data may include data corresponding to a basic artificial intelligence model, and the application data may include data corresponding to a fine-tuning model generated by training the basic artificial intelligence model.
[0022] A computer program stored on a computer-readable recording medium is provided for executing the above method on a computer device in combination with a computer device.
[0023] A computer-readable recording medium having recorded thereon a program for executing the above method on a computer device is provided.
[0024] A first computer device implementing the infrastructure of a cloud-based artificial intelligence platform, comprising at least one processor configured to execute a computer-readable command, wherein the computer device encrypts original data using a first encryption key to generate encrypted original data, sets a trust anchor linked to the first encryption key to authenticate a decryption request for the encrypted original data, encrypts the first encryption key with a master key to generate a sealing key, bundles the encrypted original data and the sealing key through data enveloping and distributes them together, authenticates a decryption request from a second computer device implementing a cluster environment for processing the original data through the trust anchor, and in response to the authentication of the decryption request, decrypts the sealing key included in the decryption request with the master key and transmits the decrypted first encryption key to the second computer device.
[0025] A second computer device implementing a cluster environment in conjunction with a first computer device implementing the infrastructure of a cloud-based artificial intelligence platform, the computer device comprising at least one processor configured to execute a computer-readable command, wherein the at least one processor receives original data encrypted with a first encryption key from the first computer device and a sealing key generated by encrypting the first encryption key with a master key of the first computer device, transmits a request for decryption of the sealing key to the first computer device, receives the first encryption key decrypted with the master key from the first computer device, decrypts the encrypted original data with the first encryption key to obtain original data, processes the original data to generate application data, encrypts the application data with a second encryption key to generate encrypted application data, divides the second encryption key into a plurality of pieces using a Shamir Secret Sharing algorithm to generate a first shard and a second shard, and transmits the first shard to the first computer device.
[0026] A data distribution method and system can be provided to ensure the confidentiality of original and application data based on a hybrid cloud.
[0027] FIG. 1 is a diagram illustrating an example of a network environment according to one embodiment of the present invention.
[0028] FIG. 2 is a block diagram illustrating an example of a computer device according to one embodiment of the present invention.
[0029] FIG. 3 is a drawing showing an example of a general appearance of a data distribution system according to one embodiment of the present invention.
[0030] FIG. 4 is a diagram illustrating an example of a process for generating a fine tuning model in one embodiment of the present invention.
[0031] FIG. 5 is a diagram illustrating an example of a process for encrypting a fine tuning model in one embodiment of the present invention.
[0032] FIG. 6 is a diagram illustrating an example of a process for reusing a backed-up fine tuning model in one embodiment of the present invention.
[0033] FIG. 7 is a flowchart illustrating an example of a data distribution method according to one embodiment of the present invention.
[0034] FIG. 8 is a flowchart illustrating another example of a data distribution method according to one embodiment of the present invention.
[0035] Hereinafter, the detailed description will be given with reference to the attached drawings.
[0036] A data distribution 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 the data distribution method according to embodiments of the present invention under the control of the run computer program. The computer program described above may be stored on a computer-readable recording medium, which may be coupled to the computer device and cause the computer to execute the data distribution method.
[0037] 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 represents 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 merely an example for explaining the invention, and the number of electronic devices or servers is not limited to that of FIG. 1. In addition, the network environment of FIG. 1 merely illustrates one example of environments applicable to the present embodiments, and the environments applicable to the present embodiments are not limited to the network environment of FIG. 1.
[0038] The plurality of electronic devices (110, 120, 130, 140) may be fixed terminals or mobile terminals implemented as computer devices. Examples of the plurality of electronic devices (110, 120, 130, 140) include smart phones, mobile phones, navigation systems, computers, laptops, digital broadcasting terminals, PDAs (Personal Digital Assistants), PMPs (Portable Multimedia Players), tablet PCs, etc. For example, in FIG. 1, the shape of a smart phone is shown as an example of the electronic device (110), but in embodiments of the present invention, the electronic device (110) may actually mean one of various physical computer devices that can communicate with other electronic devices (120, 130, 140) and / or servers (150, 160) via a network (170) using a wireless or wired communication method.
[0039] The communication method is not limited, and may include not only a communication method that utilizes a communication network (e.g., a mobile communication network, a wired Internet, a wireless Internet, a broadcasting network) 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 of a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), the Internet, and the like. In addition, the network (170) may include any one or more of a network topology including, but not limited to, a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree, or a hierarchical network.
[0040] Each server (150, 160) may be implemented as a computer device or multiple computer devices that communicate with multiple electronic devices (110, 120, 130, 140) via a network (170) to provide commands, codes, files, contents, services, etc. For example, the server (150) may be a system that provides services to multiple electronic devices (110, 120, 130, 140) connected via a network (170).
[0041] FIG. 2 is a block diagram illustrating an example of a computer device according to an embodiment of the present invention. Each of the multiple electronic devices (110, 120, 130, 140) or servers (150, 160) described above can be implemented by the computer device (200) illustrated in FIG. 2.
[0042] Such a computer device (200) may include a memory (210), a processor (220), a communication interface (230), and an input / output interface (240), as illustrated in FIG. 2. The memory (210) may be a computer-readable recording medium, and may include a random access memory (RAM), a read only memory (ROM), and a non-permanent mass storage device such as a disk drive. Here, the non-permanent 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). In addition, 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). Such a 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, a memory card, etc. In another embodiment, the software components may be loaded into the memory (210) via a communication interface (230) other than a computer-readable recording medium. For example, the software components may be loaded into the memory (210) of the computer device (200) based on a computer program installed by files received over a network (170).
[0043] 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 the memory (210) or the communication interface (230). For example, the processor (220) may be configured to execute instructions received according to program code stored in a storage device such as the memory (210).
[0044] The communication interface (230) may provide a function for the computer device (200) to communicate with other devices (e.g., the storage devices described above) via the network (170). For example, requests, commands, data, files, etc. generated by the processor (220) of the computer device (200) according to program codes stored in a recording device such as the memory (210) may be transmitted to other devices via 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) via the communication interface (230) of the computer device (200) via the network (170). Signals, commands, data, etc. received via the communication interface (230) may be transmitted to the processor (220) or the 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.
[0045] 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, a keyboard, or a mouse, and the output device may include a device such as a display or a speaker. As another example, the input / output interface (240) may be a means for interfacing with a device that integrates input and output functions, 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, a touchscreen, a microphone, a speaker, etc. may be implemented in a form included in the computer device (200), such as a smartphone.
[0046] Additionally, in other embodiments, the computer device (200) may include fewer or more components than those illustrated in FIG. 2. However, it is not necessary to explicitly illustrate most conventional 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 further include other components such as a transceiver, a database, etc.
[0047] FIG. 3 is a diagram illustrating an example of a general overview of a data distribution system according to one embodiment of the present invention. The data distribution system (300) according to the embodiment of FIG. 3 may include a cloud provider boundary (310) and a customer boundary (320).
[0048] The cloud provider boundary (310) can provide an artificial intelligence (AI) platform infrastructure of a hybrid cloud, and can include a key management system (KMS, 311) and a private certificate authority (CP, 312), as illustrated in FIG. 3. The AI platform infrastructure of the cloud provider boundary (310) can set up a trust anchor for authentication and authorization to be performed when an encryption request is made. The trust anchor can be configured based on a private certificate, and a private CA (312) can be operated separately for issuing and managing the private certificate. The trust anchor must be injected with the same anchor per cluster where the model is actually deployed, due to the characteristics of the container cluster of the dynamically scaled model analysis system. A specific example of setting up a trust anchor is to add a cluster-specific CA chain to the base image when configuring the container, and to set up a node certificate in the cluster policy (for example, Pod policy in the case of Kubernetes). At this time, node certificates are issued in real time when the node is running, so that different certificates can be injected into each node.
[0049] The provider of the base model (313) can encrypt the base model (313) using the base model encryption key (314) for distribution of the base model (313). At this time, the encryption can be processed through the KMS (311). The base model encryption key (314) is linked 1:1 to the trust anchor and can be used when requesting decryption of the encrypted base model (Encrypted Base Model, 315) in the future. Since the private CA (312), which is a trust anchor operated for each cluster, has its own certification chain, if the encrypted base model (315) is copied to an unauthenticated system through another path, the signature value cannot be properly verified and thus the base model encryption key (314) cannot be normally acquired.
[0050] Distribution of the encrypted basic model (315) can be handled by data enveloping. Distribution by data enveloping is a method of bundling and distributing the encrypted basic model (315) and the basic model encryption key (314) with a sealed key (Wrapped Key, 316). If this is used, different encryption keys are applied to each distribution point, so if the distribution time and location are different, decryption is not possible properly. Since the basic model encryption key (314) is sealed with a master key (Master Key, 317) managed by the cloud provider, no one other than the cloud provider can decrypt the encrypted basic model (315) without authorization.
[0051] Meanwhile, the customer boundary (320) may include an inference virtual machine (321) for processing learning and inference of the basic model (315) as a cluster environment where learning and inference are processed. However, since the encrypted basic model (315) is distributed, decryption of the encrypted basic model (315) is required for the inference virtual machine (321) to utilize the basic model (313). At this time, a credential, such as a certificate provided by a private CA (312), may be installed in the cluster environment.
[0052] FIG. 4 is a diagram illustrating an example of a process for generating a fine-tuning model according to an embodiment of the present invention. The distributed encrypted basic model (315) can be decrypted for fine-tuning. At this time, the computer device (200) implementing the cluster environment can provide an artificial intelligence service based on the inference virtual machine (321). The computer device (200) can first request the KMS (311) to unseale the sealing key (316) based on the certificate (credential). In this case, the KMS (311) compares the configuration information injected when configuring the certificate and the cluster environment with the information in the certificate, and if they match, the KMS (311) can unseal the sealing key (316) using the master key (317) and provide the basic model encryption key (314) to the computer device (200). In this case, the computer device (200) can decrypt the basic model (315) encrypted with the basic model encryption key (314) to obtain the basic model (313). Since the cloud provider has the management authority for the cluster environment, the customer can only request the function, and it is not easy to enter the infrastructure level in the cluster environment to dump the memory or analyze its contents. Therefore, even if the basic model encryption key (314) is provided to the computer device (200), the confidentiality of the basic model (313) for the customer can be maintained. Thereafter, the computer device (200) can train the basic model (313) using the inference virtual machine (321) and the learning / inference data (410) to generate a fine-tuned model (420).
[0053] FIG. 5 is a diagram illustrating an example of a process for encrypting a fine-tuning model according to an embodiment of the present invention. A successfully tuned fine-tuning model (420) can be encrypted using a dynamically generated fine-tuning model encryption key (510). This encryption process can be processed based on a file server of an artificial intelligence service based on an inference virtual machine (321). The fine-tuning model encryption key (510) can be split before providing the encrypted fine-tuning model (520) to a customer. The splitting of the fine-tuning model encryption key (510) can be performed using the Shamir Secret Sharing algorithm. The Shamir Secret Sharing algorithm is a technology that splits a secret into n pieces and stores it, and later merges t pieces out of the n pieces to obtain the original secret. For example, a computer device (200) may divide a fine-tuning model encryption key (510) into n pieces and store them using the Shamir Secret Sharing algorithm, and later merge t pieces out of the n pieces to obtain the original fine-tuning model encryption key (510). Here, n and t may be natural numbers defined by the Shamir Secret Sharing algorithm.
[0054] At this time, the pieces can be divided into Shard A (530) and Shard B (540) so that the cloud provider side and the customer side (for example, a user who receives and uses a fine-tuning model through an AI platform) cannot arbitrarily obtain the fine-tuning model encryption key (510). At this time, the number of pieces included in Shard A (530) and the number of pieces included in Shard B can be less than t, and the sum of the number of pieces included in Shard A (530) and the number of pieces included in Shard B can be greater than or equal to t and less than or equal to n. Thereafter, the computer device (200) can transfer Shard A (530) to the cloud provider boundary (310). In the embodiment of FIG. 5, the cloud provider boundary (310) can further include a Secret Manager (560) for managing Shard A (530) as a secret (550). For example, the secret (550) may be encrypted and stored with a master key (317), and the secret manager (560) may decrypt the encrypted secret (550) with the master key (317) and transmit it to the computer device (200) when the computer device (200) requests shard A (530). In this case, a certificate (credential) may also be used for customer authentication.
[0055] In this way, in order for a customer to use a fine-tuned model (420), shard A (530) stored on the cloud provider side is required, and therefore, in order to use a fine-tuned model (420), both the cloud provider, which is the provider of the basic model (313), and the customer who tuned the basic model (313) must agree. Accordingly, it is possible to satisfy all requirements: 'the provider of the AI platform does not want to directly expose the basic model to the customer, the customer does not want to expose the fine-tuned model to the provider of the AI platform, and the basic model must be used under the agreement of the provider of the original model.'
[0056] Meanwhile, the encrypted fine tuning model (520) and shard B (540) can be backed up separately to prevent loss.
[0057] FIG. 6 is a diagram illustrating an example of a process for reusing a backed-up fine-tuned model according to an embodiment of the present invention. The process for reusing a backed-up fine-tuned model may be processed based on a file server of an artificial intelligence service based on an inference virtual machine (321). The computer device (200) may obtain shard A (530) through the secret manager (560). The process for obtaining shard A (530) may be identical to that described with reference to FIG. 5. In addition, the computer device (200) may obtain a backed-up shard B (540) and an encrypted fine-tuned model (520). Thereafter, the computer device (200) can obtain a fine tuning model encryption key (510) by combining shard A (530) and backed-up shard B (540) through the Shamir Secret Sharing algorithm, and can obtain a fine tuning model (540) by decrypting the encrypted fine tuning model (520) using the obtained fine tuning model encryption key (510) and reusing the fine tuning model (540).
[0058] Meanwhile, in the above embodiments, a data distribution method and system that maintain confidentiality for the basic model (313) and the fine tuning model (420) were described, but it can be easily understood through the above explanation that this can be extended to a data distribution method and system that maintain confidentiality for the original data and the application data processed from the original data.
[0059] FIG. 7 is a flowchart illustrating an example of a data distribution method according to an embodiment of the present invention. The data distribution method according to this embodiment may be performed by at least one computer device (200) implementing a server or platform included in the infrastructure of the AI platform described above. At this time, the processor (220) of the computer device (200) may be implemented to execute control instructions according to the code of the operating system included in the memory (210) or the code of at least one computer program. Here, the processor (220) may control the computer device (200) so that the computer device (200) performs steps (710 to 760) included in the method of FIG. 7 according to the control instructions provided by the code stored in the computer device (200).
[0060] In step (710), the computer device (200) can encrypt the original data using the first encryption key to generate encrypted original data.
[0061] At step (720), the computer device (200) may establish a trust anchor that authenticates a decryption request for encrypted original data in conjunction with the first encryption key. At this time, the computer device (200) may generate a credential associated with the first encryption key and install the credential in the cluster environment. This credential may then be used to authenticate a decryption request from a second computer device implementing the cluster environment.
[0062] In step (730), the computer device (200) can generate a sealing key by encrypting the first encryption key with a master key.
[0063] In step (740), the computer device (200) can bundle the encrypted original data and the sealing key through data enveloping and distribute them together.
[0064] In step (750), the computer device (200) can authenticate a decryption request from a second computer device that implements a cluster environment for processing the original data through a trust anchor. For example, the computer device (200) can authenticate the decryption request by comparing the credentials installed in the cluster environment with the generated credentials through the trust anchor. In the embodiment of FIG. 7, the computer device (200) may be a physical electronic device that implements a server or platform included in the infrastructure of the AI platform as described above, and the second computer device may be a physical electronic device that is distinct from the computer device (200) and implements a cluster environment.
[0065] In step (760), the computer device (200) may decrypt the sealing key included in the decryption request with the master key in response to the authentication of the decryption request and transmit the decrypted first encryption key to the second computer device. In this case, the second computer device may decrypt the encrypted original data with the decrypted first encryption key to obtain the original data, and process the original data to generate application data. Here, the original data may include data corresponding to the basic artificial intelligence model, and the application data may include data corresponding to the fine-tuning model generated by training the basic artificial intelligence model, but is not limited thereto.
[0066] In addition, the second computer device can generate encrypted application data by encrypting the application data with the second encryption key, and can divide the second encryption key into a plurality of pieces using the Shamir Secret Sharing algorithm to generate a first shard and a second shard. Here, the Shamir Secret Sharing algorithm can include an algorithm that divides the second encryption key into n pieces (where n is a natural number greater than or equal to 2) and merges t pieces (where t is a natural number less than or equal to n) of the n pieces to generate the second encryption key. In this case, each of the first shard and the second shard can include less than t pieces, and the sum of the number of pieces included in the first shard and the number of pieces included in the second shard can be greater than or equal to t and less than or equal to n. In addition, the second computer device can transmit the first shard to the first computer device. In this case, the computer device (200) can store the first shard transmitted from the second computer device. Thereafter, the second computer device can request the first shard from the first computer device. In this case, the computer device (200) can authenticate the request for the first shard received from the second computer device through the trust anchor, and in response to the authentication of the request for the first shard, transfer the first shard to the second computer device. At this time, the second computer device can decrypt the encrypted application data using the second encryption key and obtain the decrypted application data. In addition, the second encryption key can back up the encrypted application data and the second shard. The reuse of the backed-up encrypted application data has been described in detail above with reference to FIG. 6.
[0067] FIG. 8 is a flowchart illustrating another example of a data distribution method according to an embodiment of the present invention. The data distribution method according to the present embodiment may be performed by at least one computer device (200) implementing the cluster environment described above. At this time, the processor (220) of the computer device (200) may be implemented to execute control instructions according to the code of the operating system included in the memory (210) or the code of at least one computer program. Here, the processor (220) may control the computer device (200) so that the computer device (200) performs steps (810 to 880) included in the method of FIG. 8 according to the control instructions provided by the code stored in the computer device (200).
[0068] In step (810), the computer device (200) may receive original data encrypted with a first encryption key from the first computer device and a sealing key generated by encrypting the first encryption key with the master key of the first computer device. Here, the first computer device may be a physical electronic device that is distinct from the computer device (200) according to the embodiment of FIG. 8 and implements the infrastructure of a cloud-based artificial intelligence platform.
[0069] At step (820), the computer device (200) may transmit a decryption request for the sealing key to the first computer device. First, a credential linked to the first encryption key may be generated through a trust anchor established by the first computer device and installed in a cluster environment implemented by the computer device (200). In this case, the computer device (200) may further transmit the credential installed in the cluster environment to the first computer device along with the decryption request. The first computer device may authenticate the decryption request by comparing the credential transmitted in response to the decryption request with a credential generated through the trust anchor.
[0070] At step (830), the computer device (200) can receive a first encryption key decrypted with a master key from the first computer device. The first computer device can generate and transmit the first encryption key by decrypting the sealing key with the master key as the decryption request is authenticated, and the computer device (200) can receive the decrypted first encryption key transmitted by the first computer device.
[0071] In step (840), the computer device (200) can decrypt the encrypted original data with the first encryption key to obtain the original data. Thus, the computer device (200) can obtain the first encryption key and obtain the original data only when authenticated through the infrastructure of the cloud-based artificial intelligence platform. Furthermore, as previously described, since the cloud provider holds management authority over the cluster environment, customers can only request functions, and it is difficult for them to access the infrastructure level in the cluster environment to dump memory or analyze its contents. Therefore, even if the first encryption key is provided to the computer device (200), the confidentiality of the original data to the customer can be maintained.
[0072] In step (850), the computer device (200) may process the original data to generate application data. For example, the original data may include data corresponding to a basic artificial intelligence model, and the application data may include data corresponding to a fine-tuned model generated by training the basic artificial intelligence model.
[0073] At step (860), the computer device (200) can encrypt application data with a second encryption key to generate encrypted application data. Encryption of application data can be utilized when the application data does not want to be exposed to the provider of the AI platform.
[0074] In step (870), the computer device (200) may divide the second encryption key into a plurality of pieces using the Shamir Secret Sharing algorithm to generate a first shard and a second shard. Here, the Shamir Secret Sharing algorithm may include an algorithm that divides the second encryption key into n pieces (where n is a natural number greater than or equal to 2) and merges t pieces (where t is a natural number less than or equal to n) of the n pieces to generate the second encryption key. In this case, each of the first shard and the second shard may include less than t pieces, and the sum of the number of pieces included in the first shard and the number of pieces included in the second shard may be greater than or equal to t and less than or equal to n.
[0075] In step (880), the computer device (200) can transmit the first shard to the first computer device. The first computer device can store and manage the transmitted first shard through a secret manager. Later, the computer device (200) can request the first shard from the first computer device. In this case, the first computer device can authenticate the request for the first shard through a trust anchor, and if authenticated, can transmit the first shard to the computer device (200). At this time, the computer device (200) can combine the first shard received from the first computer device and the second shard generated in step (870) through the Shamir Secret Sharing algorithm to generate a second encryption key, and can decrypt the encrypted application data using the second encryption key to obtain the decrypted application data.
[0076] In this way, in order for a customer to use application data, the first shard stored on the cloud provider side is required, and therefore, in order to use application data, both the cloud provider, which is the provider of the original data, and the customer who tuned the original data must agree.
[0077] In this way, according to embodiments of the present invention, a data distribution method and system for ensuring confidentiality of original and application data based on a hybrid cloud can be provided, and the requirements that 'the provider of the AI platform does not want to directly expose the basic model to the customer, the customer does not want to expose the fine-tuned model to the provider of the AI platform, and the basic model must be used with the agreement of the provider of the original model' can be satisfied.
[0078] The systems or devices described above may be implemented as hardware components, or a combination of hardware components and software components. For example, the devices and components described in the embodiments may be implemented using one or more general-purpose computers 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 instructions and responding to them. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing device is sometimes described as being used alone; however, one of ordinary skill in the art will recognize that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, a processing unit may include multiple processors, or a processor and a controller. Other processing configurations, such as parallel processors, are also possible.
[0079] Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing device to perform a desired operation or may independently or collectively command the processing device. The software and / or data may be embodied in any type of machine, component, physical device, virtual equipment, computer storage medium, or device for interpretation by the processing device or for providing instructions or data to the processing device. The software may also be distributed over networked computer systems and stored or executed in a distributed manner. The software and data may be stored on one or more computer-readable recording media.
[0080] The method according to the embodiment may be implemented in the form of program commands that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program commands, data files, data structures, etc., singly or in combination. The medium may continuously store a computer-executable program, or may temporarily store it for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or multiple hardware combinations, and is not limited to a medium directly connected to a computer system, but may also be distributed over a network. Examples of the medium may 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 those configured to store program commands, including ROM, RAM, and flash memory. In addition, examples of other media may include recording media or storage media managed by app stores that distribute applications, sites that supply or distribute various software, servers, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
[0081] Although the embodiments described above have been described by way of limited examples and drawings, those skilled in the art will appreciate that various modifications and variations can be made based on the above teachings. For example, appropriate results can still be achieved even if the described techniques are performed in a different order than described, and / or components of the described systems, structures, devices, circuits, etc. are combined or combined in a different manner than described, or are replaced or substituted with other components or equivalents.
[0082] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims set forth below.
Claims
1. A method for distributing data of a first computer device that includes at least one processor and implements the infrastructure of a cloud-based artificial intelligence platform, A step of encrypting original data using a first encryption key by at least one processor to generate encrypted original data; A step of establishing a trust anchor for authenticating a decryption request for the encrypted original data in conjunction with the first encryption key by at least one processor; A step of generating a sealing key by encrypting the first encryption key with a master key by at least one processor; A step of distributing the encrypted original data and the sealing key together by bundling them through data enveloping, by at least one processor; A step of authenticating a decryption request from a second computer device implementing a cluster environment for processing the original data through the trust anchor by at least one processor; and A step of decrypting a sealing key included in the decryption request with the master key in response to authentication of the decryption request by at least one processor and transmitting the decrypted first encryption key to the second computer device. A method of distributing data including:
2. In paragraph 1, The steps to set the above trust anchor are: A step of generating a credential linked to the first encryption key; and Step for installing the above credentials in the above cluster environment Including, The above authentication steps are: Authenticate the decryption request by comparing the credentials installed in the cluster environment with the generated credentials through the trust anchor. A data distribution method characterized by .
3. In paragraph 1, The second computer device, Decrypting the encrypted original data with the decrypted first encryption key to obtain the original data, Implemented to process the above original data to generate application data A data distribution method characterized by .
4. In paragraph 3, The above original data includes data corresponding to the basic artificial intelligence model, The above application data includes data corresponding to a fine-tuning model generated by training the basic artificial intelligence model. A data distribution method characterized by .
5. In paragraph 3, The second computer device, Encrypting the above application data with a second encryption key to generate encrypted application data, The second encryption key is divided into multiple pieces using the Shamir Secret Sharing algorithm to create a first shard and a second shard, It is implemented to transmit the first shard to the first computer device. A data distribution method characterized by .
6. In paragraph 5, The Shamir Secret Sharing Algorithm includes an algorithm that divides the second encryption key into n pieces (where n is a natural number greater than or equal to 2) and merges t pieces (where t is a natural number less than or equal to n) of the n pieces to generate the second encryption key. Each of the first shard and the second shard includes less than t pieces, The sum of the number of pieces included in the first shard and the number of pieces included in the second shard is greater than or equal to t and less than or equal to n. A data distribution method characterized by .
7. In paragraph 5, The second computer device, Requesting the first shard from the first computer device, The first shard received from the first computer device and the second shard generated are combined through the Shamir Secret Sharing Algorithm to generate the second encryption key, It is implemented to decrypt the encrypted application data using the second encryption key and obtain the decrypted application data. A data distribution method characterized by .
8. In paragraph 5, The second computer device, Implemented to back up the encrypted application data and the second shard A data distribution method characterized by .
9. In paragraph 5, A step of storing the first shard transmitted from the second computer device by at least one processor; a step of authenticating, by at least one processor, a request for the first shard received from the second computer device through the trust anchor; and A step of transmitting the first shard to the second computer device in response to authentication of a request of the first shard by the at least one processor. A method of distributing data that further includes .
10. A method for distributing data between a second computer device that implements a cluster environment by linking with a first computer device that includes at least one processor and implements the infrastructure of a cloud-based artificial intelligence platform, A step of receiving, by the at least one processor, original data encrypted with a first encryption key from the first computer device and a sealing key generated by encrypting the first encryption key with a master key of the first computer device; A step of transmitting a request for decryption of the sealing key to the first computer device by at least one processor; A step of receiving, by the at least one processor, the first encryption key decrypted with the master key from the first computer device; A step of decrypting the encrypted original data with the first encryption key by at least one processor to obtain the original data; A step of processing the original data by at least one processor to generate application data; A step of generating encrypted application data by encrypting the application data with a second encryption key by at least one processor; A step of generating a first shard and a second shard by dividing the second encryption key into a plurality of pieces using the Shamir Secret Sharing algorithm by at least one processor; and A step of transmitting the first shard to the first computer device by the at least one processor. A data distribution method characterized by including:
11. In paragraph 10, A credential linked to the first encryption key is generated through a trust anchor set by the first computer device and installed in the cluster environment, The step of transmitting the above decryption request is: Further transmitting the credentials installed in the above cluster environment to the first computer device together with the decryption request, The decryption request is authenticated by comparing the credentials transmitted from the first computer device with the credentials generated through the trust anchor. A data distribution method characterized by .
12. In paragraph 10, The Shamir Secret Sharing Algorithm includes an algorithm that divides the second encryption key into n pieces (where n is a natural number greater than or equal to 2) and merges t pieces (where t is a natural number less than or equal to n) of the n pieces to generate the second encryption key. Each of the first shard and the second shard includes less than t pieces, The sum of the number of pieces included in the first shard and the number of pieces included in the second shard is greater than or equal to t and less than or equal to n. A data distribution method characterized by .
13. In paragraph 10, A step of requesting the first shard to the first computer device by the at least one processor; A step of generating the second encryption key by combining the first shard received from the first computer device and the second shard generated through the Shamir Secret Sharing Algorithm by the at least one processor; and A step of decrypting the encrypted application data using the second encryption key by at least one processor to obtain decrypted application data A method of distributing data that further includes .
14. In paragraph 10, A step of backing up the encrypted application data and the second shard by at least one processor. A method of distributing data that further includes .
15. In paragraph 10, The above original data includes data corresponding to the basic artificial intelligence model, The above application data includes data corresponding to a fine-tuning model generated by training the basic artificial intelligence model. A data distribution method characterized by .
16. A computer program stored on a computer-readable recording medium for executing the method of any one of claims 1 to 15 on a computer device in combination with a computer device.
17. In the first computer device that implements the infrastructure of a cloud-based artificial intelligence platform, At least one processor implemented to execute computer-readable instructions Including, By at least one processor, Encrypting the original data using the first encryption key to generate encrypted original data, Establishing a trust anchor that authenticates a decryption request for the encrypted original data in conjunction with the first encryption key; Encrypting the above first encryption key with a master key to generate a sealing key, The above encrypted original data and the above sealing key are bundled and distributed together through data enveloping, A decryption request from a second computer device implementing a cluster environment for processing the original data is authenticated through the trust anchor, In response to the authentication of the above decryption request, decrypting the sealing key included in the above decryption request with the master key and transmitting the decrypted first encryption key to the second computer device. A computer device characterized by:
18. In paragraph 17, By at least one processor, Generate a credential linked to the above first encryption key, Install the above credentials in the above cluster environment, To authenticate the decryption request, by the at least one processor, Authenticate the decryption request by comparing the credentials installed in the cluster environment with the generated credentials through the trust anchor. A computer device characterized by:
19. In a second computer device that implements a cluster environment in conjunction with a first computer device that implements the infrastructure of a cloud-based artificial intelligence platform, At least one processor implemented to execute computer-readable instructions Including, By at least one processor, Receive original data encrypted with a first encryption key from the first computer device and a sealing key generated by encrypting the first encryption key with a master key of the first computer device; Transmitting a request for decryption of the sealing key to the first computer device; Receive the first encryption key decrypted with the master key from the first computer device, Decrypting the encrypted original data with the first encryption key to obtain the original data, Process the above original data to create application data, Encrypting the above application data with a second encryption key to generate encrypted application data, The second encryption key is divided into multiple pieces using the Shamir Secret Sharing algorithm to create a first shard and a second shard, Transferring the first shard to the first computer device A computer device characterized by:
20. In paragraph 19, A credential linked to the first encryption key is generated through a trust anchor set by the first computer device and installed in the cluster environment, To transmit the above decryption request, by the at least one processor, Further transmitting the credentials installed in the above cluster environment to the first computer device together with the decryption request, The decryption request is authenticated by comparing the credentials transmitted from the first computer device with the credentials generated through the trust anchor. A computer device characterized by:
Citation Information
Patent Citations
Safety protection system and method based on browser
CN111159684A
Data processing method and device and storage medium
CN111382131A
Method for setting permissions for cryptographic keys, computer program and cryptographic processing system
CN113918930A
System and method for protected operating system boot using state validation
KR1020060047897A
Systems and methods for distributed key storage
US20200162251A1