Content management method, system, and program

A system where data owners encrypt data with a unique key and data brokers apply an additional layer, requiring both keys for decryption, addresses data control issues, ensuring secure and controlled access, and protecting against breaches.

JP7601522B2Active Publication Date: 2024-12-17INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2022567735
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-06-03
Filing Date
2021-05-17
Publication Date
2024-12-17
Estimated Expiration
2041-05-17

AI Technical Summary

Technical Problem

Data owners lack control over access and security of their data after providing it to data brokers, leading to vulnerabilities in data exfiltration and unauthorized access.

Method used

Implementing a system where data owners encrypt their data with a unique key, and data brokers apply an additional encryption layer, requiring both keys for decryption, ensuring only authorized access and maintaining data security even after distribution.

Benefits of technology

Ensures secure and controlled access to data by enforcing policy-based controls and tracking access, protecting data from breaches by data brokers or consumers, and allowing dynamic restriction of access.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007601522000001
    Figure 0007601522000001
  • Figure 0007601522000002
    Figure 0007601522000002
  • Figure 0007601522000003
    Figure 0007601522000003
Patent Text Reader

Abstract

A content management method, system, or program includes receiving a request from a user to access data obtained by a third party from a data owner, the data being in an encrypted format unreadable by the user, and in response to receiving the user's request to access the data, requesting a third-party key from the third party and a data owner key from the data owner, wherein the third-party key and the data owner key are applied to the data in encrypted format to generate data in an unencrypted format readable by the user, and providing the user with access to the data in unencrypted format.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates generally to computer systems, and more particularly to providing content management through third-party data aggregation services. [Background technology]

[0002] A common purpose of data aggregation is to obtain more information about a particular group of people based on certain variables, such as age, occupation, or income. Data brokers, or data aggregation services, typically aggregate information from diverse sources, process the data to enrich, cleanse, or analyze it, and license the processed data to other organizations. Some data brokers collect personal information about consumers from a variety of public or private sources and sell the information to other data brokers or data users. Data can be collected from sources such as public records, online behavior, and purchase history and can then be sold to other companies for marketing purposes. Summary of the Invention

[0003] An embodiment of the present invention is directed to providing content management through a third-party data aggregation service. A non-limiting method includes receiving a request from a user to access data obtained by a third party from a data owner, the data being in an encrypted format unreadable by the user. In response to receiving the request from the user to access the data, a third-party key is requested from the third party and a data owner key is requested from the data owner. The third-party key and the data owner key are applied to the data in the encrypted format to generate data in an unencrypted format readable by the user. The user is provided with access to the data in the unencrypted format.

[0004] Other embodiments of the present invention embody features of the above-described methods in computer systems and computer program products.

[0005] Additional technical features and advantages are realized through the techniques of the present invention. Embodiments and aspects of the present invention are described in detail herein and are considered a part of the claimed subject matter. For a better understanding, reference is made to the detailed description and drawings.

[0006] The particulars of the exclusive rights set forth herein are particularly pointed out and distinctly claimed in the claims at the conclusion of this specification. These and other features and advantages of embodiments of the present invention will become apparent from the following detailed description when considered in conjunction with the accompanying drawings. [Brief description of the drawings]

[0007] [Figure 1] FIG. 1 is a block diagram of a system for providing content management through a third-party data aggregation service in accordance with one or more embodiments of the present invention. [Diagram 2] FIG. 1 is a flow diagram for generating content that can be controlled through a third-party data aggregation service in accordance with one or more embodiments of the present invention. [Diagram 3] FIG. 1 is a flow diagram for providing content management through a third-party data aggregation service in accordance with one or more embodiments of the present invention. [Figure 4] FIG. 1 illustrates a cloud computing environment in accordance with one or more embodiments of the present invention. [Diagram 5] FIG. 2 illustrates an abstraction model layer in accordance with one or more embodiments of the present invention. [Figure 6] FIG. 1 illustrates a system for providing self-reporting and self-upgrading of enterprise systems in accordance with one or more embodiments of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0008] The diagrams shown herein are for illustrative purposes. There may be many variations in the diagrams or the operations described therein without departing from the spirit of the invention. For example, actions may be performed in a different order, or actions may be added, deleted, or modified. Also, the term "coupled" and variations thereof describe having a communication path between two elements, and do not imply a direct connection between the elements without an intervening element / connection between them. All of these variations are considered part of this specification.

[0009] One or more embodiments of the present invention provide content management through a third party data aggregation service. In accordance with one or more embodiments of the present invention, secure third party data aggregation is provided using a system of security devices and protocols to allow control of data to be maintained by both data owners and data brokers.

