Techniques relating to data privacy are disclosed. These techniques include identifying data fields relating to a first data record, and generating transformed data fields by transforming the data fields using one or more transformations. Each of the transformations includes at least one of: (i) a hash function or (ii) a surrogate key function. The techniques further include generating encrypted data fields by encrypting the data fields using a respective encryption key, and storing the transformed data fields, the encrypted data fields, and of encryption keys. This includes storing the transformed data fields in one or more first storage locations, storing a first mapping between each of the transformed data fields and a corresponding encrypted data field in one or more second storage locations, and storing a second mapping between each of the transformed data fields and a corresponding encryption key in one or more third storage locations.
BACKGROUND
Enterprise data protection should both protect sensitive data so that it cannot be tied back to a particular individual, and reduce, to the extent possible, the accessibility of sensitive data within the enterprise platform. This can help increase protection for sensitive data. Further, this can help reduce access to personal information (PI) and sensitive personally identifiable information (PII) to only teams and roles that require such access. This can also reduce the risks of a data breach, and minimize the impact should one occur.
Solutions to data security frequently rely on a “privacy-on-read” model, in which access to sensitive data is protected at access, read, or query time. Privacy-on-read is often implemented and enforced via table or SQL views, dynamic masking, table and field permissions, use of proxies, or access controls. The approach for implementing privacy-on-read across source systems will vary from system to system and will also depend on the format or structure of the data. This approach can work for some highly structured datasets, but a holistic approach to privacy on read will need to translate the desired privacy policies across all technologies and data formats containing PI/PII in an organization (current and future). The creation and enforcement of any type of role-based access control (RBAC) permission model is extremely complex. Further, deletion of sensitive data in these models may require physically removing the data
1. A method, comprising: identifying a plurality of data fields relating to a first data record; generating a plurality of transformed data fields by transforming the plurality of data fields using one or more transformations, each of the one or more transformations comprising at least one of: (i) a hash function or (ii) a surrogate key function; generating a plurality of encrypted data fields by encrypting the plurality of data fields using a respective encryption key, of a plurality of encryption keys; and storing the plurality of transformed data fields, the plurality of encrypted data fields, and the plurality of encryption keys, comprising: storing the transformed data fields in one or more first storage locations; storing a first mapping between each of the transformed data fields and a corresponding encrypted data field in one or more second storage locations; and storing a second mapping between each of the transformed data fields and a corresponding encryption key in one or more third storage locations. ||
12. A non-transitory computer-readable medium containing computer program code that, when executed by operation of one or more computer processors, performs operations comprising: identifying a plurality of data fields relating to a first data record; generating a plurality of transformed data fields by transforming the plurality of data fields using one or more transformations, each of the one or more transformations comprising at least one of: (i) a hash function or (ii) a surrogate key function; generating a plurality of encrypted data fields by encrypting the plurality of data fields using a respective encryption key, of a plurality of encryption keys; and storing the plurality of transformed data fields, the plurality of encrypted data fields, and the plurality of encryption keys, comprising: storing the transformed data fields in one or more first storage locations; storing a first mapping between each of the transformed data fields and a corresponding encrypted data field in one or more second storage locations; and storing a second mapping between each of the transformed data fields and a corresponding encryption key in one or more third storage locations. ||
17. A system, comprising: a computer processor; and a memory having instructions stored thereon which, when executed on the computer processor, performs operations comprising: identifying a plurality of data fields relating to a first data record; generating a plurality of transformed data fields by transforming the plurality of data fields using one or more transformations, each of the one or more transformations comprising at least one of: (i) a hash function or (ii) a surrogate key function; generating a plurality of encrypted data fields by encrypting the plurality of data fields using a respective encryption key, of a plurality of encryption keys; and storing the plurality of transformed data fields, the plurality of encrypted data fields, and the plurality of encryption keys, comprising: storing the transformed data fields in one or more first storage locations; storing a first mapping between each of the transformed data fields and a corresponding encrypted data field in one or more second storage locations; and storing a second mapping between each of the transformed data fields and a corresponding encryption key in one or more third storage locations.