Patent ID: 8055678

Claim:
A query processing method using query transformation when a user requests a first query based on a structure of an original database to a database management system (DBMS) managing a database with at least a column encrypted, the method comprising the steps of: (S 510 ) generating a name mapping table when the database management system generates an encryption-related table, wherein the name mapping table stores a field name corresponding to a column to be encrypted and a table name including the column by mapping an original name of the field name or the table name to an encrypted name thereof; (S 520 ) capturing the first query that the user requests to the database management; (S 530 ) analyzing and transforming the captured first query into a second query capable of referencing an encrypted database, by converting an encryption-related item in the first query using the name mapping table or by encrypting the encryption-related item using an encryption processing unit; (S 540 ) requesting the transformed second query to the database management system and receiving a processed result value therefrom; and (S 550 ) transforming the result value, processed based on the transformed second query in the DBMS, into a result value corresponding to the original database by converting an encryption-related item therein using the name mapping table or decrypting the encryption-related item using the encryption processing unit; and (S 560 ) notifying the transformed result value to the user, wherein the step (S 530 ) comprises the steps of: (S 531 ) sequentially reading items in the first query; (S 532 ) converting a read item using the name mapping table encryption when the read item is the table name or the field name and relates to encryption; (S 534 ) replacing a constant with an encrypted value when the read item is the constant and constitutes a relation of a variable constant that is the field name related to encryption; and determining whether or not another item to read exists in the first query, returning to the step (S 531 ) when a further item to read exists, and proceeding to the second query request step (S 540 ) when no further item to read exists, and wherein the step (S 550 ) comprises the steps of: (S 552 ) converting the table name, included in the result value, using the name mapping table when the table name relates to encryption; and (S 554 ) converting the field name, included in the result value, using the name mapping table, and decrypting all field values corresponding to the field name when the field name relates to encryption.