IP Library Granted Patent US 8,204,906
Granted Patent B2
US 8,204,906 · App. 11/777,327 · Granted Jun 19, 2012

Abstraction based audit and security log model for increased role and security enforcement

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 8,204,906
App. No.
11/777,327
Granted
Jun 19, 2012
Kind
B2
Abstract

Embodiments of the invention store log event records in a secure database log by encrypting information in a query, or in query results, that would otherwise be subject to unwanted disclosure (either from within or without a given organization). For example, an organization (e.g., a research institution) may allow a database administrator to review log event records to diagnose and correct system performance issues, without being forced to trust the administrator with sensitive medical data (e.g., medical records related to participants in a research study). Thus, the security of sensitive information may be maintained, while at the same time, the database administrator may still access the information needed to maintain a working system.

Claims (44)

1. A computer implemented method for providing increased role and security enforcement for database log files, comprising:

receiving, from a requesting entity, a request to view a log event record included in the database log files, wherein one or more elements of the log event record is stored in the database log files in an encrypted format, wherein the log event record includes content of an abstract query and one or more data records retrieved from an underlying physical database and returned to a user in response to executing the abstract query, wherein each element of the log event record has a respective log visibility setting;

decrypting the one or more elements of the log event record, including decrypting at least one of the data records retrieved in response to executing the abstract query;

retrieving, for each decrypted element of the log event record, the log visibility setting;

evaluating, for each decrypted element of the log event record, the log visibility setting to determine whether to re-encrypt a given element prior to returning the log event record to the requesting entity;

based on the evaluated log visibility settings, selectively re-encrypting any of the decrypted elements of the log event record determined to be re-encrypted; and

returning a resulting log event record to the requesting entity.

2. The method of claim 1 , wherein the log event record further captures attributes of the user who submitted the abstract query for execution.

3. The method of claim 1 , wherein the content of the abstract query includes a plurality of logical fields including a first group of logical fields specifying selection criteria for the abstract query and a second group of logical fields specifying results criteria for the abstract query.

4. The method of claim 1 , wherein a new log event record is generated in response to receiving an abstract query for execution, and wherein the new log event record includes content of the received abstract query and any data records retrieved from an underlying physical database and returned to a user in response to executing the received abstract query.

5. The method of claim 1 , wherein the log visibility setting comprises an indication to re-encrypt the corresponding decrypted element of the log event record comprising the at least one data record retrieved from the underlying physical database.

6. The method of claim 1 , wherein the log visibility setting comprises an indication to re-encrypt the corresponding decrypted element of the log event record comprising results criteria for the abstract query.

7. The method of claim 1 , wherein the log visibility setting comprises an indication to re-encrypt a portion of the corresponding decrypted element of the log event record comprising a conditional value of a result criteria for the abstract query.

8. The method of claim 3 , wherein each of the plurality of logical fields includes at least access method specifying a method for accessing data in an underlying physical database and logging metadata specifying the log visibility setting for a corresponding logical field the log event record.

9. The method of claim 3 , wherein the log visibility setting selectively exposes the logical fields to the requesting entity.

10. The method of claim 8 , wherein the logging metadata for a given logical field specifies to re-encrypt any data records retrieved for the logical field, and to not re-encrypt the instance of that logical field in the abstract query.

11. The method of claim 9 , wherein the given element comprises a definition of each logical field included in a logged query.

12. The method of claim 9 , wherein the log visibility setting is chosen from the group consisting of: return the logical fields and any corresponding data records in an unencrypted form; re-encrypt the logical field and any corresponding data records; re-encrypt only query results; re-encrypt an entire condition criteria; and re-encrypt only a conditional value specified in a query condition.

13. A non-transitory computer-readable storage medium containing a program which, when executed, performs an operation for providing increased role and security enforcement for database log files, the operation comprising:

