US-12626005-B2 - Systems and methods for orchestrating application use while preventing unauthorized data sharing
Abstract
Disclosed are methods and systems for orchestrating application use while preventing unauthorized data sharing. For instance, an orchestration management system may provide orchestration logic to a computing platform system hosting a virtual environment configured to run an application on behalf of a data owner computing device. Once the orchestration logic is loaded thereon, a public key to and a location of the virtual environment may be provided to an application owner's computing device. The orchestration logic may enable the application owner's computing device to access the virtual environment at the location to load the application into the virtual environment utilizing a first key combination including the public key and a matching private key. At least the private key may then be disabled by the orchestration logic to prevent subsequent access to the virtual environment by the application owner to guarantee no unauthorized data sharing.
Inventors
- John Henry Page
Assignees
- CAPITAL ONE SERVICES, LLC
Dates
- Publication Date
- 20260512
- Application Date
- 20240920
Claims (20)
- 1 . A computer-implemented method, comprising: generating a virtual environment configured to run an application; loading orchestration logic received from an orchestration management system; providing a load completion indication to the orchestration management system, wherein, in response to receiving the load completion indication, the orchestration management system is configured to provide information associated with a first key combination for accessing the virtual environment and a location of the virtual environment to a computing device associated with an owner of the application; receiving, from the computing device, the first key combination; based on an enabled status of the first key combination, providing, via the orchestration logic, the computing device access to the virtual environment to load the application; and disabling, via the orchestration logic, the first key combination upon the application loading into the virtual environment to prevent subsequent access to the virtual environment by the owner of the application.
- 2 . The computer-implemented method of claim 1 , wherein the first key combination includes a first public key provided as part of the information associated with the first key combination and a first private key that matches the first public key, and disabling the first key combination comprises: disabling, via the orchestration logic, at least the first private key.
- 3 . The computer-implemented method of claim 2 , wherein disabling the first key combination comprises: disabling, via the orchestration logic, both the first public key and the first private key.
- 4 . The computer-implemented method of claim 1 , wherein the virtual environment at the location is a first virtual environment at a first location, and the method further comprises: generating a second virtual environment at a second location that is configured to store data associated with the application, including one or more data inputs of a data owner that are consumed by the application and one or more data outputs that are generated by the application.
- 5 . The computer-implemented method of claim 4 , further comprising: providing to the application, via the orchestration logic, the second location of the second virtual environment to enable ingress of the one or more data inputs into the first virtual environment and egress of the one or more data outputs from the first virtual environment as the application is run.
- 6 . The computer-implemented method of claim 4 , wherein the orchestration management system is further configured to provide information associated with a second key combination for accessing the second virtual environment and the second location of the virtual environment to a data owner computing device associated with the data owner, and the method further comprises: receiving, from the data owner computing device, the second key combination; based on an enabled status of the second key combination, providing, via the orchestration logic, the data owner computing device access to the second virtual environment to load the one or more data inputs and arrange receipt of the one or more data outputs into the second virtual environment; and disabling, via the orchestration logic, the second key combination upon the one or more data inputs loading and arranging receipt of the one or more data outputs into the second virtual environment to prevent subsequent access to the second virtual environment by the data owner.
- 7 . The computer-implemented method of claim 4 , wherein the second virtual environment is one of a sub-environment of the first virtual environment or is a separate environment from the first virtual environment.
- 8 . The computer-implemented method of claim 1 , wherein the application is a first application, the virtual environment is configured to run the first application and a second application, the orchestration management system is further configured to provide information associated with a second key combination for accessing the virtual environment and the location of the virtual environment to a second application owner computing device associated with an owner of the second application, and the method further comprises: receiving, from the second application owner computing device, the second key combination; based on an enabled status of the second key combination, providing, via the orchestration logic, the second application owner computing device access to the virtual environment to load the second application; and disabling, via the orchestration logic, the second key combination upon the application loading into the virtual environment to prevent subsequent access to the virtual environment by the owner of the second application.
- 9 . The computer-implemented method of claim 8 , wherein the second application consumes at least one data output of the first application to generate one or more second application data outputs, and the method further comprises: as the first application and the second application are running in the virtual environment, sharing the at least one data output of the first application to the second application.
- 10 . A computer-implemented method, comprising: generating a virtual environment configured to run a first application and a second application, wherein the second application consumes at least one data output of the first application to generate one or more second application data outputs; loading orchestration logic received from an orchestration management system; providing a load completion indication to the orchestration management system, wherein, in response to receiving the load completion indication, the orchestration management system is configured to provide first information associated with a first key combination for accessing the virtual environment to a first computing device associated with a first owner of the first application and second information associated with a second key combination for accessing the virtual environment to a second computing device associated with a second owner of the second application; receiving the first key combination from the first computing device and the second key combination from the second computing device; based on an enabled status of the first key combination and the second key combination, providing, via the orchestration logic, the first computing device and the second computing device access to the virtual environment to load the first application and the second application, respectively; disabling, via the orchestration logic, the first key combination and the second key combination upon the first application and the second application loading into the virtual environment, respectively, to prevent subsequent access to the virtual environment by the first owner and the second owner; and as the first application and the second application are running in the virtual environment, sharing the at least one data output of the first application from the first application to the second application within the virtual environment.
- 11 . The computer-implemented method of claim 10 , wherein the first application and the second application are configured to function as a single application.
- 12 . The computer-implemented method of claim 11 , wherein one or more parameters used to generate the orchestration logic stipulate that neither the first application nor the second application can run in the virtual environment unless each of the first application and the second application can run in the virtual environment.
- 13 . The computer-implemented method of claim 10 , wherein the sharing the at least one data output of the first application from the first application to the second application within the virtual environment comprises: sharing the at least one data output without requiring communication via the orchestration logic.
- 14 . The computer-implemented method of claim 11 , wherein one or more parameters used to generate the orchestration logic include a sequence in which the first application and the second application are to be loaded into the virtual environment.
- 15 . The computer-implemented method of claim 11 , wherein the virtual environment is a first virtual environment, and the method further comprises: generating a second virtual environment that is configured to store data associated with one or more of the first application or the second application, including one or more data inputs of a data owner that are consumed by the one or more of the first application or the second application and one or more data outputs that are generated by the one or more of the first application or the second application; providing to the one or more of the first application or the second application, via the orchestration logic, a location of the second virtual environment to enable respective ingress and egress of the data when the one or more of the first application or the second application are run in the first virtual environment; and otherwise locking the second virtual environment such that access is only provided to the data owner to load the one or more data inputs and arrange receipt of the one or more data outputs into the second virtual environment using a third key combination.
- 16 . A computer-implemented method, comprising: generating a virtual environment configured to store data associated with an application, the data including one or more data inputs of a data owner that are consumed by the application and one or more data outputs that are generated by the application; loading orchestration logic received from an orchestration management system, wherein the orchestration management system is configured to provide information associated with a key combination for accessing the virtual environment and a location of the virtual environment to a computing device associated with the data owner; receiving, from the computing device, the key combination; based on an enabled status of the key combination, providing, via the orchestration logic, the computing device access to the virtual environment to load the one or more data inputs and arrange receipt of the one or more data outputs into the virtual environment; and disabling, via the orchestration logic, the key combination upon the one or more data inputs loading and arranging receipt of the one or more data outputs into the virtual environment to prevent subsequent access to the virtual environment by the data owner.
- 17 . The computer-implemented method of claim 16 , wherein the key combination includes a public key provided as part of the information associated with the key combination and a private key that matches the public key, and disabling the key combination comprises: disabling, via the orchestration logic, at least the private key.
- 18 . The computer-implemented method of claim 16 , wherein the virtual environment configured to store the data associated with the application is a second virtual environment, and the method further comprises: generating a first virtual environment configured to run the application, wherein the second virtual environment is a sub-environment of or a separate environment from the first virtual environment; and locking the first virtual environment such that access to the first virtual environment is only provided to an owner of the application to load the application using a different key combination.
- 19 . The computer-implemented method of claim 18 , further comprising: upon the disabling, transmitting, via the orchestration logic, a disablement indication to the orchestration management system, wherein the orchestration management system is further configured to generate and send a notification to the computing device indicating the application is ready for use responsive to the disablement indication.
- 20 . The computer-implemented method of claim 18 , further comprising: receiving, from the computing device, a request to run the application; and initiating respective ingress and egress of the data associated with the application by providing to the application, via the orchestration logic, the location of the virtual environment to enable ingress of the one or more data inputs from the virtual environment to the application and egress of the one or more data outputs from the application to the virtual environment as the application is run.
Description
CROSS-REFERENCE TO RELATED APPLICATION(S) This patent application is a continuation of and claims the benefit of priority to U.S. Nonprovisional patent application Ser. No. 17/819,689, filed on Aug. 15, 2022, the entirety of which is incorporated by reference herein. TECHNICAL FIELD Various embodiments of this disclosure relate generally to techniques for orchestrating application use while preventing unauthorized data sharing, and, more particularly, to systems and methods for enabling an application to run in a secure run-time environment independent from an owner of the application and/or an owner of the data being processed by the application using orchestration logic. BACKGROUND An application may be a resource of an application owner from which further value may be obtained by making the application available to other parties for use. The parties may include consumers of the application and/or other application owners who may benefit from adding one or more functions of the application to their applications (e.g., where the multiple applications may function as a single unit). However, the application may include intellectual property of the application owner that the application owner does not want to give up control or ownership of, such as proprietary algorithms implemented to perform the various functions. Similarly, a consumer of the application may desire to use the application of the application owner, and thus may enter into a commercial agreement with the application owner associated with the consumer's use of the application. However, the consumer and/or industry-associated regulations may require a guarantee that no individual or entity, including the application owner, has access to any consumer data provided to the application as inputs and/or received from the application as outputs. Currently, to address the above-mentioned concerns relating to data sharing, trust agreements and/or data encryption may be used. However, trust agreements are merely contractual terms (e.g., are merely a promise to not access the consumer data) and do not otherwise prevent the application owner from accessing the consumer data if desired. For example, if the application owner wanted to secretly capture data of the data owner (e.g., against the contractual terms), the application owner may include source code in the application unbeknownst to the data owner to write the data of the data owner to a log file that can be viewed by the application owner. Additionally, encrypted consumer data ultimately has to be decrypted in order to be consumed and processed by the application to generate the outputs. That is, decryption and thus revealing of the data is necessary for use of the application, as the application is otherwise not operable. This disclosure is directed to addressing the above-referenced challenges, among other challenges. The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art, or suggestions of the prior art, by inclusion in this section. SUMMARY OF THE DISCLOSURE According to certain aspects of the disclosure, methods and systems are disclosed for orchestrating application use while preventing data sharing. By generating and implementing orchestration logic, the methods and systems may enable an application that consumes data inputs of a data owner to generate data outputs as part of one or more functions of the application to be run in a secure run-time environment without the data owner or the application owner having direct access to or control of the application or the application data inputs and outputs. Resultantly, implementation of the methods and systems allow use of the application while providing a guarantee that at no time does the application owner possess the data owner's data and at no time does the data owner have access to the underlying data of the application, unless otherwise authorized. For instance, a computer-implemented method may include providing orchestration logic to a computing platform system hosting a virtual environment configured to run an application on behalf of a first computing device associated with a data owner, receiving an indication that the orchestration logic is loaded on the computing platform system, and providing a first public key to the virtual environment and a location of the virtual environment to a second computing device associated with an owner of the application. The orchestration logic may enable the second computing device to access the virtual environment at the location to load the application utilizing a first key combination comprising the first public key and a first private key that matches the first public key, and at least the first private key may be disabled by the orchestration logic upon the application load