[0010] Data brokers often buy data from multiple data owners and then create data sets that span the data they have purchased. These data sets are then resold to data users, who can use the data for various reasons, such as market research. Currently, when a data owner supplies data to a third party, such as a data broker, the data broker makes a copy of the data and the data owner cedes full control over what happens next to the data (e.g., who has access to the data) to the data broker. In case of a data broker breach, all data from all parties supplying data to the data broker is vulnerable to data exfiltration. Data exfiltration refers to the unauthorized copying, transfer, or retrieval of data. This problem of data owners being unable to control or track access to their data increases in scope when data brokers sell data to further parties, such as other data brokers or data users.

[0011] One or more embodiments of the present invention address one or more of the above shortcomings by allowing data owners to maintain rights in the data they supply to third parties, such as data brokers, including managing access to their data using a network of distributed security devices, deployed either on-premise, with each of the parties having access to the data, or in the cloud for some of the parties that wish to participate in the data network.

[0012] According to one or more embodiments of the present invention, the data broker does not have access to the content of the data it purchases from the data owner. Instead, the data broker has metadata that describes the data, and the content of the data is secured using the data owner's keys. For example, the data broker may know based on the metadata that the content of the data it received from the data owner includes credit card transactions, each of which includes an encrypted customer name, a merchant name, a transaction amount, and an encrypted customer account number. The only way to access the encrypted customer name and the encrypted customer account number is with the data owner's key, the distribution of which is managed by the data owner, for example, through the data owner's security appliance. According to one or more embodiments of the present invention, the data owner may have different keys that give different levels of access to different requesters of the data.

[0013] According to one or more embodiments of the present invention, the data broker provides another layer of security and traceability to the data it purchases from the data owner by applying another encryption key, the data broker key, to the encrypted data the data broker receives from the data owner. After the data broker key is applied, the only way to access the encrypted customer name and encrypted customer account number is with both the data owner's key and the data broker's key, whose distribution is managed by the data broker, for example, through the data broker's security appliances. In one or more of these embodiments, both the data owner and the data broker must grant access to the data before the data is provided to the data user. Thus, if either the data user or the data broker suffers a data breach, the data is still protected, since both keys are needed to decrypt the data for use by the data user.

[0014] According to one or more embodiments of the present invention, data owners can enforce policy-based controls over the display of data that are used to govern what third parties can see. For example, a third party may be able to see the entire credit card number or only the first four digits.

[0015] According to one or more embodiments of the present invention, a data broker and / or a data owner can dynamically restrict access to data, for example, in response to restricting future access to the data. For example, a data owner can dynamically restrict future access by a data consumer if the data broker violates the data owner's terms of service for the data. A data broker can also restrict future access to data to a data consumer if, for example, the term of use of the data has expired.

[0016] According to one or more embodiments of the present invention, data owners and / or data brokers may have access to logs to track who has accessed the data. This information may be used, for example, by data owners to have visibility into how their data is being distributed to third parties (e.g., data brokers) and data users.

[0017] 1, a block diagram 100 of a system for providing content management through a third party data aggregation service is generally shown in accordance with one or more embodiments of the present invention. The block diagram 100 shown in FIG. 1 includes a data owner 122 and its corresponding security appliance 102 and data source 108, a data broker 124 and its corresponding security appliance 104 and purchased data source 110, and a data consumer 126 and its corresponding security appliance 105, purchased data source 112, and prepared data 114.

[0018] Each of the security devices 102, 104, 106 includes keying material used to encrypt data elements or data. They can also communicate with other security devices and provide them with keying material to be used to decrypt data elements. As shown in FIG. 1, the security device 106 communicates with the security devices 102 and 104 to make key requests 118, 120. According to one or more embodiments of the present invention, the security devices 102, 104, 106 are implemented by any method known in the art, such as, but not limited to, a server and / or container that does not support user login or access to the software or memory of the system on which they are running. According to one or more embodiments of the present invention, the security devices 102, 104, 106 are accessed or communicated with through an application programming interface (API).

[0019] As shown in FIG. 1, a data owner 122 has data, shown as data sources 108 in FIG. 1, that the data owner 122 would like to monetize. These data sources 108 can include, but are not limited to, data from the Internet of Things (IoT), consumer data, or relational data sources, or a combination thereof. When the data owner 122 identifies data that it would like to provide to the data broker 124, the data security appliance 102 of the data owner 122 wraps the data, or data elements that are part of a data set, with metadata that describes the data. The data is then encrypted using a key owned by the data owner 122 and sent along with the metadata to the data broker 124, which stores the encrypted data and metadata (e.g., in a database or other storage structure) as a purchased data source 110.

[0020] According to one or more embodiments of the present invention, the data broker 124 does not have access to the data owner keys and therefore cannot open or read the data provided by the data owner. According to one or more embodiments of the present invention, the data broker 124 does not know the content or actual data value of the data received from the data owner 122. Based on the metadata provided by the data owner, the data broker 124 knows the type of data content, and the data broker can use the metadata to add the data to a catalog to be resold. As shown in FIG. 1, the data broker 124 purchases data sets, shown in FIG. 1 as purchased data sources 110, from one or more data owners 122. These purchased data sources may include a combination of clear (unencrypted) data and anonymized or non-anonymized personally identifiable information (PII). As known in the art, PII refers to any data that can potentially be used to identify a specific individual, including, but not limited to, a name, social security number, driver's license number, bank account number, passport number, and / or email address.

