WO2009011496A2 - Security system using the data masking and data security method thereof - Google Patents

Security system using the data masking and data security method thereof Download PDF

Info

Publication number
WO2009011496A2
WO2009011496A2 PCT/KR2008/003449 KR2008003449W WO2009011496A2 WO 2009011496 A2 WO2009011496 A2 WO 2009011496A2 KR 2008003449 W KR2008003449 W KR 2008003449W WO 2009011496 A2 WO2009011496 A2 WO 2009011496A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
masking
dbms
security
found
Prior art date
Application number
PCT/KR2008/003449
Other languages
French (fr)
Other versions
WO2009011496A3 (en
Inventor
Chun O Park
Original Assignee
Pnpsecure Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pnpsecure Inc. filed Critical Pnpsecure Inc.
Priority to JP2010516913A priority Critical patent/JP2010533915A/en
Publication of WO2009011496A2 publication Critical patent/WO2009011496A2/en
Publication of WO2009011496A3 publication Critical patent/WO2009011496A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Definitions

  • the present invention relates to a security system using data masking, which masks security data before the security data is output, thereby preventing and protecting illegal data loss, and a data security method using the security system.
  • a plurality of pieces of data stored in a database includes personal information or security information which is required to be kept secret. Therefore, it must be determined whether to provide the data depending on the qualifications (security levels) of a user attempting to access the corresponding data.
  • FIG. 1 is a diagram showing a conventional security system for securing data, a description will be performed with reference to the drawing.
  • DBMS Database Management System
  • a DBMS 10 called "DB manager” , is a program which enables a plurality of users to record data in the DB or to access the DB.
  • the abbreviation "DBMS” is generally used.
  • the DBMS 10 provides an efficient environment enabling information to be conveniently searched for in the DB 20 or information to be conveniently stored in the DB 20. Further, the DBMS 10 integrates data distributed for respective application software, and enables the respective application software to share the integrated data, thereby enabling information to be utilized in a systemized manner.
  • the DBMS 10 defines accumulated data structures, accumulates data based on the data structures, and searches for or updates data using any of the DB languages. Further, if abnormality occurs when control is performed so that a plurality of users simultaneously executes data processing or when update is performed, the DBMS causes the process to return to a previous state obtained before the update is performed or information to be secured.
  • a Relational Database Management System is a general type of the DBMS 10, and the standardized user and program interface of the RDBMS is called Structured Query Language (SQL).
  • SQL Structured Query Language
  • Oracle, Sybase, and DB2 have been widely used.
  • the conventional DBMS 10, which performs the above-described tasks, may further include a view table generation module 14 in order to protect the data of the DB 20.
  • a query transmitted from the user terminal 100 is read and interpreted by the query analysis module 11 of the DBMS 10, and a data search module 12 searches the DB 20 based on the details of the interpreted query.
  • a found data checking module 13 sorts the found data so that the found data matches a table entered the view table generation module 14 while analyzing and checking the collected finally found data.
  • the finally found data may include columns, rows, and tables, which are security data. Since the corresponding columns, rows, or tables cannot be transmitted and then exposed to a user terminal 100, the view table generation module 14 generates an arbitrary view table and then inserts the found data in accordance with the format of the generated view table so that the columns, rows, or tables, which are the security data, are filtered out by the DBMS 10.
  • FIG. 2 is a diagram showing another embodiment of a conventional security system for securing data, and a description will be performed with reference to the drawing.
  • Data masking is a process of converting the type of output data (text and shape) into another type so that a user cannot detect the details of the corresponding data.
  • ⁇ 16> In the conventional security system, all the finally found data, found from a DB 20, is transmitted to a relevant user who transmitted a query.
  • a dedicated masking program installed in a user terminal 100' , converts the format of security data of the finally found data into another format and then outputs the resulting data to the user terminal 100' , so that the user can check a complete table, including not only non-security data but also the security data, but cannot check the details of the security data due to the conversion, thereby enabling the protection of the security data and access to the table in detail.
  • the dedicated masking program includes a masking policy management module 110, a masking module 120, and a found data checking module 130.
  • a user accesses a DBMS 10' and then requests a query, and the query analysis module 11 of the DBMS 10' receives and analyzes the query and then searches the DB 20 for data requested through the data search module 12.
  • the finally found data is transmitted from the DBMS 10' to the user terminal 100' , and the found data checking module 130 of the user terminal 100' checks the found data and then detects whether there is data which corresponds to a reference stored in the masking policy management module 110. If the data which corresponds to the reference stored in the masking policy management module 110 is detected, the corresponding data is security data. Therefore, the masking module 120 masks the corresponding data, and then outputs the prototype of a table including the data to the user terminal 100' .
  • the above-described conventional data security method requires that the dedicated masking program be installed in the user terminal 100' . That is, a user terminal, in which the dedicated masking program is not installed, cannot access the corresponding DBMS 10' or cannot search for data, so that a user who must check the data of the DB 20 must install a relevant dedicated masking program.
  • an object of the present invention is to provide a security system using data masking, which removes the bother of installing a dedicated masking program in every single user terminal one by one in order to secure data through data masking, and which can be applied regardless of the type of a DBMS for controlling and managing a DB, and which can completely perform security management on the enter and exit of data by recording history concerning exposed data requested by a user, and a data security method using the security system.
  • the present invention provides a security system using data masking, including at least one Database Management System (hereinafter referred to as "DBMS" ); and a masking server including a query processing module configured to receive a query from at least one user terminal and then transmit it to the DBMS, a found data checking module configured to receive and check found data from the DBMS, a basic data management module configured to store a masking policy for security data, and a masking module configured to compare the found data checked by the found data checking module with the masking policy of the basic data management module and then mask relevant data, the masking server being configured to transmit the masked data to the user terminal.
  • DBMS Database Management System
  • a masking server including a query processing module configured to receive a query from at least one user terminal and then transmit it to the DBMS, a found data checking module configured to receive and check found data from the DBMS, a basic data management module configured to store a masking policy for security data, and a masking module configured to compare the found data checked by the
  • ⁇ 28> there is an advantage in that data security and search efficiency can be improved because the present invention removes the bother of a user installing a dedicated masking program in every single user terminal one by one in order to search a DB in which data security is realized using data masking, can be generally applied regardless of the classification of the DBMS, and can manage the enter and exit of data in detail using a masking server.
  • FIG. 1 is a diagram showing a conventional security system for securing data
  • FIG. 2 is a diagram showing a conventional security system for securing data according to another embodiment
  • FIG. 3 is a diagram showing a data security system according to an embodiment of the present invention
  • FIG. 4 is a flowchart sequentially showing a data security method according to the embodiment of the present invention
  • FIG. 5 is a table showing an example of the output value of found data using the data security method according to the present invention
  • FIG. 6 is a diagram showing a data security system according to another embodiment of the present invention
  • FIG. 7 is a flowchart sequentially showing a data security method according to another embodiment of the present invention.
  • FIG. 3 is a diagram showing a data security system according to an embodiment of the present invention
  • FIG. 4 is a flowchart sequentially showing a data security method according to the embodiment of the present invention, and a description will be described with reference to the drawings.
  • the security system includes a masking server 200 for intermediating communication between at least one user terminal 100, 101, or 102 and at least one DBMS 30, 30' , or 30" . That is, in order for a user to search for specific data and then view the data, the user should access the masking server 200 first instead of accessing the DBMS 30, 30' , or 30" for managing a DB 20, 20' , or 20" , and found data from the DBMS 30, 30' , or 30" should be transmitted to the masking server 200 first instead of being sent to the user terminal 100, 101, or 102.
  • the masking server 200 includes a query processing module 220 configured to check the query of the user terminal 100, 101, or 102 and transmit the query to a relevant DBMS 30, 30' , or 30" , a found data checking module 260 configured to check found data transmitted from the DBMS 30, 30' , or 30" , a basic data management module 230 configured to include the format of a table, information used to designate columns and rows which constitute the table, information about regular expressions and information about a data masking policy, a masking policy management module 240 configured to compare the data masking policy of the basic data management module with the found data, and a masking module 250 for masking data classified as security data based on the masking policy.
  • the masking server 200 may further include a user identification module 210 for identifying a user, and a DBMS identification module 270 for identifying the DBMS 30, 30' , or 30" .
  • a user can search for data using a user terminal 100, 101, or 102 in which a separate dedicated masking program is not installed, and, for this purpose, attempts to access the DB 20, 20' , or 20" which stores relevant data.
  • the user does not directly access the DB 20, 20' , or 20" or the DBMS 30, 30' , or 30" but goes through the masking server 200.
  • a query used for search includes the term 'select' or union select' , so that the query analysis module 31 of the DBMS 30, 30' , or 30" causes a data search module 32 to search the DB 20, 20' , or 20" .
  • the query transmitted from the user terminal 100, 101, or 102 is transmitted to the DBMS 30, 30' , or 30" through the query processing module 220.
  • the query analysis module 31 checks the details of the query transmitted from the user terminal 100, 101, or 102, and performs control on the data search module 32 such that the DB 20, 20' , or 20" is searched for data requested by the user.
  • the found data checking module 260 of the masking server 200 stores the header information of the columns in memory.
  • the header information of the columns may include a delimiter for delimiting each of the rows and columns of data corresponding to security data (the targets of masking).
  • the masking policy management module 240 compares the found data analyzed by the found data checking module 260 with the masking policy of the basic data management module 230, and then determines whether tables, columns, and rows, which are included in the found data, correspond to security data.
  • a method of determining whether the found data is non-security data or security data based on the masking policy includes a method using regular expressions, and a method of designating tables, columns, and rows.
  • the method using regular expressions sets up regular expressions regarding the content of a masking policy and then checks whether the value of a server response string matches one of the regular expression.
  • the method of designating tables, columns, and rows directly designates tables, columns, and rows, which correspond to security data, and then checks whether there is found data having the same tables, columns, and rows.
  • the masking policy management module 240 determines found data based on the masking policy of the basic data management module 230, and then detects data on which masking should be performed.
  • the data on which the masking should be performed can be detected using the delimiter.
  • the masking module 250 masks data detected at the masking policy application step at step S70, and then completes final data to be transmitted to the user terminal 100, 101, or 102.
  • the masking server 200 transmits the final data to the user terminal 100, 101, or 102, so that the user can view the found data requested by the user.
  • the masking is performed on security data if the data corresponds to the security data, the user cannot check data on which the masking has been performed, so that the security of the corresponding data can be maintained.
  • both the user identification module 210 and the DBMS identification module 270 are used to identify a plurality of user terminals and a plurality of DBMS 30, 30' , and 30" , a description thereof will be performed in detail with reference to FIGS.6 and 7.
  • FIG. 5 is a table showing an example of the output values of found data using the data security method according to the present invention, and a description will be performed with reference to the drawing.
  • the user transmits a query for requesting to search for data about some staff members who live within a predetermined area to the masking server 200 in order to detect information about the staff members who live within the predetermined area of a company.
  • the masking server 200 transmits the query to the DBMS 30, 30' , or 30 " at step S40 so that the DB 20, 20' , or 20" is searched for the desired data at step S50.
  • the found data may be information about the department, position, name, resident registration number, and annual salary of each of the staff members who live within the predetermined area.
  • the found data including the above information, is analyzed by the found data checking module 260, so that each of the information (department, position, name, resident registration number, and annual salary) are checked at step S60.
  • the masking policy management module 240 compares the information with the masking policy of the basic data management module 230, and then checks for security data at step S70.
  • the masking policy causes the resident registration number and annual salary information to be secured, with the result that the user cannot view the corresponding information, so that the resident registration number and annual salary information is determined as security data.
  • the entire resident registration number may be security data, or just a part of the resident registration number may be the security data. In the embodiment according to the present invention, a part of the resident registration number is determined as the security data.
  • the information determined as security data is masked by the masking module 250, and then transmitted to the user terminal at steps S80 and S90.
  • FIG. 6 is a diagram showing a data security system according to another embodiment of the present invention
  • FIG. 7 is a flowchart sequentially showing a data security method according to another embodiment of the present invention, and a description will be performed with reference to the drawings.
  • the masking server 200' of the security system enables data, requested by a user, to be searched for and then provided while mediating a plurality of user terminals and a plurality of DBMS 30, 30' , and 30" .
  • the masking server 200' includes a user identification module 210 for identifying a user terminal which requested a query, detecting a security level set for the corresponding user, and applying a masking policy corresponding to the security level.
  • the masking server 200' may further include a DBMS identification module 270 for identifying the plurality of DBMS 30, 30' , and 30" .
  • the DBMS identification module 270 includes an application program which is compatible with a relevant DBMS 30, 30' , or 30" so that the masking server 200' can perform mutual data exchange while performing communication regardless of the type of the DBMS 30, 30' , or 30" .
  • the masking server 200' may further include a log module 280.
  • the masking server 200' communicates with a management server 300 so as to update or change a masking policy. Further, the management server 300 checks the enter and exit of data through the masking server 200' , continuously checks the history of a user who has searched for data and the details of the data, and records information which can be used as reference for updating or changing the masking policy.
  • the log module 280 records and stores found data and the history of the user who has searched for data, and the management server 300 reads the relevant information from the log module 280 and utilizes it as inspection data.
  • the security method according to the present invention further includes a user identifying step performed by the user identification module 210 at step S20, a DBMS identifying step performed by the DBMS identification module 270, and a log storing step performed by the log module 280 at step SlOO.

Abstract

A security system using data masking is disclosed. A query processing module receives a query from at least one user terminal and then transmits it to a relevant DBMS. A found data checking module receives and checks found data from the DBMS. A basic data management module stores a masking policy for security data. A masking module compares the found data checked by the found data checking module with the masking policy of the basic data management module and then masks relevant data. A user identification module checks information about a user who has gained access through the user terminal and information about the security level of the user. A DBMS identification module is provided with one or more application programs which are compatible with respective DBMSs so that communication can be performed regardless of the types of DBMSs. A masking server transmits the masked data to the user terminal.

Description

[DESCRIPTION] [Invention Title]
SECURITY SYSTEM USING THE DATA MASKING AND DATA SECURITY METHOD THEREOF [Technical Field]
<i> The present invention relates to a security system using data masking, which masks security data before the security data is output, thereby preventing and protecting illegal data loss, and a data security method using the security system.
<2>
[Background Art]
<3> A plurality of pieces of data stored in a database (hereinafter referred to as "DB" ) includes personal information or security information which is required to be kept secret. Therefore, it must be determined whether to provide the data depending on the qualifications (security levels) of a user attempting to access the corresponding data.
<4> FIG. 1 is a diagram showing a conventional security system for securing data, a description will be performed with reference to the drawing.
<5> A DB 20 storing various types of data, including information about columns and rows, is managed by a Database Management System (DBMS).
<6> A DBMS 10, called "DB manager" , is a program which enables a plurality of users to record data in the DB or to access the DB. The abbreviation "DBMS" is generally used.
<7> The DBMS 10 provides an efficient environment enabling information to be conveniently searched for in the DB 20 or information to be conveniently stored in the DB 20. Further, the DBMS 10 integrates data distributed for respective application software, and enables the respective application software to share the integrated data, thereby enabling information to be utilized in a systemized manner.
<8> For this purpose, the DBMS 10 defines accumulated data structures, accumulates data based on the data structures, and searches for or updates data using any of the DB languages. Further, if abnormality occurs when control is performed so that a plurality of users simultaneously executes data processing or when update is performed, the DBMS causes the process to return to a previous state obtained before the update is performed or information to be secured.
<9> A Relational Database Management System (RDBMS) is a general type of the DBMS 10, and the standardized user and program interface of the RDBMS is called Structured Query Language (SQL). With regard to the DBMS 10, Oracle, Sybase, and DB2 have been widely used.
<io> The conventional DBMS 10, which performs the above-described tasks, may further include a view table generation module 14 in order to protect the data of the DB 20.
<π> A query transmitted from the user terminal 100 is read and interpreted by the query analysis module 11 of the DBMS 10, and a data search module 12 searches the DB 20 based on the details of the interpreted query. When the search is completed and the finally found data, for example, a column, a row, or a table, is collected, a found data checking module 13 sorts the found data so that the found data matches a table entered the view table generation module 14 while analyzing and checking the collected finally found data.
<i2> However, the finally found data may include columns, rows, and tables, which are security data. Since the corresponding columns, rows, or tables cannot be transmitted and then exposed to a user terminal 100, the view table generation module 14 generates an arbitrary view table and then inserts the found data in accordance with the format of the generated view table so that the columns, rows, or tables, which are the security data, are filtered out by the DBMS 10.
<i3> However, according to the above-described conventional data security method, since the generation of view tables, attributable to joining of a plurality of tables, is frequently and repeatedly performed, the operational performance of the DBMS 10 is lowered, and data filtering is simply performed because the view table generation module 14 uniformly generates view tables, there is a problem in that control and monitoring for detailed access to important information cannot be smoothly processed.
<14> FIG. 2 is a diagram showing another embodiment of a conventional security system for securing data, and a description will be performed with reference to the drawing.
<15> As another method for securing data, there is data masking. Data masking is a process of converting the type of output data (text and shape) into another type so that a user cannot detect the details of the corresponding data.
<16> In the conventional security system, all the finally found data, found from a DB 20, is transmitted to a relevant user who transmitted a query. Here, a dedicated masking program, installed in a user terminal 100' , converts the format of security data of the finally found data into another format and then outputs the resulting data to the user terminal 100' , so that the user can check a complete table, including not only non-security data but also the security data, but cannot check the details of the security data due to the conversion, thereby enabling the protection of the security data and access to the table in detail.
<17> The dedicated masking program includes a masking policy management module 110, a masking module 120, and a found data checking module 130.
<18> A user accesses a DBMS 10' and then requests a query, and the query analysis module 11 of the DBMS 10' receives and analyzes the query and then searches the DB 20 for data requested through the data search module 12.
<i9> The finally found data is transmitted from the DBMS 10' to the user terminal 100' , and the found data checking module 130 of the user terminal 100' checks the found data and then detects whether there is data which corresponds to a reference stored in the masking policy management module 110. If the data which corresponds to the reference stored in the masking policy management module 110 is detected, the corresponding data is security data. Therefore, the masking module 120 masks the corresponding data, and then outputs the prototype of a table including the data to the user terminal 100' . <20> However, the above-described conventional data security method requires that the dedicated masking program be installed in the user terminal 100' . That is, a user terminal, in which the dedicated masking program is not installed, cannot access the corresponding DBMS 10' or cannot search for data, so that a user who must check the data of the DB 20 must install a relevant dedicated masking program.
<2i> Further, since dedicated masking programs have compatibilities which differ from each other depending on the DBMS 10' , different dedicated masking programs should be installed for respective DBs 20 when a user must access various DBs 20. That is, the conventional data security method has a lot of problems in so far as efficiency and utility because the waste of time and costs attributable to the installation of dedicated masking programs is serious and because the memory of the user terminal 100' is unnecessarily reserved.
<22> Furthermore, in order to prevent the user terminal 100' in which one or more dedicated masking programs are not installed from accessing the corresponding DBMS 10' or from searching for data, an extra security server for controlling access is required in addition to the DBMS depending on whether one or more dedicated masking programs are installed, so that there is a problem of non-efficiency in that the user terminal and the security server are required to be managed in double.
<23>
[Disclosure]
[Technical Problem]
<24> Accordingly, the present invention has been made keeping in mind the above problems occurring in the prior art, and an object of the present invention is to provide a security system using data masking, which removes the bother of installing a dedicated masking program in every single user terminal one by one in order to secure data through data masking, and which can be applied regardless of the type of a DBMS for controlling and managing a DB, and which can completely perform security management on the enter and exit of data by recording history concerning exposed data requested by a user, and a data security method using the security system.
<25>
[Technical Solution]
<26> In order to accomplish the above object, the present invention provides a security system using data masking, including at least one Database Management System (hereinafter referred to as "DBMS" ); and a masking server including a query processing module configured to receive a query from at least one user terminal and then transmit it to the DBMS, a found data checking module configured to receive and check found data from the DBMS, a basic data management module configured to store a masking policy for security data, and a masking module configured to compare the found data checked by the found data checking module with the masking policy of the basic data management module and then mask relevant data, the masking server being configured to transmit the masked data to the user terminal.
<27>
[Advantageous Effects]
<28> According to the present invention, there is an advantage in that data security and search efficiency can be improved because the present invention removes the bother of a user installing a dedicated masking program in every single user terminal one by one in order to search a DB in which data security is realized using data masking, can be generally applied regardless of the classification of the DBMS, and can manage the enter and exit of data in detail using a masking server.
<29>
[Description of Drawings] <30> FIG. 1 is a diagram showing a conventional security system for securing data; <3i> FIG. 2 is a diagram showing a conventional security system for securing data according to another embodiment ; <32> FIG. 3 is a diagram showing a data security system according to an embodiment of the present invention; <33> FIG. 4 is a flowchart sequentially showing a data security method according to the embodiment of the present invention; <34> FIG. 5 is a table showing an example of the output value of found data using the data security method according to the present invention; <35> FIG. 6 is a diagram showing a data security system according to another embodiment of the present invention; and <36> FIG. 7 is a flowchart sequentially showing a data security method according to another embodiment of the present invention.
<37>
[Mode for Invention]
<38> The present invention will be described in detail with reference to the accompanying drawings below.
<39> FIG. 3 is a diagram showing a data security system according to an embodiment of the present invention, FIG. 4 is a flowchart sequentially showing a data security method according to the embodiment of the present invention, and a description will be described with reference to the drawings.
<40> The security system according to the present invention includes a masking server 200 for intermediating communication between at least one user terminal 100, 101, or 102 and at least one DBMS 30, 30' , or 30" . That is, in order for a user to search for specific data and then view the data, the user should access the masking server 200 first instead of accessing the DBMS 30, 30' , or 30" for managing a DB 20, 20' , or 20" , and found data from the DBMS 30, 30' , or 30" should be transmitted to the masking server 200 first instead of being sent to the user terminal 100, 101, or 102.
<4i> The masking server 200 includes a query processing module 220 configured to check the query of the user terminal 100, 101, or 102 and transmit the query to a relevant DBMS 30, 30' , or 30" , a found data checking module 260 configured to check found data transmitted from the DBMS 30, 30' , or 30" , a basic data management module 230 configured to include the format of a table, information used to designate columns and rows which constitute the table, information about regular expressions and information about a data masking policy, a masking policy management module 240 configured to compare the data masking policy of the basic data management module with the found data, and a masking module 250 for masking data classified as security data based on the masking policy. The masking server 200 may further include a user identification module 210 for identifying a user, and a DBMS identification module 270 for identifying the DBMS 30, 30' , or 30" .
<42> The configuration of the above-described security system according to the present invention will be described in detail together with the data security method.
<43> SlO: Step of requesting query processing by user
<44> A user can search for data using a user terminal 100, 101, or 102 in which a separate dedicated masking program is not installed, and, for this purpose, attempts to access the DB 20, 20' , or 20" which stores relevant data.
<45> Here, in the security system according to the present invention, the user does not directly access the DB 20, 20' , or 20" or the DBMS 30, 30' , or 30" but goes through the masking server 200.
<46> That is, a query used to search for data which is desired for a user to view is transmitted to the masking server 200.
<47> Generally, a query used for search includes the term 'select' or union select' , so that the query analysis module 31 of the DBMS 30, 30' , or 30" causes a data search module 32 to search the DB 20, 20' , or 20" .
<48> S40: Step of transmitting query to DBMS
<49> The query transmitted from the user terminal 100, 101, or 102 is transmitted to the DBMS 30, 30' , or 30" through the query processing module 220.
<50> S50: Step of searching for data based on query
<5i> The query analysis module 31 checks the details of the query transmitted from the user terminal 100, 101, or 102, and performs control on the data search module 32 such that the DB 20, 20' , or 20" is searched for data requested by the user.
<52> S60: Step of masking server checking found data <53> When found data is transmitted from the DBMS 30, 30' , or 30" , the found data checking module 260 receives the found data and then analyzes the details thereof. <54> The found data checking module 260 according to the present invention classifies found data into tables, columns, and rows using the following method. <55> A response value of the DBMS 30, 30' , or 30" always includes the names of columns, so that a response value is transmitted while including actual details. That is, the names of respective columns, such as "DEPT" , "PARTNO" , "EMPNO" , and "NAME" , are transmitted first, and then data corresponding to the respective columns is transmitted. Meanwhile, the found data checking module 260 of the masking server 200 stores the header information of the columns in memory. <56> Further, the header information of the columns may include a delimiter for delimiting each of the rows and columns of data corresponding to security data (the targets of masking). <57> S70: Step of applying masking policy <58> The masking policy management module 240 compares the found data analyzed by the found data checking module 260 with the masking policy of the basic data management module 230, and then determines whether tables, columns, and rows, which are included in the found data, correspond to security data. <59> A method of determining whether the found data is non-security data or security data based on the masking policy includes a method using regular expressions, and a method of designating tables, columns, and rows. <60> The method using regular expressions sets up regular expressions regarding the content of a masking policy and then checks whether the value of a server response string matches one of the regular expression. The method of designating tables, columns, and rows directly designates tables, columns, and rows, which correspond to security data, and then checks whether there is found data having the same tables, columns, and rows.
<6i> Therefore, the masking policy management module 240 determines found data based on the masking policy of the basic data management module 230, and then detects data on which masking should be performed.
<62> Further, the data on which the masking should be performed can be detected using the delimiter.
<63> S80: Step of masking data
<64> The masking module 250 masks data detected at the masking policy application step at step S70, and then completes final data to be transmitted to the user terminal 100, 101, or 102.
<65> S90: Step of transmitting final data
<66> The masking server 200 transmits the final data to the user terminal 100, 101, or 102, so that the user can view the found data requested by the user. Of course, since the masking is performed on security data if the data corresponds to the security data, the user cannot check data on which the masking has been performed, so that the security of the corresponding data can be maintained.
<67> Thereafter, both the user identification module 210 and the DBMS identification module 270 are used to identify a plurality of user terminals and a plurality of DBMS 30, 30' , and 30" , a description thereof will be performed in detail with reference to FIGS.6 and 7.
<68> FIG. 5 is a table showing an example of the output values of found data using the data security method according to the present invention, and a description will be performed with reference to the drawing.
<69> The security system and the security method according to the present invention, described with reference to FIGS. 3 and 4, are executed as follows.
<70> At the user' s query processing requesting step at step SlO, the user transmits a query for requesting to search for data about some staff members who live within a predetermined area to the masking server 200 in order to detect information about the staff members who live within the predetermined area of a company.
<7i> The masking server 200 transmits the query to the DBMS 30, 30' , or 30 " at step S40 so that the DB 20, 20' , or 20" is searched for the desired data at step S50.
<72> The found data may be information about the department, position, name, resident registration number, and annual salary of each of the staff members who live within the predetermined area.
<73> The found data, including the above information, is analyzed by the found data checking module 260, so that each of the information (department, position, name, resident registration number, and annual salary) are checked at step S60.
<74> Thereafter, the masking policy management module 240 compares the information with the masking policy of the basic data management module 230, and then checks for security data at step S70.
<75> The masking policy causes the resident registration number and annual salary information to be secured, with the result that the user cannot view the corresponding information, so that the resident registration number and annual salary information is determined as security data. Here, the entire resident registration number may be security data, or just a part of the resident registration number may be the security data. In the embodiment according to the present invention, a part of the resident registration number is determined as the security data.
<76> The information determined as security data is masked by the masking module 250, and then transmitted to the user terminal at steps S80 and S90.
<77> FIG. 6 is a diagram showing a data security system according to another embodiment of the present invention, FIG. 7 is a flowchart sequentially showing a data security method according to another embodiment of the present invention, and a description will be performed with reference to the drawings.
<78> The masking server 200' of the security system according to the present invention enables data, requested by a user, to be searched for and then provided while mediating a plurality of user terminals and a plurality of DBMS 30, 30' , and 30" .
<79> For this purpose, the masking server 200' includes a user identification module 210 for identifying a user terminal which requested a query, detecting a security level set for the corresponding user, and applying a masking policy corresponding to the security level.
<80> Further, the masking server 200' may further include a DBMS identification module 270 for identifying the plurality of DBMS 30, 30' , and 30" .
<8i> As described above, since the types of DBMS 30, 30' , or 30" are various, for example, Oracle, Sybase, and DB2, the DBMS identification module 270 includes an application program which is compatible with a relevant DBMS 30, 30' , or 30" so that the masking server 200' can perform mutual data exchange while performing communication regardless of the type of the DBMS 30, 30' , or 30" .
<82> Meanwhile, the masking server 200' according to the present invention may further include a log module 280.
<83> The masking server 200' communicates with a management server 300 so as to update or change a masking policy. Further, the management server 300 checks the enter and exit of data through the masking server 200' , continuously checks the history of a user who has searched for data and the details of the data, and records information which can be used as reference for updating or changing the masking policy.
<84> For this purpose, the log module 280 records and stores found data and the history of the user who has searched for data, and the management server 300 reads the relevant information from the log module 280 and utilizes it as inspection data.
<85> For this purpose, the security method according to the present invention further includes a user identifying step performed by the user identification module 210 at step S20, a DBMS identifying step performed by the DBMS identification module 270, and a log storing step performed by the log module 280 at step SlOO.

Claims

[CLAIMS] [Claim 1]
A security system using data masking, comprising: at least one Database Management System (hereinafter referred to as " DBMS" ); and a masking server comprising a query processing module configured to receive a query from at least one user terminal and then transmit it to the DBMS, a found data checking module configured to receive and check found data from the DBMS, a basic data management module configured to store a masking policy for security data, a masking module configured to compare the found data checked by the found data checking module with the masking policy of the basic data management module and then mask relevant data, a user identification module configured to check information about a user who has gained access through the user terminal and information about a security level of the user, and a DBMS identification module provided with at least one application program which is compatible with each DBMS so that communication can be performed regardless of a type of DBMS, the masking server being configured to transmit the masked data to the user terminal.
[Claim 2]
The security system according to claim 1, further comprising a log module for recording and storing information about data, which enters and exits the user terminal and the DBMS, and information about history of the user.
[Claim 3]
A security method using data masking in a security system comprising at least one user terminal; at least one DBMS; and a masking server including a query processing module configured to receive a query from the user terminal and then transmit it to the DBMS, a found data checking module configured to receive and check found data from the DBMS, a basic data management module configured to store a masking policy for security data, and a masking module configured to compare the found data checked by the found data checking module with the masking policy of the basic data management module and then mask relevant data, the masking server being configured to transmit the masked data to the user terminal, the method comprising: a query processing requesting step of a user requesting processing of the query used to search for data from the masking server through the user terminal ; a query transmitting step of the query processing module transmitting the received query to the DBMS; a data searching step of the DBMS searching at least one DB for data corresponding to the query, completing the found data, and transmitting the found data to the masking server! a found data checking step of the found data checking module classifying and checking data which constitutes the found data; a masking policy applying step of the masking module comparing the found data checked at the found data checking step with the masking policy of the basic data management module for data relevant to the security data, and checking the found data for the data corresponding to the security data, the masking policy being set up and processed using one or more methods selected from a method of setting up regular expressions and then performing masking on a string when a value of a server response string matches one of the regular expressions, and a method of performing masking on one or more tables and columns designated by a manager; a data masking step of the masking module masking the data determined to be the security data; and a transmitting step of the masking server transmitting the masked final data to the user terminal.
[Claim 4]
The security method according to claim 3, further comprising a log o
storing step of the masking server recording information about the data transmitted to the user terminal and information about history of the user.
PCT/KR2008/003449 2007-07-16 2008-06-18 Security system using the data masking and data security method thereof WO2009011496A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010516913A JP2010533915A (en) 2007-07-16 2008-06-18 SECURITY SYSTEM USING DATA MASKING AND ITS DATA SECURITY METHOD

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070071235A KR100820306B1 (en) 2007-07-16 2007-07-16 Security system using the data masking and data security method thereof
KR10-2007-0071235 2007-07-16

Publications (2)

Publication Number Publication Date
WO2009011496A2 true WO2009011496A2 (en) 2009-01-22
WO2009011496A3 WO2009011496A3 (en) 2009-03-12

Family

ID=39534119

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2008/003449 WO2009011496A2 (en) 2007-07-16 2008-06-18 Security system using the data masking and data security method thereof

Country Status (3)

Country Link
JP (1) JP2010533915A (en)
KR (1) KR100820306B1 (en)
WO (1) WO2009011496A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11921868B2 (en) 2021-10-04 2024-03-05 Bank Of America Corporation Data access control for user devices using a blockchain

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101032134B1 (en) * 2009-02-27 2011-05-02 이니텍(주) The system of web service contents control and management for a encrypted and normal contents include a confidential data
KR101039698B1 (en) 2009-06-12 2011-06-08 (주)소만사 Database Security System, Server and Method which can protect user's Access to Database through Application
KR101069367B1 (en) * 2011-04-01 2011-10-04 주식회사 피앤피시큐어 Security system and method of important information by query change
JP5707250B2 (en) * 2011-06-23 2015-04-22 株式会社日立システムズ Database access management system, method, and program
KR101177310B1 (en) * 2011-12-30 2012-08-30 주식회사 한글과컴퓨터 Electronic document security transmission relay apparatus and method
KR101400214B1 (en) * 2013-01-28 2014-05-28 주식회사 알티베이스 Appratus for providing a hybrid c interface
CN106549962B (en) * 2016-11-03 2020-01-10 中冶华天南京工程技术有限公司 Method for realizing communication protocol of universal intelligent control platform
KR101980843B1 (en) * 2018-07-05 2019-05-21 주식회사 피앤피시큐어 System and method for checking session via proxy
US11030212B2 (en) * 2018-09-06 2021-06-08 International Business Machines Corporation Redirecting query to view masked data via federation table
KR102001070B1 (en) * 2019-01-03 2019-07-17 최신철 Method for posting up security-enhanced account service
KR102446674B1 (en) * 2021-12-09 2022-09-26 주식회사 피앤피시큐어 Security method via network packet for tracking the information user

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038563A (en) * 1997-10-31 2000-03-14 Sun Microsystems, Inc. System and method for restricting database access to managed object information using a permissions table that specifies access rights corresponding to user access rights to the managed objects
KR20050099751A (en) * 2004-04-12 2005-10-17 주식회사 비티웍스 System and method for security of database
JP2007058380A (en) * 2005-08-23 2007-03-08 Hitachi Software Eng Co Ltd Electronic document masking system
US20070118527A1 (en) * 2005-11-22 2007-05-24 Microsoft Corporation Security and data filtering

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04347747A (en) * 1991-05-27 1992-12-02 Nec Software Kansai Ltd Security system for information retrieval system
US6253203B1 (en) 1998-10-02 2001-06-26 Ncr Corporation Privacy-enhanced database
JP2002175217A (en) 2000-12-07 2002-06-21 Toppan Printing Co Ltd Database system, method of controlling access to database and recording medium stored with access control program for database
US8050970B2 (en) * 2002-07-25 2011-11-01 Google Inc. Method and system for providing filtered and/or masked advertisements over the internet
JP2005165737A (en) * 2003-12-03 2005-06-23 Hitachi Software Eng Co Ltd Data providing system and data providing method
JP2007133495A (en) 2005-11-08 2007-05-31 Act Technical Support:Kk Collection/retrieval system and method for construction related information using computer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038563A (en) * 1997-10-31 2000-03-14 Sun Microsystems, Inc. System and method for restricting database access to managed object information using a permissions table that specifies access rights corresponding to user access rights to the managed objects
KR20050099751A (en) * 2004-04-12 2005-10-17 주식회사 비티웍스 System and method for security of database
JP2007058380A (en) * 2005-08-23 2007-03-08 Hitachi Software Eng Co Ltd Electronic document masking system
US20070118527A1 (en) * 2005-11-22 2007-05-24 Microsoft Corporation Security and data filtering

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11921868B2 (en) 2021-10-04 2024-03-05 Bank Of America Corporation Data access control for user devices using a blockchain

Also Published As

Publication number Publication date
JP2010533915A (en) 2010-10-28
WO2009011496A3 (en) 2009-03-12
KR100820306B1 (en) 2008-04-08

Similar Documents

Publication Publication Date Title
WO2009011496A2 (en) Security system using the data masking and data security method thereof
US6366901B1 (en) Automatic database statistics maintenance and plan regeneration
US7617198B2 (en) Generation of XML search profiles
CN103297435B (en) A kind of abnormal access behavioral value method and system based on WEB daily record
US6360214B1 (en) Automatic database statistics creation
US20080256026A1 (en) Method For Optimizing And Executing A Query Using Ontological Metadata
EP2118786B1 (en) Integrating enterprise search systems with custom access control application programming interfaces
US5768577A (en) Performance optimization in a heterogeneous, distributed database environment
CN100498792C (en) Autonomous access control method for row-level data of database table
US8180789B1 (en) Techniques for query generation, population, and management
US20060161522A1 (en) Context insensitive model entity searching
US20050055345A1 (en) Similarity search engine for use with relational databases
US20050228792A1 (en) Index for accessing XML data
US7403937B2 (en) Abstractly mapped physical data fields
CN103605771B (en) Operation method for intelligent assistant decision and maintenance system
US20060294159A1 (en) Method and process for co-existing versions of standards in an abstract and physical data environment
US20100106712A1 (en) Search system
CN1321509C (en) Universal safety audit strategies customing method based on mapping table
US6915313B2 (en) Deploying predefined data warehouse process models
CN109902101A (en) Transparent partition method and device based on SparkSQL
CN1952947A (en) A system and method for web site against clone
CN102521385B (en) Method for setting forced access control on database system graph
CN116541887B (en) Data security protection method for big data platform
US20070156712A1 (en) Semantic grammar and engine framework
Kvet et al. Analysis of current trends in relational database indexing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08766410

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 2010516913

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08766410

Country of ref document: EP

Kind code of ref document: A2