IP Library Granted Patent US 9,779,264
Granted Patent B2
US 9,779,264 · App. 14/733,819 · Granted Oct 3, 2017

Method, server and computer program for security management in database

Inventors: Jeong Il Yoon (Gyeonggi-Do, KR); Sang Young Park (Gyeonggi-Do, KR)
Assignee: TmaxData Co., Ltd.
G06F21/6227G06F21/6218G06F21/6236G06F21/6245
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,779,264
App. No.
14/733,819
Granted
Oct 3, 2017
Kind
B2
Abstract

Disclosed is a program for security management in a database, which is stored in a computer readable medium to allow a computer to perform steps including: reading one or more data encrypted at a column level from a persistent storage medium or a memory; decrypting one or more data encrypted at the column level to generate one or more decrypted data; generating an index table based on the one or more generated decrypted data; and performing an operation of encrypting the generated index table at a block level.

Claims (56)

1. A non-transitory computer readable medium having a program for security management in a database to allow a computing device to perform steps including:

reading one or more data encrypted at a column level from any of a persistent storage medium or a memory;

decrypting one or more data encrypted at the column level to generate one or more decrypted data;

generating an index table based on the one or more generated decrypted data; and

performing an operation of encrypting the generated index table at a block level,

where the instructions for the program are executed by one or more processors in the computing device,

wherein, in a column-level encryption, a first encryption key is generated by a column unit and, in a block-level encryption, a second encryption key is generated by a block unit or by a unit of the block or more, and wherein the first encryption key and the second encryption key are encrypted through a master key to be stored in a data dictionary of a memory, and the master key is stored in any of an external storage medium or a database server.

2. The non-transitory computer readable medium of claim 1 ,

wherein the steps further include: storing the index table encrypted at the block level in the persistent storage medium.

3. The non-transitory computer readable medium of claim 1 ,

wherein the operation of encrypting the generated index table at the block level is performed when a background process intends to write the block in the memory in the persistent storage medium.

4. The non-transitory computer readable medium of claim 1 ,

wherein the steps further include:

receiving a storage request for the one or more data;

determining whether a column in which the one or more data are to be stored is an encrypted column and whether the column in which the one or more data are to be stored is a column of which an index is set; and

encrypting and storing the one or more data at the column level when the column in which the one or more data are to be stored is the encrypted column and the column in which the one or more data are to be stored is the column of which the index is set.

5. The non-transitory computer readable medium of claim 4 ,

wherein the encrypting and storing of the one or more data at the column level includes storing the one or more data encrypted at the column level in a data segment of the persistent storage medium.

6. The program non-transitory computer readable medium of claim 4 ,

wherein the first and second encryption keys have different values.

7. The non-transitory computer readable medium of claim 1 ,

wherein the steps further include: storing the index table encrypted at the block level in an index segment of the persistent storage medium.

8. The non-transitory computer readable medium of claim 1 ,

wherein the generating of the index table includes generating the index table at least partially based on a size attribute for a column in which the one or more decrypted data are to be stored.

9. The non-transitory computer readable medium of claim 1 ,

wherein the generating of the index table is performed based on at least one of a balanced tree (B-tree) index technique, a bitmap index technique, and a function based index (FBI) technique.

10. The non-transitory computer readable medium of claim 1 ,

wherein the encryption and decryption are transparently and automatically performed with respect to a client of the database server.

11. The non-transitory computer readable medium of claim 1 ,

wherein one or more data encrypted at the column level are stored in the persistent storage medium together with an encryption comparison code generated at least partially based on the one or more data values and positional information in which the data values are to be stored.

12. The non-transitory computer readable medium of claim 1 , wherein the steps further include:

encrypting and storing the one or more data at the column level,

wherein the column in which the one or more data are to be stored is an encrypted column and a column in which an index is set.

13. A non-transitory computer readable medium storing a program for security management in a database to allow a computing device to perform steps including:

reading an index table encrypted at a block level from a persistent storage medium in response to an index inquiry request;

decrypting the index table encrypted at the block level to generate the decrypted index table;

performing index scan based on the decrypted index table;

reading one or more data encrypted at a column level corresponding to a result of the index scan, from the persistent storage medium; and

decrypting one or more data encrypted at the column level to generate one or more decrypted data,

where the instructions for the program are executed by one or more processors in the computing device, and

wherein, in a column-level encryption, a first encryption key is generated by a column unit and, in a block-level encryption, a second encryption key is generated by a block unit or by a unit of the block or more, and wherein the first encryption key and the second encryption key are encrypted through a master key to be stored in a data dictionary of a memory, and the master key is stored in any of an external storage medium or a database server.

14. The non-transitory computer readable medium of claim 13 ,

wherein the index scan result includes a column key and a row ID corresponding to the index inquiry request.

15. The non-transitory computer readable medium of claim 13 ,

wherein the steps further include: generating an index inquiry result value corresponding to the index inquiry request based on one or more decrypted data.

16. A database server having a program for security management, comprising:

at least one hardware processor and a memory configured for

reading an index table encrypted at a block level from a persistent storage medium in response to an index inquiry request,

decrypting the index table encrypted at the block level to generate the decrypted index table,

performing index scan based on the decrypted index table,

reading one or more data encrypted at a column level corresponding to a result of the index scan, from the persistent storage medium, and

decrypting one or more data encrypted at the column level to generate one or more decrypted data; and

a persistent storage medium configured to store a data table including the data encrypted at the column level and an index table encrypted at the block level,

wherein, in a column-level encryption, a first encryption key is generated by a column unit and in a block-level encryption, a second encryption key is generated by a block unit or by a unit of the block or more, and wherein the first encryption key and the second encryption key are encrypted through a master key to be stored in a data dictionary, and the master key is stored in any of an external storage medium or the database server, where any software portions of the program are stored in the memory.

17. The database server of claim 16 , further comprising:

the at least one processor further configured to generate the index table based on the one or more decrypted data, and to perform an operation of encrypting the generated index table at the block level.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2022
From: TMAXDATACO., LTD. (ALSO KNOWN AS TMAXDATA CO., LTD. AND TMAX DATA CO., LTD.)
To: TMAXTIBERO CO., LTD.
Reel/Frame 060635/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2015
From: YOON, JEONG IL; PARK, SANG YOUNG
To: TMAXDATA CO., LTD
Reel/Frame 036232/0376 →
Priority Claims (1)
KR 10-2015-0040583 · Mar 24, 2015 · national
Continuity (1)
Related Publication 20160285623A1 · Sep 29, 2016