[0021] When the data broker 124 sells data, the data broker 124 repeats the same process as the data owner did, wrapping and encrypting the data elements, but with keys owned by the data broker 124. As shown in Figure 1, the security device 104 wraps and encrypts the (already encrypted) data received from the data owner 122. When the data is received by the data consumer 126, it is now encrypted with the owner key and then again with the data broker key. The data consumer 126 stores the data in a storage location as the purchased data source 112.

[0022] According to one or more embodiments of the present invention, when a consumer 116 desires to use data from a purchased data source 112, a request for data access is made through the security appliance 106. In response to receiving the request, the security appliance 106 requests keys from both the security appliance 102 and the security appliance 104. This is shown in FIG. 1 as key request 120 requesting a data broker key from the security appliance 104 and as key request 118 requesting a data owner key from the security appliance 102. According to one or more embodiments of the present invention, from the consumer 116's perspective, this is a single atomic operation and the data requested by the consumer 116 is decrypted using the data broker key and then using the data owner key. The resulting clear data, or clear data elements, are stored as prepared data 114. Consumers 116 can use this prepared data 114 to facilitate market research and additional revenue in their business offerings.

[0023] According to one or more embodiments of the present invention, policies from the data owner 122 can affect whether clear data is provided to the user 116 or whether the data leaving the security device 106 should be masked, redacted, or have some other obfuscation technique applied to it.

[0024] According to one or more embodiments of the present invention, if either party, data owner 122 or data broker 124, no longer desires a user 116 to have access to their data, they can remove access to their respective keys for that user 116. Removal can apply to a specific user 116 or to all users of the data user 126 (e.g., if the data user 126 includes multiple individual users 116 requesting data access). Additionally, removal can apply for a specific time frame, with access being allowed during other time frames. Alternatively, the data owner 122 or data broker 124 can delete their respective keys, which will permanently invalidate the data in the purchased data source 112.

[0025] Both data owners 122 and data brokers 124 can have complex schemes to allow granular access to their data. For example, data owners 122 can use different keys for different data brokers 124 so that they can only invalidate a single data broker's data. Data brokers 124 can also use different keys for different data consumers 126 so that they can only invalidate a single data set.

[0026] Any type of encryption algorithm involving one or more keys may be used to encrypt the data. Examples include, but are not limited to, Advanced Encryption Standard (AES), Data Encryption Standard (DES), or Rivest-Shamir-Adelman (RSA) encryption, or variations on any combination thereof.

[0027] 1 shows only one third party, data broker 124, between the data owner 122 and the data user 126, but embodiments of the invention are not limited to data being processed by a single third party before being used by the data user 126. According to one or more embodiments of the invention, there may be two or more data brokers 124, each applying their own data broker key in turn to the data, and each having their own security appliance 104. In this case, the data user 126 initiates two or more key requests 120 to obtain two or more data broker keys from the security appliance 104 associated with each of the data brokers 124, along with a key request 118 requesting the data owner key from the security appliance 102.

[0028] Any of the components shown in Figure 1 may be coupled to one another through a network. For example, security appliance 102 may be coupled to security appliance 106 and / or purchased data source 110 through a network. The network may be implemented by any network known in the art, including, but not limited to, a local area network (LAN), a direct cable connection, a cloud computing environment such as that shown in Figure 4 below, or the Internet, or a combination thereof.

[0029] The embodiments described herein with respect to block diagram 100 of Figure 1 may be implemented using any suitable logic, which as referred to herein may include, in various embodiments, any suitable hardware (e.g., a processor, an embedded controller, or an application specific integrated circuit, among others), software (e.g., an application, among others), firmware, or any suitable combination of hardware, software, and firmware. Additionally, the various blocks of Figure 1 may be configured in different ways than as depicted in Figure 1.

[0030] 2, a flow diagram of a method 200 of generating content managed through a third-party data aggregation service is generally shown in accordance with one or more embodiments of the present invention. All or a portion of the processing illustrated in blocks 202-208 of FIG. 2 may be performed by the security device 102 of FIG. 1 executing, for example, on a processor 605 located on the computer 601 of FIG. 6 or on a processor located on the cloud computing node 10 of FIG. 4. The process illustrated in FIG. 2 begins in block 202 with a data owner, such as data owner 122 of FIG. 1, identifying data, such as data source 108, that is to be provided to a third party. The third party may be, but is not limited to, a data broker, such as data broker 124 of FIG. 1. In block 204, the identified data is wrapped with metadata to describe the content of the data, and in block 206, the data is encrypted with a data owner key. The metadata and the data encrypted with the data owner key are sent to the third party in block 208. In the example illustrated in FIG. 2, the third party is a data broker. In accordance with one or more embodiments of the present invention, a third party can be any entity that collects and distributes data.

