IP Library Granted Patent US 12,566,879
Granted Patent B2
US 12,566,879 · App. 18/439,572 · Granted Mar 3, 2026

Replacing distinct data in a relational database with a distinct reference to that data and distinct de-referencing of database data

Inventors: James Douglas Beecham (Austin, TX); Christopher Edward Struttmann (Indialantic, FL); Scott Nathaniel Goldfarb (Washington, MI)
Assignee: ALTR Solutions, Inc.
G06F21/6218G06F16/9014G06F16/9024H04L9/3239G06F2221/2107
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,566,879
App. No.
18/439,572
Filed
Feb 12, 2024
Granted
Mar 3, 2026
Kind
B2
Examiner
VO, TRUONG V
Art Unit
2156
USPC
713/165
Abstract

Provided is a process including: obtaining criteria to select plain-text values in a lower-trust database; selecting, based on the criteria, a first plain-text value; in response, determining a first reference value; storing the first plain-text value in a higher-trust database in a second entry identified by the first reference value; storing the first reference value in the first entry of the lower-trust database; selecting another instance of the first plain-text value stored requested to be stored in a third entry in the lower-trust database; and in response, storing the first reference value in the third entry.

Claims (72)

1 . A method, comprising:

configuring, with a computer system, a database to apply a masking policy to data values in the database that are designated as sensitive, thereby causing a response to a read request to the database to include obfuscated values in response to determining a first user is not entitled by the masking policy to view un-obfuscated values, the obfuscated values only being a subset of response, and the response also including values that are not obfuscated;

accessing, with a computer system, a log of access events in which the database is accessed, the log documenting the read request among a plurality of other access events from members of an organization including the user; and

determining, based on the log, that a second user has made more than a first threshold amount of access requests within less than a second threshold duration of time and, in response, causing an indication of the determination to be presented for investigation.

2 . The method of claim 1 , wherein:

obfuscating comprises cryptographically hashing at least part of each of the data values designated as sensitive.

3 . The method of claim 2 , wherein the computer system is a multi-tenant computer system, and wherein cryptographically hashing comprises applying a tenant-specific salt value to the respective data values and then hashing resulting salted values.

4 . The method of claim 1 , wherein obfuscating comprises causing a predetermined number of characters of a prefix or suffix of the each of the data values designated as sensitive to be replaced.

5 . The method of claim 1 , wherein obfuscating is applied during writing and is not removed during reading.

6 . The method of claim 1 , wherein obfuscating comprises encrypting data values designated as sensitive.

7 . The method of claim 1 , wherein the masking policy is applied by a database gateway for the database.

8 . The method of claim 1 , wherein the masking policy is applied by a database management system of the database.

9 . The method of claim 1 , wherein the masking policy is applied by a security driver.

10 . The method of claim 1 , wherein an entry in the log comprises:

an identifier of a user account making a logged access request,

a command indicating what is to be read, and

a timestamp.

11 . The method of claim 10 , wherein the entry identifies a requesting workload application that issued the command.

12 . The method of claim 10 , wherein the entry comprises a network address from which the command was issued.

13 . The method of claim 1 , comprising determining:

that an alert is to be emitted when more than a third threshold number of rows of with data designated as sensitive are accessed within a fourth duration of time; and

that an alert is to be emitted when more than a fifth threshold number of access requests is received within a sixth duration of time.

14 . The method of claim 1 , comprising determining, with a machine learning model, that a third user has made an access request that deviates from past behavior.

15 . The method of claim 1 , comprising determining that an alert is to be emitted in response to a risk metric that depends on aggregate amounts of access across a plurality of different databases.

16 . The method of claim 15 , wherein the plurality of different databases comprises a relational database, a noSQL database, and a key-value pair database.

17 . The method of claim 1 , comprising steps for predicting likelihood of a sequence of access requests.

18 . The method of claim 1 , comprising:

computing a risk metric for a third user based on access requests of the third user documented in the log; and

determining that the risk metric satisfies a risk threshold and, in response, emitting an alarm.

19 . The method of claim 1 , comprising:

designating a field of the database as sensitive by determining the first field matches a pattern.

