Virtual masked database
AssigneeOracle International Corporation
InventorsRavi Pattabhi, Harish Akali
Life of this patent
Estimating the term…
Abstract
Systems, methods, and other embodiments associated with virtual masked databases are described. One example system includes a masking logic to mask an unmasked column of a database table to produce a masked column. The masked column is then added to the database creating a bi-masked database. A portion of the bi-masked database is then selected by a view logic and provided to a user. The view provided to the user may allow fast, conflict free queries and updates to the database. By providing the user either masked or unmasked data based on information associated with the user, an added layer of data security may be achieved.
Claims20
A system, comprising:
- a data store configured to store a database table that stores sets of data corresponding to records in respective rows, where the database table includes an unmasked column that stores an unmasked version of given data and a masked column that stores a masked version of the data such that each row includes i) a unmasked field in the unmasked column that stores an unmasked version of data, and ii) a masked field in the masked column that stores the masked version of the data;
- view logic configured to:
- receive a request from a first user to view data in a record;
- access a row in the database table that stores the record;
- determine that the first user is not authorized to view an unmasked version of the data;
- and
- provide a view that includes a masked version of the data in a masked field in the row;
- and
- update logic configured to:
- receive, from the first user, a modification to the masked version of data in the masked field;
- access a mapping table to identify an unmasked field that stores an unmasked version of the data;
- and
- update the unmasked version of the data in the identified unmasked field to correspond to the modification made to the masked version of the data.
A non-transitory computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to:
- store a database table that stores sets of data corresponding to records in respective rows, where the database table includes an unmasked column that stores an unmasked version of given data and a masked column that stores a masked version of the data such that each row includes i) a unmasked field in the unmasked column that stores an unmasked version of data, and ii) a masked field in the masked column that stores the masked version of the data;
- and
- receive a request from a first user to view data in a record;
- access a row in the database table that stores the record;
- determine that the first user is not authorized to view an unmasked version of the data;
- and
- provide a view that includes a masked version of the data in a masked field in the row;
- receive, from the first user, a modification to the masked version of data in the masked field;
- access a mapping table to identify an unmasked field that stores an unmasked version of the data;
- and
- update the unmasked version of the data in the identified unmasked field to correspond to the modification made to the masked version of the data.
A computer-implemented method, comprising:
- storing a database table that stores sets of data corresponding to records in respective rows, where the database table includes an unmasked column that stores an unmasked version of given data and a masked column that stores a masked version of the data such that each row includes i) a unmasked field in the unmasked column that stores an unmasked version of data, and ii) a masked field in the masked column that stores the masked version of the data;
- and
- receiving a request from a first user to view data in a record;
- accessing a row in the database table that stores the record;
- determining that the first user is not authorized to view an unmasked version of the data;
- and
- providing a view that includes a masked version of the data in a masked field in the row;
- receiving, from the first user, a modification to the masked version of data in the masked field;
- accessing a mapping table to identify an unmasked field that stores an unmasked version of the data;
- and
- updating the unmasked version of the data in the identified unmasked field to correspond to the modification made to the masked version of the data.
Dependencies are inferred from the claim text.