[0031] Processing continues at block 210 of FIG. 2. All or a portion of the processing illustrated at blocks 210-214 of FIG. 2 may be performed by the security device 104 of FIG. 1, for example, executing on a processor 605 located on the computer 601 of FIG. 6, or executing on a processor located on the cloud computing node 10 of FIG. 4. At block 210, the metadata and the data encrypted with the data owner key are received by the data broker. The received data may be stored in a storage location, such as the purchased data source 110 of FIG. 1. At block 212, the received data encrypted with the data owner key is further encrypted with the data broker key. The data encrypted with both the data owner key and the data broker key is sent to a data consumer, such as the data consumer 126 of FIG. 1, at block 214. According to one or more embodiments of the present invention, the metadata is also sent to the data consumer. The data encrypted with both the data owner key and the data broker key may be stored in a storage location, such as the purchased data source 112 of FIG. 1. According to one or more embodiments of the present invention, metadata may also be sent to the data consumer and stored in a storage location.

[0032] 2 does not imply that the operations of method 200 be performed in any particular order or that all of the operations of method 200 are included in every instance. In addition, method 200 may include any suitable number of additional operations.

[0033] Referring now to FIG. 3, a flow diagram of a method 300 for providing content management through a third-party data aggregation service is generally shown in accordance with one or more embodiments of the present invention. All or a portion of the process shown in FIG. 3 may be performed by the security appliance 106 of FIG. 1 executing on a processor 605 located on the computer 601 of FIG. 6, or executing on a processor located on the cloud computing node 10 of FIG. 4, for example. The process in FIG. 3 begins at block 302 with receiving a request from a consumer, such as consumer 116 of FIG. 1, to access data received from a third party, such as data broker 124 of FIG. 1. The data that the consumer requests access to is encrypted with both a data broker key and a data owner key and is readable by the consumer in its current encrypted format. In accordance with one or more embodiments of the present invention, the request is received by the data consumer's security appliance, such as security appliance 106 of FIG. 1.

[0034] At block 304 of FIG. 3, the data user's security appliance requests a data broker key from the data broker. According to one or more embodiments of the present invention, the request for the data broker key is made to the data broker's security appliance, such as security appliance 104 of FIG. 1. In response to receiving the request, the data broker's security appliance returns the data broker key to the user if it determines that the user is valid or authorized to have access to the data. Additionally, the data broker's security appliance may log the access request. As previously mentioned, the data broker's security appliance may determine that at one time the data broker authorizes the user to have access to the data and at another time the data broker does not authorize access by the user. Additionally, the scope of access (e.g., full access, edited access, etc.) may be changed by the data broker and may be different at different times. In this manner, the data broker may manage who has access to the data even after the data has been sent to the data user.

[0035] At block 306, the data user's security appliance requests a data owner key from the data owner. According to one or more embodiments of the present invention, the request for the data owner key is made to the data owner's security appliance, such as security appliance 102 of FIG. 1. In response to receiving the request, the data owner's security appliance returns the data owner key to the user if it determines that the user is a valid or authorized user that should have access to the data. Additionally, the data owner's security appliance may log the access request. As previously mentioned, the data owner's security appliance may determine that at one time the data owner authorizes the user to have access to the data and at another time the data owner does not authorize access by the user. Additionally, the scope of access (e.g., full access, edited access, etc.) may be changed by the data owner and may be different at different times. In this way, the data owner may control who has access to the data, even after the data has been sent to the data user by the data broker.

[0036] At block 308 of FIG. 3, it is determined whether both the data broker key and the data owner key have been received in response to the requests at blocks 304 and 306. If at block 308 it is determined that both the data broker key and the data owner key have been received, processing continues at block 310. At block 310, the data broker key is applied to the encrypted data to generate data encrypted by the data owner key. The data owner key is then applied to the data encrypted by the data owner key to generate data in an unencrypted format readable by the consumer. This data may be stored as prepared data, such as prepared data 114 of FIG. 1. At block 312 of FIG. 3, the requesting consumer is provided with access to the unencrypted or prepared data. As previously mentioned, unencrypted data may include portions of the data or subsets of the data that have been obfuscated from the consumer by techniques such as redaction and / or data masking.

[0037] If at block 308 it is determined that one or both of the data broker key and the data owner key have not been received, processing continues at block 314. At block 314, the user may be prevented from accessing the data to which the user requested access because a key to decrypt the data has not been made available to the user. Although not shown in the embodiment of FIG. 3, method 300 may include looping back from block 314 to block 308 to determine whether a key has been received (e.g., after a set period of time or in response to a detected event).

[0038] In one or more embodiments of the invention, the data broker and data owner security appliances always provide a response to a request from the data consumer security appliance. The response may include a key or an indication that the consumer requestor was denied access to the data.