receiving, from a requesting entity, a request to view a log event record included in the database log files, wherein one or more elements of the log event record is stored in the database log files in an encrypted format, wherein the log event record includes content of an abstract query and one or more data records retrieved from an underlying physical database and returned to a user in response to executing the abstract query, wherein each element of the log event record has a respective log visibility setting;

decrypting the one or more elements of the log event record, including decrypting at least one of the data records retrieved in response to executing the abstract query;

retrieving, for each decrypted element of the log event record, the log visibility setting;

evaluating, for each decrypted element of the log event record the log visibility setting to determine whether to re-encrypt a given element prior to returning the log event record to the requesting entity;

based on the evaluated log visibility settings, selectively re-encrypting any of decrypted elements of the log event record determined to be re-encrypted; and

returning a resulting log event record to the requesting entity.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the log event record further captures attributes of the user who submitted the abstract query for execution.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the content of the abstract query includes a plurality of logical fields including a first group of logical fields specifying selection criteria for the abstract query and a second group of logical fields specifying results criteria for the abstract query.

16. The non-transitory computer-readable storage medium of claim 13 , wherein a new log event record is generated in response to receiving an abstract query for execution, and wherein the new log event record includes content of the received abstract query and any data records retrieved from an underlying physical database and returned to a user in response to executing the received abstract query.

17. The non-transitory computer-readable storage medium of claim 15 , wherein each of the plurality of logical fields includes at least access method specifying a method for accessing data in an underlying physical database and logging metadata specifying the log visibility setting for a corresponding logical field the log event record.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the logging metadata for a given logical field specifies to re-encrypt any data records retrieved for the logical field, and to not re-encrypt the instance of that logical field in the abstract query.

19. A system, comprising:

a processor; and

a memory containing a program, which when executed by the processor performs an operation for providing increased role and security enforcement for database log files, the operation comprising:

receiving, from a requesting entity, a request to view a log event record included in the database log files, wherein one or more elements of the log event record is stored in the database log files in an encrypted format, wherein the log event record includes content of an abstract query and one or more data records retrieved from an underlying physical database and returned to a user in response to executing the abstract query, wherein each element of the log event record has a respective log visibility setting,

decrypting the one or more elements of the log event record, including decrypting at least one of the data records retrieved in response to executing the abstract query,

retrieving, for each decrypted element of the log event record, the log visibility setting,

evaluating, for each decrypted element of the log event record the log visibility setting to determine whether to re-encrypt a given element prior to returning the log event record to the requesting entity,

based on the evaluated log visibility settings, selectively re-encrypting any of decrypted elements of the log event record determined to be re-encrypted, and

returning a resulting log event record to the requesting entity.

20. The system of claim 19 , wherein the log event record further captures attributes of the user who submitted the abstract query for execution.

21. The system of claim 19 , wherein the content of the abstract query includes a plurality of logical fields including a first group of logical fields specifying selection criteria for the abstract query and a second group of logical fields specifying results criteria for the abstract query.

22. The system of claim 19 , wherein a new log event record is generated in response to receiving an abstract query for execution, and wherein the new log event record includes content of the received abstract query and any data records retrieved from an underlying physical database and returned to a user in response to executing the received abstract query.

23. The system of claim 21 , wherein each of the plurality of logical fields includes at least access method specifying a method for accessing data in an underlying physical database and logging metadata specifying the log visibility setting for a corresponding logical field the log event record.

24. The system of claim 23 , wherein the logging metadata for a given logical field specifies to re-encrypt any data records retrieved for the logical field, and to not re-encrypt the instance of that logical field in the abstract query.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2016
From: MIDWAY TECHNOLOGY COMPANY LLC
To: SERVICENOW, INC.
Reel/Frame 038324/0816 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: MIDWAY TECHNOLOGY COMPANY LLC
Reel/Frame 037704/0257 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2007
From: DETTINGER, RICHARD D.; KOLZ, DANIEL P.; KULACK, FREDERICK A.; VOLDAL, ERIK E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 019553/0704 →