IP Library › Granted Patent US 12,361,316
Granted Patent B2
US 12,361,316 · App. 17/172,959 · Granted Jul 15, 2025

System for implementing dynamic data obfuscation using pattern recognition techniques

Inventors: Brandon Sloane (Indian Land, SC); Jinyoung Nathan Kim (Charlotte, NC); Adriana Tache (Falls Church, VA); Charles Edward Dudley (Concord, NC)
Assignee: BANK OF AMERICA CORPORATION
G06N20/00G06F16/285G06F18/22G06F18/24147G06F21/6218
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,361,316
App. No.
17/172,959
Granted
Jul 15, 2025
Kind
B2
Abstract

Systems, computer program products, and methods are described herein for implementing dynamic data obfuscation using pattern recognition techniques. The present invention is configured to electronically receive one or more data artifacts; electronically receive one or more masked data artifacts; initiate one or more machine learning algorithms on the one or more data artifacts and the one or more masked data artifacts; determine, using the one or more machine learning algorithms, a first set of patterns associated with the one or more data artifacts and a second set of patterns associated with the one or more masked data artifacts; determine a similarity index between the first set of patterns and the second set of patterns; and compare the similarity index with a predetermined threshold; determine one or more alternate data obfuscation algorithms; and implement the one or more alternate data obfuscation algorithms on the one or more data artifacts.

Claims (85)

1. A system for implementing dynamic data obfuscation using pattern recognition techniques, the system comprising:

a processor; and

a non-transitory storage device containing instructions that, when executed by the processor, cause the processor to:

electronically receive, from a first database, one or more data artifacts;

electronically receive, from an obfuscated first database, one or more masked data artifacts, wherein the one or more masked data artifacts are the one or more data artifacts that have been masked using one or more obfuscation algorithms;

initiate one or more machine learning algorithms on the one or more data artifacts;

determine, using the one or more machine learning algorithms, a first set of patterns associated with the one or more data artifacts;

initiate the one or more machine learning algorithms on the one or more masked data artifacts;

determine, using the one or more machine learning algorithms, a second set of patterns associated with the one or more masked data artifacts;

determine a similarity index between the first set of patterns and the second set of patterns;

compare the similarity index with a predetermined threshold;

determine one or more alternate data obfuscation algorithms based on at least comparing the similarity index with the predetermined threshold; and

iteratively implement the one or more alternate data obfuscation algorithms on the one or more data artifacts until the similarity index between the first set of patterns and the second set of patterns generated in response to each iterative implementation of the one or more alternate data obfuscation algorithms on the one or more data artifacts is greater than the predetermined threshold.

2. The system of claim 1 , wherein the instructions, when executed, cause the processor to:

implement one or more data obfuscation algorithms on the one or more data artifacts, wherein implementing further comprises obfuscating the one or more data artifacts to generate one or more masked data artifacts.

3. The system of claim 2 , wherein the instructions, when executed, cause the processor to:

initiate the one or more machine learning algorithms on the one or more data artifacts, wherein each of the one or more data artifacts comprises at least a data record, metadata, data boot structure, and one or more data indexes;

classify, using the one or more machine learning algorithms, the one or more data artifacts into one or more class labels; and

determine the first set of patterns associated with the one or more data artifacts based on at least classifying the one or more data artifacts into the one or more class labels.

4. The system of claim 3 , wherein the instructions, when executed, cause the processor to:

initiate the one or more machine learning algorithms on the one or more masked data artifacts;

classify, using the one or more machine learning algorithms, the one or more masked data artifacts into the one or more class labels; and

determine the second set of patterns associated with the one or more data artifacts based on at least classifying the one or more masked data artifacts into the one or more class labels.

5. The system of claim 4 , wherein the instructions, when executed, cause the processor to:

initiate the one or more machine learning algorithms on the one or more data artifacts;

classify, using the one or more machine learning algorithms, the one or more data artifacts into one or more cluster groups; and