[0039] 3 does not imply that the operations of method 300 be performed in any particular order or that all of the operations of method 300 are included in every instance. In addition, method 300 may include any suitable number of additional operations.

[0040] Although this disclosure includes detailed descriptions of cloud computing, it should be understood that implementation of the teachings described herein is not limited to a cloud computing environment. Rather, embodiments of the present invention are capable of being implemented in conjunction with any other type of computing environment now known or later developed.

[0041] Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with the service provider. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.

[0042] Its features are as follows.

[0043] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, automatically as needed, without the need for human interaction with the service provider.

[0044] Broad network access: Capabilities are available across the network and accessed through standard mechanisms, facilitating use by heterogeneous thin- and thick-client platforms (eg, cell phones, laptops, and PDAs).

[0045] Resource Pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically allocated and reallocated according to demand. Consumers generally have no control or knowledge over the exact location of the resources provided, although there is a sense of location independence in that at a higher level of abstraction it may be possible to specify a location (e.g. country, state, or data center).

[0046] Rapid Elasticity: Capacity can be quickly and elastically provisioned, in some cases automatically, to quickly scale out, and quickly released to quickly scale in. To the consumer, the capacity available for provisioning often appears unlimited and can be purchased in any amount at any time.

[0047] Measured Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services utilized.

[0048] The service model is as follows:

[0049] Software as a Service (SaaS): The consumer is provided with the ability to use a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). With the possible exception of limited user-specific application configuration settings, the consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application capabilities.

[0050] Platform as a Service (PaaS): The ability given to the consumer is to deploy acquired applications created with programming languages ​​and tools written by the consumer or supported by the provider onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, or storage, but does have control over the deployed applications and, in some cases, the application hosting environment configuration.

[0051] Infrastructure as a Service (IaaS): The capability provided to the consumer is the provision of processing, storage, network, and other basic computing resources, upon which the consumer can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but has control over the operating systems, storage, deployed applications, and possibly limited control over select networking components (e.g., host firewalls).

[0052] The deployment model is as follows:

[0053] Private Cloud: The cloud infrastructure is operated exclusively for an organization. It can be managed by the organization or a third party and can exist on-premise or off-premise.

[0054] Community Cloud: Cloud infrastructure is shared by several organizations to support a specific community with common interests (e.g., mission, security requirements, policies, and compliance considerations). It can be managed by the organization or a third party and can exist on-premise or off-premise.

[0055] Public Cloud: The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization that sells cloud services.

[0056] Hybrid Cloud: A cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are tied together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).

[0057] A cloud computing environment is service oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.

[0058] 4, an exemplary cloud computing environment 50 is shown. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10 with which local computing devices used by cloud consumers, such as, for example, a personal digital assistant (PDA) or cell phone 54A, a desktop computer 54B, a laptop computer 54C, or an automobile computer system 54N, or combinations thereof, can communicate. The nodes 10 can communicate with each other. They may be physically or virtually grouped in one or more networks, such as a private, community, public, or hybrid cloud, or combinations thereof, as described above (not shown). This enables the cloud computing environment 50 to provide infrastructure, platform, and / or software as a service for which the cloud consumer does not need to maintain resources on the local computing device. It will be understood that the types of computing devices 54A-N shown in FIG. 4 are for illustration purposes only, and that the computing node 10 and cloud computing environment 50 can communicate with any type of computerized device through any type of network or network-addressable connection (e.g., using a web browser) or both.

[0059] Referring now to Figure 5, a set of functional abstraction layers provided by cloud computing environment 50 (Figure 4) is shown. It should be understood in advance that the components, layers, and functions shown in Figure 5 are for illustrative purposes only, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:

[0060] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframes 61, RISC (reduced instruction set computing) architecture based servers 62, servers 63, blade servers 64, storage devices 65, and networks and networking components 66. In some embodiments, the software components include network application server software 67 and database software 68.

[0061] The virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities may be derived: virtual servers 71, virtual storage 72, virtual networks including virtual private networks 73, virtual applications and operating systems 74, and virtual clients 75.

[0062] In one example, the management layer 80 may provide the functions described below: Resource provisioning 81 provides dynamic procurement of computing and other resources utilized to perform tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking and billing or invoicing for consumption of these resources as they are utilized within the cloud computing environment. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, and protection for data and other resources. User portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management such that required service levels are met. Service level agreement (SLA) planning and fulfillment 85 provides advance provisioning and procurement of cloud computing resources in anticipation of future requirements according to SLAs.

[0063] The workload layer 90 illustrates examples of functionality for which a cloud computing environment is utilized. Examples of workloads and functions that come from this layer include mapping and navigation 91, software development and lifecycle management 92, virtual classroom instructional delivery 93, data analytics processing 94, transaction processing 95, and breakpoint generation 96.

[0064] It will be appreciated that one or more embodiments of the present invention are capable of being implemented in connection with any type of computing environment now known or later developed.

