Method and System for Masking Data in a Consistent Manner Across Multiple Data Sources
First Claim
1. A method for data masking at least one data field of at least one data record in a primary database and at least one data field of at least one data record in a secondary database that has a key field having a correspondence with a key field in the at least one data record in the primary database, using a table of translation matrix records comprising an unmasked key field and at least one masked data field corresponding to the at least one data field of the at least one data record, the method comprising:
- in respect of the primary database;
comparing the key field of the at least one data record in the corresponding database against the unmasked key field of each of the translation matrix records;
populating a first sub-table record, if the unmasked key field of a translation matrix record matches the key field of the at least one data record, the first sub-table record comprising an unmasked key field and at least one masked data field corresponding to the at least one data field of the at least one data record, using the unmasked key field and the at least one masked data field of the matching translation matrix record;
populating a second sub-table record, if no unmasked key field of any translation matrix record matches the key field of the at least one data record, the second sub-table record comprising a key field and at least one data field corresponding to the at least one data field of the at least one data record, using the corresponding key field and the at least one data field of the at least one data record;
masking the at least one data field of the second sub-table record;
adding the first sub-table record or the masked second sub-table record as a masked record in a masked copy of the corresponding database; and
if the masked second sub-table record was created, populating a translation matrix record corresponding thereto using the key field and the at least one data field for the unmasked key field and the at least one masked data field;
repeating the method with respect to the secondary database;
whereby at least one data field of the at least one data record of the primary database and the at least one data field of the at least one data record of the secondary database may be masked in a consistent manner.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and system for data masking a series of interrelated data records is disclosed. A lockable translation matrix repository resource is provided to contain both masked data as well as appropriate key information that provides links between respective copies of respective interlinked databases and maintains the data integrity of masking data inserted therein. Records are masked on a column by column or table by table basis. Records for which masking data is already in the repository are masked by making use of such data, while remaining records are segregated, masked and the masking data updated to the repository. Preferably a backup copy of the masked data records is stored in the repository to permit de-masking of the data records at a later stage. Pivot tables are applied where keys do not match exactly but still exhibit a one-to-one relationship.
87 Citations
18 Claims
-
1. A method for data masking at least one data field of at least one data record in a primary database and at least one data field of at least one data record in a secondary database that has a key field having a correspondence with a key field in the at least one data record in the primary database, using a table of translation matrix records comprising an unmasked key field and at least one masked data field corresponding to the at least one data field of the at least one data record, the method comprising:
-
in respect of the primary database; comparing the key field of the at least one data record in the corresponding database against the unmasked key field of each of the translation matrix records; populating a first sub-table record, if the unmasked key field of a translation matrix record matches the key field of the at least one data record, the first sub-table record comprising an unmasked key field and at least one masked data field corresponding to the at least one data field of the at least one data record, using the unmasked key field and the at least one masked data field of the matching translation matrix record; populating a second sub-table record, if no unmasked key field of any translation matrix record matches the key field of the at least one data record, the second sub-table record comprising a key field and at least one data field corresponding to the at least one data field of the at least one data record, using the corresponding key field and the at least one data field of the at least one data record; masking the at least one data field of the second sub-table record; adding the first sub-table record or the masked second sub-table record as a masked record in a masked copy of the corresponding database; and if the masked second sub-table record was created, populating a translation matrix record corresponding thereto using the key field and the at least one data field for the unmasked key field and the at least one masked data field; repeating the method with respect to the secondary database; whereby at least one data field of the at least one data record of the primary database and the at least one data field of the at least one data record of the secondary database may be masked in a consistent manner. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system for data masking at least one data field of at least one data record in a primary database and at least one data field of at least one data record in a secondary database that has a key field having a correspondence with a key field in the at least one data record in the primary database, the system comprising:
-
a memory for storing data records, including a table of translation matrix records comprising an unmasked key field and at least one masked data field corresponding to the at least one data field of the at least one data record; a processor coupled to the memory for; in respect of the primary database; comparing the key field of the at least one data record in the corresponding database against the unmasked key field of each of the translation matrix records; populating a first sub-table record, if the unmasked key field of a translation matrix record matches the key field of the at least one data record, the first sub-table record comprising an unmasked key field and at least one masked data field corresponding to the at least one data field of the at least one data record, using the unmasked key field and the at least one masked data field of the matching translation matrix record; populating a second sub-table record, if no unmasked key field of any translation matrix record matches the key field of the at least one data record, the second sub-table record comprising a key field and at least one data field corresponding to the at least one data field of the at least one data record, using the corresponding key field and the at least one data field of the at least one data record; masking the at least one data field of the second sub-table record; adding the first sub-table record or the masked second sub-table record as a masked record in a masked copy of the corresponding database; if the masked second sub-table record was created, populating a translation matrix record corresponding thereto using the key field and the at least one data field for the unmasked key field and the at least one masked data field; and repeating the method with respect to the secondary database; whereby at least one data field of the at least one data record of the primary database and the at least one data field of the at least one data record of the secondary database may be masked in a consistent manner.
-
-
17. A processor in a system for data masking at least one data field of at least one data record in a primary database and at least one data field of at least one data record in a secondary database that has a key field having a correspondence with a key field in the at least one data record in the primary database, the processor being operatively coupled to a memory for storing data records including a table of translation matrix records comprising an unmasked key field and at least one masked data field corresponding to at least one data field of the at least one data record for:
-
in respect of the primary database; comparing the key field of the at least one data record in the corresponding database against the unmasked key field of each of the translation matrix records; populating a first sub-table record, if the unmasked key field of a translation matrix record matches the key field of the at least one data record, the first sub-table record comprising an unmasked key field and at least one masked data field corresponding to the at least one data field of the at least one data record, using the unmasked key field and the at least one masked data field of the matching translation matrix record; populating a second sub-table record, if no unmasked key field of any translation matrix record matches the key field of the at least one data record, the second sub-table record comprising a key field and at least one data field corresponding to the at least one data field of the at least one data record, using the corresponding key field and the at least one data field of the at least one data record; masking the at least one data field of the second sub-table record; adding the first sub-table record or the masked second sub-table record as a masked record in a masked copy of the corresponding database; if the masked second sub-table record was created, populating a translation matrix record corresponding thereto using the key field and the at least one data field for the unmasked key field and the at least one masked data field; and repeating the method with respect to the secondary database; whereby at least one data field of the at least one data record of the primary database and the at least one data field of the at least one data record of the secondary database may be masked in a consistent manner.
-
-
18. A computer-readable medium coupled to a processor, in a system for data masking at least one data field of at least one data record in a primary database and at least one data field of at least one data record in a secondary database that has a key field having a one to one correspondence with a key field in the at least one data record in the primary database, the medium for storing data records including a table of translation matrix records comprising an unmasked key field and at least one masked data field corresponding to at least one data field of the at least one data record, and having stored thereon, computer-readable and computer-executable instructions which, when executed by the processor, cause the processor to:
-
in respect of the primary database; compare the key field of the at least one data record in the corresponding database against the unmasked key field of each of the translation matrix records; populate a first sub-table record, if the unmasked key field of a translation matrix record matches the key field of the at least one data record, the first sub-table record comprising an unmasked key field and at least one masked data field corresponding to the at least one data field of the at least one data record, using the unmasked key field and the at least one masked data field of the matching translation matrix record; populate a second sub-table record, if no unmasked key field of any translation matrix record matches the key field of the at least one data record, the second sub-table record comprising a key field and at least one data field corresponding to the at least one data field of the at least one data record, using the corresponding key field and the at least one data field of the at least one data record; mask the at least one data field of the second sub-table record; add the first sub-table record or the masked second sub-table record as a masked record in a masked copy of the corresponding database; if the masked second sub-table record was created, populate a translation matrix record corresponding thereto using the key field and the at least one data field for the unmasked key field and the at least one masked data field; and repeat the method with respect to the secondary database; whereby at least one data field of the at least one data record of the primary database and the at least one data field of the at least one data record of the secondary database may be masked in a consistent manner.
-
Specification