determine the first set of patterns associated with the one or more data artifacts based on at least classifying the one or more data artifacts into the one or more cluster groups.

6. The system of claim 5 , wherein the instructions, when executed, cause the processor to:

initiate the one or more machine learning algorithms on the one or more masked data artifacts;

classify, using the one or more machine learning algorithms, the one or more masked data artifacts into one or more cluster groups; and

determine the first set of patterns associated with the one or more masked data artifacts based on at least classifying the one or more masked data artifacts into the one or more cluster groups.

7. A computer program product for implementing dynamic data obfuscation using pattern recognition techniques, the computer program product comprising a non-transitory computer-readable medium comprising code causing a first apparatus to:

electronically receive, from a first database, one or more data artifacts;

electronically receive, from an obfuscated first database, one or more masked data artifacts, wherein the one or more masked data artifacts are the one or more data artifacts that have been masked using one or more obfuscation algorithms;

initiate one or more machine learning algorithms on the one or more data artifacts;

determine, using the one or more machine learning algorithms, a first set of patterns associated with the one or more data artifacts;

initiate the one or more machine learning algorithms on the one or more masked data artifacts;

determine, using the one or more machine learning algorithms, a second set of patterns associated with the one or more masked data artifacts;

determine a similarity index between the first set of patterns and the second set of patterns;

compare the similarity index with a predetermined threshold;

determine one or more alternate data obfuscation algorithms based on at least comparing the similarity index with the predetermined threshold; and

iteratively implement the one or more alternate data obfuscation algorithms on the one or more data artifacts until the similarity index between the first set of patterns and the second set of patterns generated in response to each iterative implementation of the one or more alternate data obfuscation algorithms on the one or more data artifacts is greater than the predetermined threshold.

8. The computer program product of claim 7 , wherein the code further causes the first apparatus to:

implement one or more data obfuscation algorithms on the one or more data artifacts, wherein implementing further comprises obfuscating the one or more data artifacts to generate one or more masked data artifacts.

9. The computer program product of claim 8 , wherein the code further causes the first apparatus to:

initiate the one or more machine learning algorithms on the one or more data artifacts, wherein each of the one or more data artifacts comprises at least a data record, metadata, data boot structure, and one or more data indexes;

classify, using the one or more machine learning algorithms, the one or more data artifacts into one or more class labels; and

determine the first set of patterns associated with the one or more data artifacts based on at least classifying the one or more data artifacts into the one or more class labels.

10. The computer program product of claim 9 , wherein the code further causes the first apparatus to:

initiate the one or more machine learning algorithms on the one or more masked data artifacts;

classify, using the one or more machine learning algorithms, the one or more masked data artifacts into the one or more class labels; and

determine the second set of patterns associated with the one or more data artifacts based on at least classifying the one or more masked data artifacts into the one or more class labels.

11. The computer program product of claim 10 , wherein the code further causes the first apparatus to:

initiate the one or more machine learning algorithms on the one or more data artifacts;

classify, using the one or more machine learning algorithms, the one or more data artifacts into one or more cluster groups; and

determine the first set of patterns associated with the one or more data artifacts based on at least classifying the one or more data artifacts into the one or more cluster groups.

12. The computer program product of claim 11 , wherein the code further causes the first apparatus to:

initiate the one or more machine learning algorithms on the one or more masked data artifacts;

classify, using the one or more machine learning algorithms, the one or more masked data artifacts into one or more cluster groups; and

determine the first set of patterns associated with the one or more masked data artifacts based on at least classifying the one or more masked data artifacts into the one or more cluster groups.

13. A method for implementing dynamic data obfuscation using pattern recognition techniques, the method comprising:

electronically receiving, from a first database, one or more data artifacts;

electronically receiving, from an obfuscated first database, one or more masked data artifacts, wherein the one or more masked data artifacts are the one or more data artifacts that have been masked using one or more obfuscation algorithms;

initiating one or more machine learning algorithms on the one or more data artifacts;