[0065] Referring now to FIG. 6, a computer system 600 for providing content management through a third-party data aggregation service is generally shown in accordance with one or more embodiments of the present invention. The methods described herein may be implemented in hardware, software (e.g., firmware), or a combination thereof. In one or more exemplary embodiments of the present invention, the methods described herein are implemented in hardware as part of a microprocessor of a special purpose or general purpose digital computer, such as a general purpose computer, a workstation, a minicomputer, or a mainframe computer. Thus, system 600 may include a general purpose computer or mainframe 601 that has the capability of simultaneously running multiple instances of an O / S.

[0066] In one or more exemplary embodiments of the present invention, from a hardware architecture perspective, as shown in FIG. 6, a computer 601 includes one or more processors 605, a memory 610 coupled to a memory controller 615, and one or more input and / or output (I / O) devices 640, 645 (or peripherals) communicatively coupled through a local I / O controller 635. The I / O controller 635 can be, for example, but not limited to, one or more buses or other wired or wireless connections, as known in the art. The I / O controller 635 may have additional elements, omitted for simplicity, such as controllers, buffers (caches), drivers, repeaters, and receivers, to enable communication. Additionally, the local interface may include address, control, or data connections, or combinations thereof, to enable appropriate communication between the aforementioned components. The I / O controller 635 may include multiple sub-channels configured to access the output devices 640 and 645. The sub-channels may include fiber optic communication ports.

[0067] Processor 605 is a hardware device for executing software, particularly that stored in storage 620, such as cache storage, or memory 610. Processor 605 can be any custom or commercially available processor, a central processing unit (CPU), a coprocessor among several processors associated with computer 601, a semiconductor-based microprocessor (in the form of a microchip or chip set), a microprocessor, or generally any device for executing instructions.

[0068] The memory 610 may include any or a combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and non-volatile memory elements (e.g., ROM, erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), programmable read only memory (PROM), tape, compact disk read only memory (CD-ROM), disk, diskette, cartridge, cassette, etc.). Additionally, the memory 610 may incorporate electronic, magnetic, optical, or other types or combinations of storage media. It is noted that the memory 610 may have a distributed architecture in which various components are located remotely from one another but can be accessed by the processor 605.

[0069] The instructions in memory 610 may include one or more separate programs, each of which comprises an ordered list of executable instructions for implementing a logical function. The operating system 611 essentially controls the execution of other computer programs and provides scheduling, input / output control, file and data management, memory management, and communications control, and related services.

[0070] According to one or more embodiments of the invention, memory 610 may include multiple logical partitions (LPARs), each running an instance of an operating system. The LPARs may be managed by a hypervisor, which may be a program stored in memory 610 and executed by processor 605.

[0071] In one or more exemplary embodiments of the present invention, a conventional keyboard 650 and mouse 655 may be coupled to the input / output controller 635. Other output devices, such as I / O devices 640, 645, may include input devices, such as, but not limited to, printers, scanners, microphones, etc. Finally, the I / O devices 640, 645 may further include devices for communicating inputs and outputs, such as, but not limited to, network interface cards (NICs) or modulators / demodulators (for accessing other files, devices, systems, or networks), radio frequency (RF) or other transceivers, telephone interfaces, bridges, routers, etc. The system 600 may further include a display controller 625 coupled to the display 630.

[0072] In one or more exemplary embodiments of the invention, the system 600 may further include a network interface 660 for coupling to a network 665. The network 665 may be an IP-based network for communication over a broadband connection between the computer 601 and any external servers, clients, etc. The network 665 transmits and receives data between the computer 601 and the external systems. In an exemplary embodiment, the network 665 may be a managed IP network operated by a service provider. The network 665 may be implemented in a wireless manner, for example, using wireless protocols and technologies such as WiFi, WiMax, etc. The network 665 may also be a packet-switched network, such as a local area network, a wide area network, a metropolitan area network, an Internet network, or other similar type of network environment. The network 665 may be a fixed wireless network, a wireless local area network (LAN), a wireless wide area network (WAN), a personal area network (PAN), a virtual private network (VPN), an intranet, or other suitable network system, and includes equipment for receiving and transmitting signals.

[0073] If computer 601 is a PC, workstation, intelligent device, etc., the instructions in memory 610 may further include a Basic Input / Output System (BIOS) (omitted for simplicity). The BIOS is a set of essential software routines that initialize and test hardware at start-up, start the OS 611, and support the transfer of data between hardware devices. The BIOS is stored in ROM so that the BIOS is executed when computer 601 is booted.

[0074] When computer 601 is operating, processor 605 is configured to execute instructions stored in memory 610, communicate data to and from memory 610, and generally control the operation of computer 601 in accordance with the instructions. According to one or more embodiments of the present invention, computer 601 is an example of cloud computing node 10 of FIG.

