CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a National Stage Application, filed under 35 U.S.C. 371, of International Patent Application No. PCT/US2019/046533 filed on Aug. 14, 2019 titled “DATA SECURITY METHOD FOR PRIVACY PROTECTION,” the entirety of which is incorporated by reference herein.

BACKGROUND

In a computer networked environment such as the Internet, entities such as people interact with information such as content items within a webpage. In an offline environment such as a retail location, the entities may perform actions such as making a phone call or purchase. There is a need to identify how the online interactions may relate to the offline actions in a secure way and while protecting the privacy of personally identifiable information.

SUMMARY

One implementation of the disclosure relates to a method including receiving, at a first computing system from a second computing system, a first key and encrypted online interaction data encoding data indicating one or more online interactions with content, receiving, at the first computing system from a third computing system, a second key and encrypted offline action data encoding data indicating one or more offline actions, receiving, at the first computing system from the third computing system, executable code comprising a third key, and executing, by the first computing system, the executable code. The executable code causing the first computing system to decrypt the encrypted online interaction data and the encrypted offline action data using the first key, the second key, and the third key, correlate one or more of the offline actions in the offline action data to one or more online interactions in the online interaction data, and generate aggregate data indicating a number of offline actions correlated to the online interactions.

In some implementations, the first computing system transmits the aggregate data to at least one of the second computing system or the third computing system without providing the decrypted online interaction data to the third computing system or the decrypted offline action data to the second computing system. In some implementations, the encrypted online interaction data includes a first identifier for each of the one or more online interactions, the encrypted offline action data includes a second identifier for each of the one or more offline actions, and correlating the offline actions to the online interactions includes determining one or more of the second identifiers associated with one or more of the first identifiers. In some implementations, the first computing system receives from a fourth computing system, mapping data associating one or more of the first identifiers with one or more of the second identifiers. In some implementations, correlating the offline actions to the online interactions includes determining the one or more of the second identifiers associated with the one or more of the first identifiers using the mapping data.

In some implementations, the executable code is executed within a protected environment of the first computing system and the decrypted online interaction data and the decrypted offline action data is stored within the protected environment such that the decrypted online interaction data and the decrypted offline action data is inaccessible to a portion of the first computing system outside of the protected environment. In some implementations, the first key and the second key are shared keys and the third key is a private key, wherein the encrypted online interaction data and the encrypted offline action data are encrypted by symmetric encryption using the shared keys, and wherein the first key and the second key are encrypted by asymmetric encryption using the third key. In some implementations, generating the aggregate data using the executable code allows the third computing system to control characteristics of the aggregate data without exposing unencrypted action data to the third computing system. In some implementations, the one or more offline actions are offline transactions at one or more physical storefronts. In some implementations, the first computing system is a cloud cluster processing system.

Another implementation relates to a first computing system including a memory having instructions stored thereon and a processor configured to execute the instructions. The instructions causing the processor to receive, from a second computing system, a first key and encrypted online interaction data encoding data indicating one or more online interactions with content, receive, from a third computing system, a second key, encrypted offline action data encoding data indicating one or more offline actions, and executable code, and execute the executable code. The executable code causing the processor to decrypt the encrypted online interaction data received from the first computing system, decrypt the encrypted offline action data received from the second computing system, correlate one or more of the offline actions in the offline action data to one or more online interactions in the online interaction data, and generate aggregate data indicating a number of offline actions correlated to the online interactions.

In some implementations, the instructions further causing the processor to transmit the aggregate data to at least one of the first computing system or the second computing system without providing the decrypted online interaction data to the second computing system or the decrypted offline action data to the first computing system. In some implementations, the encrypted online interaction data include a first identifier for each of the one or more online interactions, the encrypted offline action data include a second identifier for each of the one or more offline actions, and wherein correlating the offline actions to the online interactions include determining one or more of the second identifiers associated with one or more of the first identifiers. In some implementations, the system further includes a fourth computing system having mapping data, and wherein the third computing system correlates the offline actions to the online interactions by determining the one or more of the second identifiers associated with the one or more of the first identifiers using the mapping data.

In some implementations, the third computing system further includes a protected environment and wherein the decrypted online interaction data and the decrypted offline action data are stored within the protected environment such that the decrypted online interaction data and the decrypted offline action data are inaccessible to a portion of the third computing system outside of the protected environment. In some implementations, the first key and the second key are shared keys and the third key is a private key, wherein the encrypted online interaction data and the encrypted offline action data are encrypted by symmetric encryption using the shared keys, and wherein the first key and the second key are encrypted by asymmetric encryption using the third key. In some implementations, generating the aggregate data using the executable code allows the second computing system to control characteristics of the aggregate data without exposing unencrypted action data to the second computing system. In some implementations, the one or more offline actions are offline transactions at one or more physical storefronts.

Another implementation relates to a method including receiving, at a first computing system from a second computing system, a first key and encrypted online interaction data encoding data indicating one or more online interactions with content, the encrypted online interaction data including a first identifier for each of the one or more online interactions, receiving, at the first computing system from a third computing system, a second key and encrypted offline action data encoding data indicating one or more offline actions, the encrypted offline action data including a second identifier for each of the one or more offline actions, receiving, at the first computing system from the third computing system, executable code including a third key, receiving, at the first computing system from a fourth computing system, mapping data associating one or more of the first identifiers with one or more of the second identifiers, and executing, by the first computing system, the executable code. The executable code causing the first computing system to decrypt the encrypted online interaction data and the encrypted offline action data using the first key, the second key, and the third key, correlate one or more of the offline actions in the offline action data to one or more online interactions in the online interaction data by determining the one or more of the second identifiers associated with the one or more of the first identifiers using the mapping data, generate aggregate data indicating a number of offline actions correlated to the online interactions, and transmit the aggregate data to at least one of the second computing system or the third computing system without providing the decrypted online interaction data to the third computing system or the decrypted offline action data to the second computing system.

In some implementations, the one or more offline actions are offline transactions at one or more physical storefronts. In some implementations, the first computing system is a cloud cluster processing system.

The various aspects and implementations may be combined where appropriate.

