IP Library › Granted Patent US 9,171,174
Granted Patent B2
US 9,171,174 · App. 14/092,112 · Granted Oct 27, 2015

Methods, systems, and computer program products for verifying user data access policies when server and/or user are not trusted

Inventors: Evgene Vahlis (Jersey City, NJ); Paul Giura (Cairo, NY)
Assignee: AT&T INTELLECTUAL PROPERTY I, L.P.
G06F21/602G06F17/30424G06F2221/2149
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 9,171,174
App. No.
14/092,112
Granted
Oct 27, 2015
Kind
B2
Abstract

To verify compliance with a data access policy, a query result including data specified by a requesting entity and a representation of a data access policy is received from a database. Based on the representation of the data access policy included in the query result, it is verified whether the requesting entity is permitted to access the data included in the query result. Transmission of the data included in the query result to the requesting entity is controlled responsive to the verification. Related methods, systems, and computer program products are also discussed.

Claims (36)

1. A method of verifying compliance with a data access policy, the method comprising:

receiving, by a server, a result of a query to an electronic database, the result of the query comprising electronic data requested by a requesting entity, the result of the query further comprising an electronic representation of the data access policy that lists electronic values associated with data records maintained in the electronic database that are accessible to the requesting entity, and the result of the query further comprising a cryptographic key used to generate the electronic values associated with the data records;

comparing, by the server, the electronic data from the result of the query requested by the requesting entity to the electronic values associated with the data records listed in the electronic representation of the data access policy;

determining, by the server, a match between the electronic data from the result of the query requested by the requesting entity to one of the electronic values associated with the data records listed in the electronic representation of the data access policy;

verifying, by the server, that the requesting entity is permitted to access the electronic data included in the result of the query in response to the match between the electronic data from the result of the query requested by the requesting entity to the one of the electronic values associated with the data records listed in the electronic representation of the data access policy; and

allowing, by the server, transmission of the electronic data included in the result of the query to the requesting entity responsive to the verifying.

2. The method of claim 1 , further comprising receiving a filter data structure specific to the requesting entity.

3. The method of claim 1 , further comprising preventing the transmission of the electronic data included in the result of the query to the requesting entity in response to a failure of the match.

4. The method of claim 1 , further comprising receiving metadata.

5. The method of claim 1 , further comprising receiving a code injection command.

6. The method of claim 1 , further comprising:

receiving the query from the requesting entity; and

generating a modified query requesting the electronic representation of the data access policy.

7. The method of claim 1 , further comprising:

storing different electronic representations of different data access policies in the electronic database, the electronic database having electronic database associations between the different electronic representations of the different data access policies and different identifiers associated with different requesting entities.

8. A system for verifying compliance with a data access policy, comprising:

a processor; and

a memory that is coupled to the processor and comprises computer readable program code embodied in the memory that when executed by the processor causes the processor to perform operations comprising:

receiving a result of a query to an electronic database, the result of the query comprising electronic data requested by a requesting entity, the result of the query further comprising an electronic representation of the data access policy that lists electronic values associated with data records maintained in the electronic database that are accessible to the requesting entity, and the result of the query further comprising a cryptographic key used to generate the electronic values associated with the data records;

comparing the electronic data from the result of the query requested by the requesting entity to the electronic values associated with the data records listed in the electronic representation of the data access policy;

determining a match between the electronic data from the result of the query requested by the requesting entity to one of the electronic values associated with the data records listed in the electronic representation of the data access policy;

verifying that the requesting entity is permitted to access the electronic data included in the result of the query in response to the match between the electronic data from the result of the query requested by the requesting entity to the one of the electronic values associated with the data records listed in the electronic representation of the data access policy; and

allowing transmission of the electronic data included in the result of the query to the requesting entity responsive to the verifying.

9. The system of claim 8 , wherein the operations further comprise remotely retrieving the electronic representation of the data access policy.

10. The system of claim 8 , wherein the operations further comprise preventing the transmission of the electronic data included in the result of the query to the requesting entity in response to a failure of the match.

11. The system of claim 8 , wherein the operations further comprise receiving metadata.

12. A memory device storing code that when executed causes a processor to perform operations, the operations comprising:

receiving a result of a query to an electronic database, the result of the query comprising electronic data requested by a requesting entity, the result of the query further comprising an electronic representation of the data access policy that lists electronic values associated with data records maintained in the electronic database that are accessible to the requesting entity, and the result of the query further comprising a cryptographic key used to generate the electronic values associated with the data records;

comparing the electronic data from the result of the query requested by the requesting entity to the electronic values associated with the data records listed in the electronic representation of the data access policy;

determining a match between the electronic data from the result of the query requested by the requesting entity to one of the electronic values associated with the data records listed in the electronic representation of the data access policy;

verifying that the requesting entity is permitted to access the electronic data included in the result of the query in response to the match between the electronic data from the result of the query requested by the requesting entity to the one of the electronic values associated with the data records listed in the electronic representation of the data access policy; and

allowing transmission of the electronic data included in the result of the query to the requesting entity responsive to the verifying.

13. The memory device of claim 12 , wherein the operations further comprise receiving a filter data structure specific to the requesting entity.

14. The memory device of claim 12 , wherein the operations further comprise preventing the transmission of the electronic data included in the result of the query to the requesting entity in response to a failure of the match.

15. The memory device of claim 12 , wherein the operations further comprise receiving metadata.

16. The memory device of claim 12 , wherein the operations further comprise storing different electronic representations of different data access policies in the electronic database, the electronic database having electronic database associations between the different electronic representations of the different data access policies and different identifiers associated with different requesting entities.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 032243 FRAME: 0788. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 21, 2022
From: GIURA, PAUL
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 059204/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2022
From: AT&T INTELLECTUAL PROPERTY I, L.P.
To: WORKDAY, INC.
Reel/Frame 058971/0940 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2015
From: VAHLIS, EVGENE
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 036271/0094 →
NUNC PRO TUNC ASSIGNMENT Recorded Apr 27, 2015
From: AT&T MOBILITY II LLC
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 035498/0098 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2014
From: GIURA, PAUL
To: AT&T MOBILITY II LLC
Reel/Frame 032243/0788 →
Continuity (1)
Related Publication 20150150075A1 · May 28, 2015