[0075] Various embodiments of the present invention are described herein with reference to the associated drawings. Alternative embodiments of the present invention may be devised without departing from the scope of the present invention. In the following description and in the drawings, various connections and relationships between elements (e.g., above, below, adjacent, etc.) are described. These connections and / or relationships may be direct or indirect unless otherwise specified, and the present invention is not limited in this respect. Thus, coupling of entities may refer to direct or indirect coupling, and relationships between entities may be direct or indirect relationships. Furthermore, various tasks and processing steps described herein may be incorporated into a more comprehensive procedure or process having additional steps or functions not detailed herein.

[0076] One or more of the methods described herein may be implemented by any one or combination of the following technologies well known in the art: discrete logic circuits having logic gates for performing logical functions on data signals, application specific integrated circuits (ASICs) having appropriate combinatorial logic gates, programmable gate arrays (PGAs), field programmable gate arrays (FPGAs), etc.

[0077] For the sake of brevity, conventional techniques relating to making and using aspects of the present invention may or may not be described in detail herein. In particular, various aspects of computing systems and specific computer programs for implementing various technical features described herein are well known. Thus, for the sake of brevity, many conventional implementation details are only briefly described herein or omitted altogether, without showing details of well-known systems and / or processes.

[0078] In some embodiments, various functions or actions may occur at a given location, or in conjunction with the operation of one or more devices or systems, or both. In some embodiments, a portion of a given function or action may be performed at a first device or location, and the remaining function or action may be performed at one or more additional devices or locations.

[0079] The terminology used herein is for the purpose of describing particular embodiments only and is not limiting. As used herein, the singular forms "a," "an," and "the" include the plural unless the context clearly indicates a different interpretation. Furthermore, as used herein, it will be understood that the terms "comprises" and / or "comprising" specify the presence of stated features, integers, steps, operations, elements, or components or combinations thereof, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or groups or combinations thereof.

[0080] The corresponding structures, materials, acts, and equivalents of all means or steps and functional elements in the following "claims" are intended to include any structure, material, or act for performing a function in combination with other claimed elements as specifically claimed. This disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the disclosed form. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the disclosure. The embodiments have been chosen and described to best explain the principles and practical applications of the disclosure, and to enable others skilled in the art to understand the disclosure to various embodiments with various modifications as suited to the particular use contemplated.

[0081] The diagrams shown herein are for illustrative purposes. There may be many variations in the diagrams or the steps (or operations) described therein without departing from the spirit of the disclosure. For example, actions may be performed in a different order, or actions may be added, deleted, or modified. Also, the term "coupled" describes having a signal path between two elements, and does not imply a direct connection between the elements without an intervening element / connection between them. All of these variations are considered part of the disclosure.

[0082] The following definitions and abbreviations are to be used for the interpretation of the claims and this specification. As used herein, the terms "comprises," "comprises," "includes," "including," "has," "having," "contains," or any other variation thereof are intended to be inclusive of non-exclusive inclusions. For example, a composition, mixture, process, method, product, or apparatus that comprises a list of elements is not necessarily limited to only those elements, and can include other elements not expressly listed or inherent to such composition, mixture, process, method, product, or apparatus.

[0083] Additionally, the term "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The terms "at least one" and "one or more" are understood to include any integer number greater than or equal to one, i.e., 1, 2, 3, 4, etc. The term "a plurality" may be understood to include any integer number greater than or equal to two, i.e., 2, 3, 4, 5, etc. The term "connected" may include both indirect and direct "connected."

[0084] The terms "about," "substantially," "approximately," and variations thereof are intended to include the degree of error associated with the measurement of a particular quantity, based on the equipment available at the time of filing this application. For example, "about" can include ±8% or 5% or 2% of a given value.

[0085] The present invention may be a system, method, or computer program product, or combination thereof, at any possible level of technical detail of integration. The computer program product may include a computer-readable storage medium having computer-readable program instructions for causing a processor to perform aspects of the present invention.

[0086] A computer readable storage medium may be a tangible device capable of holding and storing instructions for use by an instruction execution device. A computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or grooved ridge structures having instructions recorded thereon, and any suitable combination thereof. As used herein, computer-readable storage media is not to be construed as being a transitory signal per se, such as electric waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over a wire.

[0087] The computer readable program instructions described herein may be downloaded from a computer readable storage medium to the respective computing / processing device or to an external computer or storage device through a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may comprise copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer readable program instructions from the network and transfers the computer readable program instructions for storage in a computer readable storage medium in the respective computing / processing device.

[0088] The computer readable program instructions for carrying out the operations of the present invention may be source or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or object oriented programming languages ​​such as Smalltalk®, C++, and procedural programming languages ​​such as the “C” programming language or similar programming languages. The computer readable program instructions may be executed as a stand-alone software package, exclusively on the user's computer, partially on the user's computer, partially on the user's computer and partially on a remote computer, or exclusively on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or a connection may be made to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry to perform aspects of the invention.

[0089] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.

