Database management system and encryption method performed in database
AssigneeAltibase Corp.
InventorChan Seung Moon
Life of this patent
Estimating the term…
Abstract
A database management system (DBMS) performs encryption in a DB. The system receives authentication authorization regarding a security policy of the DB from an external encryption unit that is separated from the DB and performs encryption. Important data in a column unit is selectively encrypted and an encrypted comparison code (ECC) of the important data is generated inside the DB. The encrypted important data and the corresponding ECC is generated as a single encryption data type.
Claims26
A computer-implemented encryption method performed in database (DB), the method comprising:
- receiving, by the DB, information identifying an encryption algorithm from an external encryption unit that is separate from the DB;
- storing an important data of a column of a table of the DB as a single encryption data type in an encrypted column of the DB, wherein an instance of the single encryption data type based on an input data item of the important data is obtained by combining:
- (a) an encrypted comparison code (ECC) value obtained by applying an order preserving function to the input data item, wherein the ECC value cannot be decrypted to obtain the input data item and wherein the ECC value is used for performing data comparison for the single encryption data type;
- and
- (b) an encrypted value obtained by applying the encryption algorithm identified by the external encryption unit to the input data item, wherein the encrypted value is used for decrypting the instance of the single encryption data type;
- receiving a request to perform a join operation of the table with another table using the column storing the important data;
- responsive to receiving the request to perform the join, performing a join by performing comparisons with the ECC values of the encrypted column of the DB;
- receiving a request for a value of the important data, the request identifying an instance of the single encryption data type;
- and
- determining the value of the important data by decrypting the encrypted value portion of the identified instance of the single encryption data type.
A database management system (DBMS) comprising a computer processor and a non-transitory computer-readable storage medium storing instructions for:
- receiving information identifying an encryption algorithm from an external encryption unit separate from the DB;
- storing an important data of a column of a table of the DB as a single encryption data type in an encrypted column of the DB, wherein an instance of the single encryption data type based on an input data item of the important data is obtained by combining:
- (a) an encrypted comparison code (ECC) value obtained by applying an order preserving function to the input data item, wherein the ECC value cannot be decrypted to obtain the input data item and wherein the ECC value is used for performing data comparison for the single encryption data type;
- and
- (b) an encrypted value obtained by applying the encryption algorithm identified by the external encryption unit to the input data item, wherein the encrypted value is used for decrypting the instance of the single encryption data type;
- receiving a request to perform a join operation of the table with another table using the column storing the important data;
- responsive to receiving the request to perform the join, performing a join by performing comparisons with the ECC values of the encrypted column of the DB;
- receiving a request for a value of the important data, the request identifying an instance of the single encryption data type;
- and
- determining the value of the important data by decrypting the encrypted value portion of the identified instance of the single encryption data type.
A non-transitory computer readable storage medium storing a computer program product including computer instructions configured to cause a processor of a computer to perform encryption in a database (DB), the non-transitory computer readable storage medium storing instructions for:
- receiving information identifying an encryption algorithm from an external encryption unit separate from the DB;
- and
- storing an important data of a column of a table of the DB as a single encryption data type in an encrypted column of the DB, wherein an instance of the single encryption data type based on an input data item of the important data is obtained by combining:
- (a) an encrypted comparison code (ECC) value obtained by applying an order preserving function to the input data item, wherein the ECC value cannot be decrypted to obtain the input data item and wherein the ECC value is used for performing data comparison for the single encryption data type;
- and
- (b) an encrypted value obtained by applying the encryption algorithm identified by the external encryption unit to the input data item, wherein the encrypted value is used for decrypting the instance of the single encryption data type;
- receiving a request to perform a join operation of the table with another table using the column storing the important data;
- responsive to receiving the request to perform the join, performing a join by performing comparisons with the ECC values of the encrypted column of the DB;
- receiving a request for a value of the important data, the request identifying an instance of the single encryption data type;
- and
- determining the value of the important data by decrypting the encrypted value portion of the identified instance of the single encryption data type.
Dependencies are inferred from the claim text.