20 . The method of claim 1 , comprising:

designating a set of data values as sensitive based on a determination that the set of data values satisfy a regular expression.

21 . The method of claim 1 , comprising:

classifying a set of data values in the database as sensitive with a trained machine learning model.

22 . The method of claim 1 , wherein the masking policy is applied in a way that transparently retrofits a workload application.

23 . A tangible, non-transitory, machine-readable medium storing instructions that, when executed, effectuate operations comprising:

configuring, with a computer system, a database to apply a masking policy to data values in the database that are designated as sensitive, thereby causing a response to a read request to the database to include obfuscated values in response to determining a first user is not entitled by the masking policy to view un-obfuscated values, the obfuscated values only being a subset of response, and the response also including values that are not obfuscated;

accessing, with a computer system, a log of access events in which the database is accessed, the log documenting the read request among a plurality of other access events from members of an organization including the user; and

determining, based on the log, that a second user has made more than a first threshold amount of access requests within less than a second threshold duration of time and, in response, causing an indication of the determination to be presented for investigation.

24 . The medium of claim 23 , wherein:

obfuscating comprises cryptographically hashing at least part of each of the data values designated as sensitive.

25 . The medium of claim 24 , wherein the computer system is a multi-tenant computer system, and wherein cryptographically hashing comprises applying a tenant- specific salt value to the respective data values and then hashing resulting salted values.

26 . The medium of claim 23 , wherein obfuscating comprises causing a predetermined number of characters of a prefix or suffix of the each of the data values designated as sensitive to be replaced.

27 . The medium of claim 23 , wherein obfuscating is applied during writing and is not removed during reading.

28 . The medium of claim 23 , wherein obfuscating comprises encrypting data values designated as sensitive.

29 . The medium of claim 23 , wherein the masking policy is applied by a database gateway for the database.

30 . The medium of claim 23 , wherein the masking policy is applied by a database management system of the database.

31 . The medium of claim 23 , wherein the masking policy is applied by a security driver.

32 . The medium of claim 23 , wherein an entry in the log comprises:

an identifier of a user account making a logged access request,

a command indicating what is to be read, and

a timestamp.

33 . The medium of claim 32 , wherein the entry identifies a requesting workload application that issued the command.

34 . The medium of claim 32 , wherein the entry comprises a network address from which the command was issued.

35 . The medium of claim 23 , the operations comprising determining:

that an alert is to be emitted when more than a third threshold number of rows of with data designated as sensitive are accessed within a fourth duration of time; and

that an alert is to be emitted when more than a fifth threshold number of access requests is received within a sixth duration of time.

36 . The medium of claim 23 , the operations comprising determining, with a machine learning model, that a third user has made an access request that deviates from past behavior.

37 . The medium of claim 23 , the operations comprising determining that an alert is to be emitted in response to a risk metric that depends on aggregate amounts of access across a plurality of different databases.

38 . The medium of claim 37 , wherein the plurality of different databases comprises a relational database, a noSQL database, and a key-value pair database.

39 . The medium of claim 23 , the operations comprising steps for predicting likelihood of a sequence of access requests.

40 . The medium of claim 23 , the operations comprising:

computing a risk metric for a third user based on access requests of the third user documented in the log; and

determining that the risk metric satisfies a risk threshold and, in response, emitting an alarm.

41 . The medium of claim 23 , the operations comprising:

designating a field of the database as sensitive by determining the first field matches a pattern.

42 . The medium of claim 23 , the operations comprising:

designating a set of data values as sensitive based on a determination that the set of data values satisfy a regular expression.

43 . The medium of claim 23 , the operations comprising:

classifying a set of data values in the database as sensitive with a trained machine learning model.