determining, using the one or more machine learning algorithms, a first set of patterns associated with the one or more data artifacts;

initiating the one or more machine learning algorithms on the one or more masked data artifacts;

determining, using the one or more machine learning algorithms, a second set of patterns associated with the one or more masked data artifacts;

determining a similarity index between the first set of patterns and the second set of patterns;

comparing the similarity index with a predetermined threshold;

determining one or more alternate data obfuscation algorithms based on at least comparing the similarity index with the predetermined threshold; and

iteratively implementing the one or more alternate data obfuscation algorithms on the one or more data artifacts until the similarity index between the first set of patterns and the second set of patterns generated in response to each iterative implementation of the one or more alternate data obfuscation algorithms on the one or more data artifacts is greater than the predetermined threshold.

14. The method of claim 13 , wherein the method further comprises:

implementing one or more data obfuscation algorithms on the one or more data artifacts, wherein implementing further comprises obfuscating the one or more data artifacts to generate one or more masked data artifacts.

15. The method of claim 14 , wherein the method further comprises:

initiating the one or more machine learning algorithms on the one or more data artifacts, wherein each of the one or more data artifacts comprises at least a data record, metadata, data boot structure, and one or more data indexes;

classifying, using the one or more machine learning algorithms, the one or more data artifacts into one or more class labels; and

determining the first set of patterns associated with the one or more data artifacts based on at least classifying the one or more data artifacts into the one or more class labels.

16. The method of claim 15 , wherein the method further comprises:

initiating the one or more machine learning algorithms on the one or more masked data artifacts;

classifying, using the one or more machine learning algorithms, the one or more masked data artifacts into the one or more class labels; and

determining the second set of patterns associated with the one or more data artifacts based on at least classifying the one or more masked data artifacts into the one or more class labels.

17. The method of claim 16 , wherein the method further comprises:

initiating the one or more machine learning algorithms on the one or more data artifacts;

classifying, using the one or more machine learning algorithms, the one or more data artifacts into one or more cluster groups; and