[0090] These computer-readable program instructions may be supplied to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to cause a machine such that instructions that execute through the processor of the computer or other programmable data processing apparatus create means for performing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored in a computer-readable storage medium that can instruct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that the computer-readable storage medium on which the instructions are stored comprises an article of manufacture containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0091] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device such that the instructions, which execute on the computer, other programmable apparatus, or other device, perform the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams, causing a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process.

[0092] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions comprising one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur in a different order than that noted in the figures. For example, two blocks shown in succession may in fact be executed substantially in parallel, or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, are implemented by a dedicated hardware-based system that performs the specified functions or actions, or performs a combination of dedicated hardware and computer instructions.

[0093] The description of various embodiments of the present invention has been presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used in this specification is selected to best explain the principles of the embodiments, practical applications, or technical improvements to the technology found in the market, or to enable those skilled in the art to understand the embodiments described in this specification.

Claims

1. A method for computer-based information processing, comprising: receiving a request from a user to access data obtained by a third party from a data owner, the data being in an encrypted format unreadable by the user; in response to receiving the request from the user to access the data; requesting a third-party key from the third party, the requesting comprising communicating with a security appliance of the third party to request the third-party key, the security appliance returning the third-party key in response to a determination that the third party authorizes the user to have access to the data, and further enabling the third-party security appliance to determine at a point in time that the third party does not authorize the user to have access to the data even after the data has been obtained by the user, providing the third party with control over access to the data; requesting a data owner key from the data owner, the requesting including communicating with the data owner's security appliance to request the data owner key, the security appliance returning the data owner key in response to a determination that the data owner authorizes the user to have access to the data, and further enabling the data owner's security appliance to determine at a point in time that the data owner does not authorize the user to have access to the data even after the data has been transmitted to the user by a third party, providing the data owner with control over access to the data; in response to receiving the third party key and the data owner key; applying the third party key and the data owner key to the data in the encrypted format to generate data in an unencrypted format readable by the user; providing said user with access to said data in an unencrypted format; The method includes:

2. The method of claim 1 , wherein the third party is a data broker.

3. 2. The method of claim 1 , wherein the encrypted format of the data was generated by encrypting the data with the data owner key and by encrypting the data encrypted with the data owner key with the third party key.

4. The method of claim 1 , further comprising, in response to receiving the request from the user to access the data, logging the request from the user to access the data.

5. 2. The method of claim 1, further comprising, in response to providing the user with access to the data in the unencrypted format, logging the providing the user with access to the data in the unencrypted format.

6. The method of claim 1 , wherein the data in the unencrypted format includes at least a subset of the data that has been masked or redacted.

7. 1. A system comprising: one or more processors for executing computer readable instructions that control the one or more processors to perform operations, the operations including: receiving a request from a user to access data obtained by a third party from a data owner, the data being in an encrypted format unreadable by the user; in response to receiving the request from the user to access the data; requesting a third-party key from the third party, the requesting comprising communicating with a security appliance of the third party to request the third-party key, the security appliance returning the third-party key in response to a determination that the third party authorizes the user to have access to the data, and further enabling the third-party security appliance to determine at a point in time that the third party does not authorize the user to have access to the data even after the data has been obtained by the user, providing the third party with control over access to the data; requesting a data owner key from the data owner, the requesting including communicating with the data owner's security appliance to request the data owner key, the security appliance returning the data owner key in response to a determination that the data owner authorizes the user to have access to the data, and further enabling the data owner's security appliance to determine at a point in time that the data owner does not authorize the user to have access to the data even after the data has been transmitted to the user by a third party, providing the data owner with control over access to the data; in response to receiving the third party key and the data owner key; applying the third party key and the data owner key to the data in the encrypted format to generate data in an unencrypted format readable by the user; providing said user with access to said data in an unencrypted format; A system including:

8. The system of claim 7 , wherein the third party is a data broker.

9. 8. The system of claim 7, wherein the encrypted format of the data was generated by encrypting the data with the data owner key and by encrypting the data encrypted with the data owner key with the third party key.

10. 8. The system of claim 7, wherein the operations further comprise, in response to receiving the request from the user to access the data, logging the request from the user to access the data.

11. 8. The system of claim 7, wherein the operations further include, in response to providing the user with access to the data in the unencrypted format, logging the providing the user with access to the data in the unencrypted format.

12. The system of claim 7 , wherein the data in the unencrypted format includes at least a subset of the data that has been masked or redacted.

13. A computer program causing a computer to execute the method according to any one of claims 1 to 6.

14. A storage medium having the computer program according to claim 13 stored therein.

Citation Information

Patent Citations

  • Contents distribution method and contents distributor

    JP2002314525A

  • Data storage device, data backup method, and data restoration method

    JP2003208355A

  • Content management and utilization method

    JP2006025236A

  • Encrypted augmentation storage

    US9298942B1

  • Diagnosis information provision device, method, and system

    WO2019215782A1