44 . The medium of claim 23 , wherein the masking policy is applied in a way that transparently retrofits a workload application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2024
From: BEECHAM, JAMES DOUGLAS; STRUTTMANN, CHRISTOPHER EDWARD; GOLDFARB, SCOTT NATHANIEL
To: ALTR SOLUTIONS, INC.
Reel/Frame 068977/0068 →
Continuity (10)
Continuation 17725503 · Apr 20, 2022
Continuation 16449235 · Jun 21, 2019
Continuation 16024792 · Jun 30, 2018
Continuation In Part 15845436 · Dec 18, 2017
Continuation 15675490 · Aug 11, 2017
Continuation In Part 15171347 · Jun 2, 2016
Provisional Application 62527330 · Jun 30, 2017
Provisional Application 62374278 · Aug 12, 2016
Provisional Application 62169823 · Jun 2, 2015
Related Publication 20240184908A1 · Jun 6, 2024
References Cited (33)
US 7287166B1 · Chang · 2007 [cited by applicant]
US 7974942B2 · Pomroy et al. · 2011 [cited by applicant]
US 8402281B2 · Dahl · 2013 [cited by applicant]
US 8498941B2 · Felsher · 2013 [cited by applicant]
US 10872162B2 · Qayyum et al. · 2020 [cited by applicant]
US 11200260B2 · Novotny et al. · 2021 [cited by applicant]
US 20060277220A1 · Patrick et al. · 2006 [cited by applicant]
US 20070018027A1 · Castelli et al. · 2007 [cited by applicant]
US 20070276842A1 · Lillibridge · 2007 [cited by applicant]
US 20080310619A1 · Scheidt et al. · 2008 [cited by applicant]
US 20090024908A1 · Kottke et al. · 2009 [cited by applicant]
US 20110015446A1 · Maurer et al. · 2011 [cited by applicant]
US 20130198838A1 · Schmidt · 2013 [cited by applicant]
US 20150009603A1 · Abrecht et al. · 2015 [cited by applicant]
US 20150150090A1 · Carroll et al. · 2015 [cited by applicant]
US 20190303579A1 · Reddy et al. · 2019 [cited by applicant]
EP 1528450A1 · 2025 [cited by applicant]
Notice of Allowance from related U.S. Appl. No. 18/490,616 dated May 13, 2024, pp. 1-13. [cited by applicant]
Ronit Reger, Dynamic Data Masking—highlighting the latest improvements, First published on MSDN on Oct. 22, 2015, Published Mar. 23, 2019. [cited by applicant]
Microsoft Azure, Microsoft Azure SQL Database provides unparalleled data security in the cloud with Always Encrypted, Posted on Oct. 14, 2015. [cited by applicant]
Caron Beesley, What's this Data Masking All about Anyway?, TD Synnex, Data & Storage, Uncategorized, Mar. 19, 2015. [cited by applicant]
Simon James, Microsoft SQL Server 2016—New features to protect your client's data, Linkedin—Jan. 28, 2016. [cited by applicant]
SolidQ, Row-level security and Dynamic Data Masking, Jun. 9, 2016. [cited by applicant]
SQL with Manoj, Obfuscate column level data by using “Dynamic Data Masking” in SQL Server 2016, Jul. 20, 2015. [cited by applicant]
IBM, Data security and privacy: Securing, monitoring, auditing and protecting structured and unstructured data, Jul. 2, 2015. [cited by applicant]
IBM, Product: IBM Security Guardium, Guardium v10.0 release notes, Oct. 8, 2015. [cited by applicant]
Informatica, Gartner Positions Informatica as a Leader in 2015 Magic Quadrant for Data Masking Technology, Worldwide, Informatica This Year Positioned Further on “Ability to Execute” Axis and is Farthest along “Complete… [cited by applicant]
Linda Betz, An Analysis of the Relationship between Security Information Technology Enhancements and Computer Security Breaches and Incidents, NSUWorks—Nova Southeastern University, Apr. 2016. [cited by applicant]
Notice of Allowance from related U.S. Appl. No. 18/490,616 dated Aug. 13, 2024, pp. 1-13. [cited by applicant]
Notice of Allowance from related U.S. Appl. No. 17/725,503 dated Nov. 9, 2023, pp. 1-12. [cited by applicant]
Notice of Allowance from related U.S. Appl. No. 18/180,078 dated Jan. 10, 2025, pp. 1-17. [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 19/196,463 dated Jun. 6, 2025, pp. 1-21. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 19/196,463 dated Sep. 30, 2025, pp. 1-8. [cited by applicant]