determining the first set of patterns associated with the one or more data artifacts based on at least classifying the one or more data artifacts into the one or more cluster groups.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2021
From: SLOANE, BRANDON; KIM, JINYOUNG NATHAN; TACHE, ADRIANA; DUDLEY, CHARLES EDWARD
To: BANK OF AMERICA CORPORATION
Reel/Frame 055219/0400 →
Continuity (1)
Related Publication 20220253744A1 · Aug 11, 2022
References Cited (68)
US 8001607B2 · Stull et al. · 2011 [cited by applicant]
US 8347396B2 · Grigsby · 2013 [cited by applicant]
US 8812524B2 · Chen et al. · 2014 [cited by applicant]
US 8949209B2 · Khin et al. · 2015 [cited by applicant]
US 8959654B2 · Avrahami et al. · 2015 [cited by applicant]
US 9043929B2 · Avrahami et al. · 2015 [cited by applicant]
US 9223995B1 · Lavinio · 2015 [cited by applicant]
US 9251339B2 · Bullis et al. · 2016 [cited by applicant]
US 9298878B2 · Guirguis et al. · 2016 [cited by applicant]
US 9311369B2 · Pattabhi · 2016 [cited by applicant]
US 9646143B2 · Lavinio · 2017 [cited by applicant]
US 9716692B2 · Cismas et al. · 2017 [cited by applicant]
US 9753931B2 · Burshteyn · 2017 [cited by applicant]
US 9946895B1 · Kruse et al. · 2018 [cited by applicant]
US 10037330B1 · Burshteyn · 2018 [cited by applicant]
US 10102398B2 · Neergaard · 2018 [cited by applicant]
US 10216958B2 · Avrahami et al. · 2019 [cited by applicant]
US 10289816B1 · Malassenet · 2019 [cited by applicant]
US 10289868B2 · Jagadish et al. · 2019 [cited by applicant]
US 10298545B2 · Boivie et al. · 2019 [cited by applicant]
US 10303559B2 · Vijayan · 2019 [cited by applicant]
US 10860732B2 · Guirguis et al. · 2020 [cited by applicant]
US 10929556B1 · Kurian · 2021 [cited by applicant]
US 11003783B1 · Ursachi · 2021 [cited by applicant]
US 11238138B1 · Ancheta · 2022 [cited by applicant]
US 20060195703A1 · Jakubowski · 2006 [cited by applicant]
US 20080240425A1 · Rosales · 2008 [cited by applicant]
US 20110270837A1 · Raj et al. · 2011 [cited by applicant]
US 20120079281A1 · Lowenstein · 2012 [cited by applicant]
US 20120239433A1 · Kenedy · 2012 [cited by examiner]
US 20120272329A1 · Grammer et al. · 2012 [cited by applicant]
US 20130054650A1 · O'Byrne · 2013 [cited by applicant]
US 20130104239A1 · McLachlan · 2013 [cited by applicant]
US 20140019467A1 · Itoh · 2014 [cited by applicant]
US 20140188514A1 · Balignasay et al. · 2014 [cited by applicant]
US 20150074392A1 · Boivie · 2015 [cited by applicant]
US 20150098564A1 · Chamley et al. · 2015 [cited by applicant]
US 20160092871A1 · Gordon · 2016 [cited by applicant]
US 20160300075A1 · Stankiewicz et al. · 2016 [cited by applicant]
US 20180060612A1 · Gladwin · 2018 [cited by applicant]
US 20180248887A1 · Sayed · 2018 [cited by applicant]
US 20200034573A1 · Pulkus · 2020 [cited by applicant]
US 20200082120A1 · Richardson · 2020 [cited by examiner]
US 20200159907A1 · Johnson · 2020 [cited by applicant]
US 20200250139A1 · Muffat · 2020 [cited by examiner]
US 20200265159A1 · Schmatz · 2020 [cited by applicant]
US 20200265532A1 · Lee · 2020 [cited by examiner]
US 20200327252A1 · McFall · 2020 [cited by applicant]
US 20200364801A1 · Basra · 2020 [cited by applicant]
US 20210012017A1 · Wu · 2021 [cited by applicant]
US 20210097150A1 · Justusson · 2021 [cited by applicant]
US 20210133557A1 · Iyoob · 2021 [cited by examiner]
US 20210150038A1 · Valecha · 2021 [cited by applicant]
US 20210158171A1 · Rausch · 2021 [cited by examiner]
US 20210174347A1 · Rose · 2021 [cited by applicant]
US 20210398128A1 · Huber, Jr. · 2021 [cited by applicant]
US 20220075899A1 · Richardson · 2022 [cited by applicant]
US 20220138325A1 · Todd · 2022 [cited by examiner]
US 20220229913A1 · Mack · 2022 [cited by applicant]
US 20220253544A1 · Sloane · 2022 [cited by applicant]
US 20230107191A1 · Wong · 2023 [cited by applicant]
WO 2001001260A3 · 2002 [cited by applicant]
WO 2009139650A1 · 2009 [cited by applicant]
WO 2020165756A1 · 2020 [cited by applicant]
Smallman, A. C. (2020). Analysis of Time Activity Data Characteristics and Data Degradation in Digital Forensics (Doctoral dissertation, George Mason University). (Year: 2020). [cited by examiner]
Christian Pilato et al., “TAO: Techniques for Algorithm-Level Obfuscation during High-Level Synthesis”, 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC), Jun. 2018, pp. 1-6. [cited by applicant]
Rajat Subhra Chakraborty et al., “Hardware protection and authentication through netlist level obfuscation”, 2008 IEEE/ACM International Conference on Computer-Aided Design, Nov. 2008, pp. 1-4. [cited by applicant]
Riboni et al., “Obfuscation of Sensitive Data for Incremental Release of Network Flows”, IEEE/ACM Transactions on Networking, vol. 23, No. 2, Apr. 2014. [cited by applicant]