IP Library Granted Patent US 9,646,176
Granted Patent B2
US 9,646,176 · App. 14/733,778 · Granted May 9, 2017

Method for encrypting database

Inventors: Jeong Il Yoon (Gyeonggi-Do, KR); Sang Young Park (Gyeonggi-Do, KR)
Assignee: TmaxData Co., Ltd.
G06F21/78G06F21/6209G06F21/64H04L9/0872H04L9/3239
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,646,176
App. No.
14/733,778
Granted
May 9, 2017
Kind
B2
Abstract

According to an embodiment of the present invention, a computer program stored in a computer-readable medium for encrypting a data value included in a data table stored in a memory and storing the encrypted data value in a persistent storage medium is disclosed. The computer program allows a computer to perform steps including: generating an encrypted data value based on the data value included in the data table stored in a memory; generating a hash value that matches the encrypted data value at least partially based on the data value and positional information of the data value; and determining to write the encrypted data value and the hash value on a persistent storage medium.

Claims (66)

1. An encrypting program stored in a non-transitory computer-readable medium and configured for encrypting a data value included in a data table stored in a memory and storing the encrypted data value in a persistent storage medium, wherein the encrypting program allows a computer device to perform steps including:

generating the encrypted data value based on the data value included in the data table stored in the memory;

generating a hash value that matches the encrypted data value at least partially based on the data value and positional information of the data value,

wherein the generating the hash value includes:

acquiring a column key at least partially based on meta information of the data table,

acquiring a row ID at least partially based on a position at which the data value is to be written on a data block, and

generating the hash value that matches the encrypted data value at least partially based on the data value, the column key, and the row ID, and

wherein the positional information of the data value includes at least one of the row ID or the column key; and

determining to write the encrypted data value and the hash value on the persistent storage medium,

where instructions for the encrypting program are executed by one or more processors in the computer device.

2. The encrypting program of claim 1 ,

wherein the steps further include:

determining to encrypt data values of one or more columns of the data table, and

the steps are performed with respect to the data values of one or more columns determined to be encrypted.

3. The encrypting program of claim 1 ,

wherein the steps further include: when the encrypted data value is updated,

generating a second encrypted data value based on the updated data value;

determining to store the second encrypted data value at a second position different from the position of the encrypted data value;

generating a second hash value that matches the second encrypted data value at least partially based on the updated data value and positional information of the second position; and

determining to write the second encrypted data value and the second hash value on the persistent storage medium.

4. The encrypting program of claim 1 ,

wherein the steps further include:

generating a check sum in a block of the persistent storage medium based on the encrypted data value and the hash value.

5. The encrypting program of claim 1 ,

wherein the generating the encrypted data value includes:

determining an encryption function based on encryption information included in an encryption key, and

generating the encrypted data value by using the encryption function calculated based on the data value.

6. The encrypting program of claim 5 ,

wherein the encryption key includes at least information associated with an encryption mode, information on an encrypted data type, and a data length,

the encryption mode includes at least one of a data encryption standard (DES), a triple DES, or an advanced encryption standard (AES).

7. A method for encrypting a data value included in a data table stored in a memory and storing the encrypted data value in a persistent storage medium,

wherein a program allows a computer device to perform steps including:

generating the encrypted data value based on the data value included in the data table stored in the memory;

generating a hash value that matches the encrypted data value at least partially based on the data value and storage positional information on the persistent storage medium in which the data value is to be stored,

wherein the generating the hash value includes:

acquiring a column key at least partially based on meta information of the data table,

acquiring a row ID at least partially based on a position at which the data value is to be written on a data block, and

generating the hash value that matches the encrypted data value at least partially based on the data value, the column key, and the row ID, and

wherein the storage positional information of the data value includes at least one of the row ID or the column key; and

determining to write the encrypted data value and the hash value on the persistent storage medium,

where instructions for the program are executed by one or more processors in the computer device.

8. The method of claim 7 ,

wherein the steps further include: when the encrypted data value is updated,

generating a second encrypted data value based on the updated data value;

determining to store the second encrypted data value at a second position different from the position of the encrypted data value on the persistent storage medium;

generating a second hash value that matches the second encrypted data value at least partially based on the updated data value and positional information of the second position; and

determining to write the second encrypted data value and the second hash value on the persistent storage medium.

9. A database server for providing data security, the database server comprising:

one or more hardware computer processors;

a memory storing a data table including a data value;

an encryption module configured to generate an encrypted data value based on the data value;

a hash module configured to generate a first hash value that matches the encrypted data value at least partially based on the data value and positional information of the data value by:

acquiring a column key at least partially based on meta information of the data table,

acquiring a row ID at least partially based on a position at which the data value is to be written on a data block, and

generating the first hash value that matches the encrypted data value at least partially based on the data value, the column key, and the row ID, and

wherein the positional information of the data value includes at least one of the row ID or the column key,

wherein the encyption module and the hash module are software modules executed by the one or more hardware computer processors; and

a persistent storage medium in which the encrypted data value and the first hash value are written.

10. The database server for providing data security of claim 9 , the database server further comprising:

where the hash module is further configured to generate a second hash value that matches the encrypted data value at least partially based on the data value and storage positional information on the persistent storage medium in which the data value is to be stored; and

where in the persistent storage medium, the encrypted data value, and the second hash value are written.

11. The database server for providing data security of claim 9 , the database server further comprising:

where the encryption module is further configured to generate, when an encrypted data value is updated, a second encrypted data value based on the updated data value;

the persistent storage medium is further configured to store the second encrypted data value at a second position different from the position of the encrypted data value on the persistent storage medium;

where the hash module is further configured to generate a third hash value that matches the second encrypted data value at least partially based on the updated data value and positional information of the second position; and

where in the persistent storage medium, the second encrypted data value, and the third hash value are written.

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 28, 2015
From: YOON, JEONG IL; PARK, SANG YOUNG
To: TMAXDATA CO., LTD
Reel/Frame 036199/0896 →
Priority Claims (1)
KR 10-2015-0040593 · Mar 24, 2015 · national
Continuity (1)
Related Publication 20160283749A1 · Sep 29, 2016