IP Library Granted Patent US 9,223,807
Granted Patent B2
US 9,223,807 · App. 13/615,233 · Granted Dec 29, 2015

Role-oriented database record field security model

Inventors: Geoffrey George Jackson (San Jose, CA); Jay Merrill Bruce (San Jose, CA); Falk Reichbott (Meerane, DE)
Assignee: International Business Machines Corporation
G06F17/30292G06F21/604G06F21/62G06F21/6227
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,223,807
App. No.
13/615,233
Granted
Dec 29, 2015
Kind
B2
Abstract

A database management system implements a role-oriented authorization scheme that facilitates operating system (OS) supported encrypted field access for a table in the database. A security model provides for various roles that have varying responsibilities and rights with respect to the database tables and the data supported therein. In this approach, data that is considered sensitive is encrypted. A system administrator role is authorized to create, update, and maintain a table but is not authorized to view sensitive field data, i.e., data stored in encrypted columns of the table. A security administrator role is authorized to define column masks with OS-enforced security access control to the sensitive field data. By separating (fencing) these responsibilities, the security model enforces end-to-end encryption across the entire database management system.

Claims (59)

1. A method for enforcing security in a database management system, comprising:

providing a first role authorized to create, update and maintain a table in a database, the first role being restricted from viewing sensitive field data in the table;

providing a second role distinct from the first role and authorized to define for the first role at least one operating system-enforced security access control for the table, the second role being restricted from access to the table;

encrypting at least some data in the table using a function executing on a hardware element of the database management system; and

enforcing access to the encrypted data based on the first and second roles;

wherein a role is a database object managed by the database management system and to which at least one database privilege is associated.

2. The method as described in claim 1 , further including:

providing a third role distinct from the first role and the second role, the third role being authorized to access and update the encrypted data in the table; and

enforcing access to the encrypted data based on the first, second and third roles.

3. The method as described in claim 2 , further including:

providing a fourth role distinct from the first role, the second role, and the third role, the fourth role being authorized to access encrypted data in the table only in masked form; and

enforcing access to the encrypted data based on the first, second, third and fourth roles.

4. The method as described in claim 3 wherein the fourth role is one of: an application user role, an application developer role, and an auditor role.

5. The method as described in claim 1 wherein the security access control is one of: an operating system-enforced access control, and a column mask.

6. The method as described in claim 1 wherein the database management system includes a relational database.

7. The method as described in claim 6 wherein the first role is SYSADM, and the second role is SECADM.

8. Apparatus, comprising:

a processor;

computer memory holding computer program instructions that when executed by the processor perform a method for enforcing security in a database management system using roles, wherein a role is a database object managed by the database management system and to which at least one database privilege is associated, the method comprising:

providing a first role authorized to create, update and maintain a table in a database, the first role being restricted from viewing sensitive field data in the table;

providing a second role distinct from the first role and authorized to define for the first role at least one operating system-enforced security access control for the table, the second role being restricted from access to the table;

encrypting at least some data in the table; and

enforcing access to the encrypted data based on the first and second roles.

9. The apparatus as described in claim 8 , wherein the method further includes:

providing a third role distinct from the first role and the second role, the third role being authorized to access and update the encrypted data in the table; and

enforcing access to the encrypted data based on the first, second and third roles.

10. The apparatus as described in claim 9 , wherein the method further includes:

providing a fourth role distinct from the first role, the second role, and the third role, the fourth role being authorized to access encrypted data in the table only in masked form; and

enforcing access to the encrypted data based on the first, second, third and fourth roles.

11. The apparatus as described in claim 10 wherein the fourth role is one of: an application user role, an application developer role, and an auditor role.

12. The apparatus as described in claim 8 wherein the security access control is one of: an operating system-enforced access control, and a column mask.

13. The apparatus as described in claim 8 wherein the database management system includes a relational database.

14. The apparatus as described in claim 13 wherein the first role is SYSADM, and the second role is SECADM.

15. A computer program product in a non-transitory computer readable medium for use in a data processing system, the computer program product holding computer program instructions which, when executed by the data processing system, perform a method for enforcing security in a database management system, the method comprising:

providing a first role authorized to create, update and maintain a table in a database, the first role being restricted from viewing sensitive field data in the table;

providing a second role distinct from the first role and authorized to define for the first role at least one operating system-enforced security access control for the table, the second role being restricted from access to the table;

encrypting at least some data in the table; and

enforcing access to the encrypted data based on the first and second roles;

wherein a role is a database object managed by the database management system and to which at least one database privilege is associated.

16. The computer program product as described in claim 15 , wherein the method further includes:

providing a third role distinct from the first role and the second role, the third role being authorized to access and update the encrypted data in the table; and

enforcing access to the encrypted data based on the first, second and third roles.

17. The computer program product as described in claim 16 , wherein the method further includes:

providing a fourth role distinct from the first role, the second role, and the third role, the fourth role being authorized to access encrypted data in the table only in masked form; and

enforcing access to the encrypted data based on the first, second, third and fourth roles.

18. The computer program product as described in claim 17 wherein the fourth role is one of: an application user role, an application developer role, and an auditor role.

19. The computer program product as described in claim 15 wherein the security access control is one of: an operating system-enforced access control, and a column mask.

20. The computer program product as described in claim 15 wherein the database management system includes a relational database.

21. The computer program product as described in claim 20 wherein the first role is SYSADM, and the second role is SECADM.

22. A security server operative in a multi-component computing system that includes a mainframe operating system, comprising:

a processor;

computer memory holding computer program instructions executed by the processor for enforcing security in a database management system according to the following operations:

providing a role-oriented authorization scheme with operating system (OS)-enforced encrypted field access for a table in a database, wherein a role is a database object managed by the database management system and to which at least one database privilege is associated;

providing a system administrator role authorized to create, update, and maintain the table and not authorized to view encrypted column data in the table;

providing a security administrator role authorized to define for the system administrator role column masks with OS-enforced security access to the encrypted columns, the system administrator role being restricted from access to the table; and

responsive to a request, reading encrypted column data.

23. The security server as described in claim 22 further including decrypting the encrypted column data and providing the resulting decrypted data in response to the request if the request is received from an authorized user.

24. The security server as described in claim 22 further including providing the encrypted column data in masked form in response to the request if the request is received from a user that does not have authority to access the encrypted column.

25. The security server as described in claim 22 wherein the multi-component computing system includes a relational database, the system administrator role is SYSADM, the security administrator role is SECADM, and the OS-enforced security access is a resource access control facility.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2025
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: ABNORMAL AI, INC.
Reel/Frame 071021/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2012
From: JACKSON, GEOFFREY GEORGE; BRUCE, JAY MERRILL; REICHBOTT, FALK
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 028959/0343 →
Continuity (1)
Related Publication 20140075571A1 · Mar 13, 2014