KR101069367B1 - Security system and method of important information by query change - Google Patents
Security system and method of important information by query change Download PDFInfo
- Publication number
- KR101069367B1 KR101069367B1 KR1020110030309A KR20110030309A KR101069367B1 KR 101069367 B1 KR101069367 B1 KR 101069367B1 KR 1020110030309 A KR1020110030309 A KR 1020110030309A KR 20110030309 A KR20110030309 A KR 20110030309A KR 101069367 B1 KR101069367 B1 KR 101069367B1
- Authority
- KR
- South Korea
- Prior art keywords
- query
- string
- packet
- information
- column
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
Abstract
본 발명이 해결하려는 과제는 데이터베이스에 저장된 중요정보를 보호함과 동시에 정보처리시 발생하는 부하를 최소화하기 위한 질의어 변경을 통한 중요정보 보안 시스템 및 방법을 제공하는 것이다. 질의어 변경을 통한 중요정보 보안 시스템은, 사용자로부터 패킷을 수신하고 상기 패킷 내에서 질의어를 추출하는 패킷수신모듈; DBMS의 보안정책 및 상기 보안정책에 위배되는 문자열을 대체할 대체문자열이 저장되는 정책관리모듈; 상기 정책관리모듈에 저장된 정보를 바탕으로 상기 패킷수신모듈에서 추출한 질의어 내의 문자열 중에서 상기 보안정책에 위배되는 문자열을 대체문자열로 변경하는 질의어제어모듈; 및 상기 질의어제어모듈에서 대체문자열로 변경한 질의어를 패킷에 조합하고, 조합한 패킷을 DBMS로 송신하는 패킷송신모듈을 포함하는 것을 특징으로 한다. 본 발명에 의하면, 질의어 내에서 중요정보를 요청하는 문자열를 추출하여 대체문자열로 변경함으로써, 허가받지 않은 사용자가 중요정보에 접근하는 것을 방지하여 데이터베이스의 보안성을 현저히 향상시킬 수 있는 효과가 있다.The problem to be solved by the present invention is to provide an important information security system and method by changing the query to protect the important information stored in the database and at the same time minimize the load generated during information processing. An important information security system using a query change includes: a packet receiving module receiving a packet from a user and extracting a query within the packet; A policy management module for storing a security string of a DBMS and a replacement string for replacing a string in violation of the security policy; A query word control module for changing a string that violates the security policy from a string in a query word extracted by the packet receiving module into a replacement string based on the information stored in the policy management module; And a packet transmission module for combining the query word changed into the replacement string by the query control module into a packet and transmitting the combined packet to the DBMS. According to the present invention, by extracting a string requesting important information in the query and changing it to a replacement string, it is possible to prevent unauthorized users from accessing important information, thereby significantly improving the security of the database.
Description
본 발명은 질의어 변경을 통한 중요정보 보안 시스템 및 방법에 관한 것으로, 더욱 상세하게는 데이터베이스에 저장된 중요정보를 보호함과 동시에 정보처리시 발생하는 부하를 최소화하기 위한 질의어 변경을 통한 중요정보 보안 시스템 및 방법에 관한 것이다.The present invention relates to an important information security system and method by changing a query, and more particularly, to protect important information stored in a database and at the same time, to protect the important information and to minimize the load generated during information processing. It is about a method.
DBMS(Database management system)은 데이터베이스에 저장된 데이터를 효과적으로 이용할 수 있도록 데이터를 정리/보관하기 위한 시스템으로, DBMS는 ① 축적된 자료구조의 정의, ② 자료구조에 따른 자료의 축적, ③ 데이터베이스 언어에 의한 자료 검색 및 갱신, ④ 복수 사용자로부터 자료처리의 동시 실행제어,⑤ 갱신 중에 이상이 발생한 경우에 갱신 이전의 상태로 복귀, ⑥ 정보의 기밀보호 기능 등을 수행한다.DBMS (Database management system) is a system for organizing and archiving data to effectively use data stored in database. DBMS is based on ① definition of accumulated data structure, ② accumulation of data according to data structure, ③ database language. Data retrieval and update, ④ simultaneous execution control of data processing from multiple users, ⑤ If abnormality occurs during update, revert to the state before update, ⑥ protect information confidentiality.
이러한 DBMS에 있어서, 허가받지 않은 사용자가 데이터베이스에 저장된 중요정보를 획득하지 못하게 하는 것은 중요한 기술적 과제이며, 종래에는 칼럼 암호화 기술 또는 결과값의 중요정보 데이터 변경 기술을 사용하여 이러한 문제를 해결하고자 하였다.In such a DBMS, preventing unauthorized users from acquiring important information stored in a database is an important technical problem. In the related art, this problem has been attempted to be solved by using a column encryption technique or a technique for changing important information data of a result value.
칼럼 암호화 기술은 데이터베이스의 칼럼 자체를 암호화하여 저장하고, 특정 칼럼을 조회하기 위해서는 특수한 함수를 직접 사용하거나 View를 사용하였다. 즉, 칼럼 암호화 기술을 사용하기 위하여, 먼저 데이터베이스의 칼럼을 암호화하는 작업이 필요하고, 암호화된 칼럼을 조회하기 위하여 이를 복호화하는 작업이 필요하다. 이러한 칼럼의 암호화 작업과 복호화 작업은 개인 단말기 또는 데이터베이스 상에서 수행되므로 개인 단말기와 데이터베이스에 상당한 부하가 발생하게 되며, 이로 인해 데이터베이스에 저장된 정보처리 속도가 현저히 저하되는 문제점이 있었고, 칼럼 암호화 기술의 오류 발생 시 데이터베이스 사용에 치명적인 문제가 발생하게 되고, 관련 상태에 대한 빠른 복구가 어려운 문제점이 있었다.
The column encryption technology encrypts and stores the columns of the database itself, and in order to search for a specific column, use a special function directly or use View. In other words, in order to use a column encryption technique, first a task of encrypting a column of a database is required, and a task of decrypting it is necessary to query an encrypted column. Since the encryption and decryption operations of the column are performed on the personal terminal or the database, a significant load is generated on the personal terminal and the database, which causes a problem of significantly slowing down the processing speed of the information stored in the database. A critical problem occurred in using the database at the time, and it was difficult to quickly recover the related state.
결과값의 중요정보 데이터 변경 기술은 질의어(Query)와 데이터베이스에서 검색된 결과값을 분석하고, 상기 검색된 결과값의 중요정보에 해당하는 부분의 결과값을 모두 대체문자(0 또는 *)로 변경하여 중요정보를 보호한다. 이와 같은 결과값의 중요정보 데이터 변경 기술은 질의어와 검색된 결과값을 모두 분석하여야 하며, 검색된 결과값은 상당한 크기를 가지므로 많은 부하가 발생하는 문제점이 있었다. 즉, 일반적으로 질의어는 100bytes 정도의 크기를 가지고 그 결과값은 질의어에 비하여 약 15,000배 정도 더 큰 1,500,000bytes 정도의 크기를 가지므로, 이러한 크기를 가지는 결과값을 분석하기 위하여 많은 부하가 발생하는 문제점이 있었다.The technology of changing important information of the result value analyzes the result value searched from the query and the database, and changes the result value of the part corresponding to the important information of the searched result value to substitute characters (0 or *) to be important. Protect your information. This important information data change technique of the result value must analyze both the query and the searched result value, the search result has a significant size has a problem that a lot of load occurs. That is, in general, a query has a size of about 100 bytes, and the result has a size of about 1,500,000 bytes, which is about 15,000 times larger than that of a query, so that a lot of load is generated to analyze a result having such a size. There was this.
또한, 상기와 같이 결과값은 상당한 크기를 가지므로 이를 분석하는 과정에서 중요정보를 가지는 결과값의 분석을 실패할 염려가 크고, 이로 인해 중요정보를 가지는 결과값을 대체문자로 변경하지 못하는 경우가 발생하므로 보안에 매우 취약한 문제점이 있었다.In addition, as described above, since the result value has a considerable size, there is a high possibility that the analysis of the result value having important information may fail in the process of analyzing the result value, and thus the result value having important information may not be changed to a substitute character. There was a problem that was very vulnerable to security.
본 발명이 해결하려는 과제는 데이터베이스에 저장된 중요정보를 보호함과 동시에 정보처리시 발생하는 부하를 최소화하기 위한 질의어 변경을 통한 중요정보 보안 시스템 및 방법을 제공하는 것이다.The problem to be solved by the present invention is to provide an important information security system and method by changing the query to protect the important information stored in the database and at the same time minimize the load generated during information processing.
질의어 변경을 통한 중요정보 보안 시스템은, 사용자로부터 패킷을 수신하고 상기 패킷 내에서 질의어를 추출하는 패킷수신모듈; DBMS의 보안정책 및 상기 보안정책에 위배되는 문자열을 대체할 대체문자열이 저장되는 정책관리모듈; 상기 정책관리모듈에 저장된 정보를 바탕으로 상기 패킷수신모듈에서 추출한 질의어 내의 문자열 중에서 상기 보안정책에 위배되는 문자열을 대체문자열로 변경하는 질의어제어모듈; 및 상기 질의어제어모듈에서 대체문자열로 변경한 질의어를 패킷에 조합하고, 조합한 패킷을 DBMS로 송신하는 패킷송신모듈을 포함하는 것을 특징으로 한다.An important information security system using a query change includes: a packet receiving module receiving a packet from a user and extracting a query within the packet; A policy management module for storing a security string of a DBMS and a replacement string for replacing a string in violation of the security policy; A query word control module for changing a string that violates the security policy from a string in a query word extracted by the packet receiving module into a replacement string based on the information stored in the policy management module; And a packet transmission module for combining the query word changed into the replacement string by the query control module into a packet and transmitting the combined packet to the DBMS.
또한, 상기 DBMS를 통하여 테이블, 칼럼 정보를 수집하며, 상기 질의어제어모듈의 요청에 따라 테이블의 칼럼 정보를 제공하는 테이블/칼럼 정보모듈을 더 포함하는 것을 특징으로 한다.The apparatus may further include a table / column information module which collects table and column information through the DBMS and provides column information of a table in response to a request of the query control module.
또한, 상기 질의어제어모듈은, 상기 테이블/칼럼 정보모듈에 저장된 정보를 바탕으로 상기 패킷수신모듈에서 추출한 질의어 내의 전체칼럼조회문자를 대응되는 테이블의 칼럼 정보로 변경하는 기능을 더 포함하는 것을 특징으로 한다.The query control module may further include a function of changing all column query characters in the query word extracted by the packet receiving module into column information of a corresponding table based on the information stored in the table / column information module. do.
또한, 상기 테이블/칼럼 정보모듈은, 상기 패킷수신모듈에서 질의어가 추출됨과 동시에 상기 DBMS를 통하여 테이블, 칼럼 정보를 수집하거나, 상기 패킷수신모듈에서 질의어의 추출 전에 상기 DBMS를 통하여 일정한 시간마다 주기적으로 테이블, 칼럼 정보를 수집하거나, 테이블 또는 칼럼 정보의 변경 감지시에 상기 DBMS를 통하여 테이블, 칼럼 정보를 수집하는 것을 특징으로 한다.In addition, the table / column information module, at the same time as the query is extracted from the packet receiving module, collects table and column information through the DBMS, or periodically at a predetermined time through the DBMS before extracting the query from the packet receiving module. Collecting table and column information or collecting table and column information through the DBMS when detecting change of the table or column information.
또한, 상기 패킷송신모듈로부터 패킷을 수신하며, 상기 패킷 내의 보안검사를 통해 변경된 질의어를 사용하여 실행한 결과를 사용자에게 제공하는 상기 DBMS를 더 포함하는 것을 특징으로 한다.
The method may further include the DBMS that receives a packet from the packet transmission module and provides a user with a result of executing the query using the changed query through the security check in the packet.
질의어 변경을 통한 중요정보 보안 방법은, 사용자로부터 패킷을 수신하는 단계(S100); 상기 패킷 내에서 질의어를 추출하는 단계(S200); 상기 질의어 내의 문자열 중에서 보안정책에 위배되는 문자열을 추출하는 단계(S500); 상기 S500단계에서 추출한 문자열을 대체문자열로 변경하는 단계(S600); 상기 대체문자열로 변경한 질의어를 패킷에 조합하는 단계(S700); 상기 S700단계에서 조합한 패킷을 DBMS에 송신하는 단계(S800); 및 상기 S800단계에서 전송받은 패킷 내의 질의어 중 대체문자열을 제외한 문자열에 따른 정보를 사용자에게 제공하는 단계(S900)를 포함하는 것을 특징으로 한다.Method for securing important information by changing the query, the step of receiving a packet from the user (S100); Extracting a query word in the packet (S200); Extracting a string that violates a security policy from the string in the query (S500); Changing the string extracted in step S500 into a replacement string (S600); Combining the query word changed into the replacement string into a packet (S700); Transmitting the packet combined in step S700 to the DBMS (S800); And providing the user with information corresponding to a character string except for the replacement string among the query words in the packet received in step S800 (S900).
또한, 상기 S200단계에서 추출한 질의어 내에서 전체칼럼조회문자를 추출하는 단계(S300); 상기 전체칼럼조회문자에 보안정책과 위배되는 문자열이 존재하는 경우에 상기 전체칼럼조회문자를 대응되는 테이블의 칼럼 정보로 변경하는 단계(S400)를 더 포함하는 것을 특징으로 한다.In addition, extracting the entire column query characters in the query extracted in step S200 (S300); The method may further include changing the entire column query character to column information of a corresponding table when a string that violates a security policy exists in the entire column query character (S400).
또한, 상기 S700단계는, 패킷의 전체 길이를 고려하여 대체문자열로 변경한 질의어를 조합하는 것을 특징으로 한다.In addition, the step S700 is characterized in that to combine the query to change to a replacement string in consideration of the entire length of the packet.
본 발명에 의하면, 질의어 내에서 중요정보를 요청하는 문자열를 추출하여 대체문자열로 변경함으로써, 허가받지 않은 사용자가 중요정보에 접근하는 것을 방지하여 데이터베이스의 보안성을 현저히 향상시킬 수 있는 효과가 있다.According to the present invention, by extracting a string requesting important information in the query and changing it to a replacement string, it is possible to prevent unauthorized users from accessing important information, thereby significantly improving the security of the database.
또한, 데이터베이스에 저장된 중요정보의 보호시에 중요정보를 요청하는 문자열만을 추출하여 대체문자열로 변경하므로, 종래 테이블의 칼럼을 암호화하거나 결과값 중 중요정보 데이터 변경을 통하여 중요정보를 보호하는 기술에 비하여, 정보처리시 발생하는 부화를 현저히 감소시킬 수 있는 효과가 있다.In addition, when protecting the important information stored in the database, only the string requesting the important information is extracted and replaced with the replacement string. Therefore, compared to the technology for protecting the important information by encrypting the column of the conventional table or changing the important information data among the result values. In addition, it is possible to significantly reduce the hatching generated during information processing.
도 1은 본 발명인 질의어 변경을 통한 중요정보 보안 시스템의 일 실시예를 도시한 블럭도.
도 2는 본 발명인 질의어 변경을 통한 중요정보 보안 방법의 일 실시예를 도시한 흐름도.Figure 1 is a block diagram showing an embodiment of a critical information security system through the inventor query change.
2 is a flowchart illustrating an embodiment of a method for securing important information through a query change.
이하 첨부한 도면을 참고로 하여 본 발명의 일 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기서 설명하는 일 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
도 1은 본 발명인 질의어 변경을 통한 중요정보 보안 시스템의 일 실시예를 도시한 블럭도로, 사용자(100)로부터 패킷을 수신하고 상기 패킷 내에서 질의어를 추출하는 패킷수신모듈(10); DBMS(60)의 보안정책 및 상기 보안정책에 위배되는 문자열을 대체할 대체문자열이 저장되는 정책관리모듈(20); 상기 정책관리모듈(20)에 저장된 정보를 바탕으로 상기 패킷수신모듈(10)에서 추출한 질의어 내의 문자열 중에서 상기 보안정책에 위배되는 문자열을 대체문자열로 변경하는 질의어제어모듈(30); 및 상기 질의어제어모듈(30)에서 대체문자열로 변경한 질의어를 패킷에 조합하고, 조합한 패킷을 DBMS(60)로 송신하는 패킷송신모듈(40)을 포함하는 것을 특징으로 한다.
1 is a block diagram illustrating an embodiment of a system for protecting important information by changing a query word, the packet receiving
상기 패킷수신모듈(10)은 사용자(100)로부터 패킷(Packet)을 수신하고, 수신한 패킷 내에서 질의어(Query)를 추출한다. 사용자(100)는 PC, PDA, 태블릿 PC 등 통신 가능한 단말기를 통하여 패킷수신모듈(10)에 접속하여, 유선 또는 무선으로 패킷수신모듈(10)에 패킷을 전송하며, 패킷수신모듈(10)은 사용자(100)로부터 수신한 패킷 내에서 추출한 질의어를 질의어제어모듈(30)로 전송한다.The packet receiving
상기 정책관리모듈(20)은 DBMS(Database management system)의 보안정책 및 보안정책에 위배되는 문자열을 대체할 대체문자열이 저장된다. 보안정책은 사용자에게 허가되는 정보의 범위를 설정한 것으로, 예를 들어 A 사용자에게는 모든 정보가 허가되도록 보안정책을 설정하고, B 사용자에게는 모든 정보가 허가되지 않도록 보안정책을 설정하고, C 사용자에게는 주민번호, 연락처 등의 중요정보를 제외한 정보가 허가되도록 보안정책을 설정할 수 있다.The
보안정책에 위배되는 문자열은 사용자(100)가 패킷수신모듈(10)에 전송한 질의에 포함된 문자열 중에서 해당 사용자(100)에게 허가되지 않은 정보를 요청하는 문자열을 말한다. 예를 들어, 상기 C 사용자가 패킷수신모듈(10)에 아래와 같은 질의어를 전송한 경우,
The string that violates the security policy refers to a string that requests unauthorized information from the
'select no, jumin, name from member where rownum<10'
'select no, jumin, name from member where rownum <10'
C 사용자에게는 주민번호 정보에 대하여 허가되지 않으므로, 'jumin'이 보안정책에 위배되는 문자열에 해당한다.Because user C is not allowed for social security number information, 'jumin' is a string that violates security policy.
상기와 같이 보안정책에 위배되는 문자열을 대체할 대체문자열은 정책관리모듈(20)에 저장되며, 대체문자열은 사용자에게 허가되지 않은 중요정보가 사용자에게 제공되지 않도록 한다. 예를 들어, 주민번호 정보를 요청하는 문자열인 jumin 을 대체할 대체문자열로 '?' AS jumin 을 저장할 수 있다. 즉, jumin 대신 대체문자열인 '?' AS jumin 이 DBMS(60)로 전송되는 경우에 DBMS(60)는 주민번호 요청에 따른 결과값을 ? 로 처리하여 사용자에게 제공한다.As described above, the replacement string to replace the string that violates the security policy is stored in the
또한, 정책관리모듈(20)에 저장된 보안정책 및 보안정책에 위배되는 문자열을 대체할 대체문자열은 DBMS 관리자 등이 설정할 수 있다.
In addition, the replacement string to replace the string that violates the security policy and security policy stored in the
상기 질의어제어모듈(30)은 정책관리모듈(20)에 저장된 정보를 바탕으로 패킷수신모듈(10)에서 추출한 질의어 내의 문자열 중에서 보안정책에 위배되는 문자열을 대체문자열로 변경한다. 즉, 질의어제어모듈(30)은 접속한 사용자에 따른 보안정책 정보를 정책관리모듈(20)을 통해 확인하고, 확인한 보안정책을 바탕으로 사용자가 전송한 패킷 내의 질의어 중에서 보안정책에 위배되는 문자열을 추출한다.The
그 후, 질의어제어모듈(30)은 보안정책에 위배되는 문자열에 대응하는 대체문자열을 정책관리모듈(20)을 통해 검출하고, 보안정책에 위배되는 문자열을 대체문자열로 변경한다.Thereafter, the
또한, 사용자(100)로부터 수신한 패킷 내의 질의어에 보안정책에 위배되는 문자열이 포함되어 있지 않은 경우에 질의어제어모듈(30)은 상기 패킷을 패킷송신부(40)로 즉시 전송한다.
In addition, when the query in the packet received from the
상기 패킷송신모듈(40)은 질의어제어모듈(30)에서 대체문자열로 변경한 질의어를 패킷에 조합하고, 조합한 패킷을 DBMS(60)로 송신한다. 즉, 패킷송신모듈(40)은 질의어제어모듈(30)로부터 대체문자열로 변경한 질의어를 전송받고, 상기 패킷에 기존 질의어 대신 대체문자열로 변경한 질의어를 조합한다. 이때, 대체문자열로 변경한 질의어의 길이와 전체 패킷의 길이를 고려하여 조합한다.The
또한, 사용자(100)로부터 수신한 패킷 내에 보안정책에 위배되는 문자열이 없는 경우에 패킷송신모듈(40)은 질의어제어모듈(30)로부터 보안정책에 위배되는 사항이 없다는 정보를 전송받으며, 이때 패킷전송모듈(40)은 기존 패킷을 변경없이 DBMS(60)로 전송한다.
In addition, when there is no string that violates the security policy in the packet received from the
또한, 질의어 변경을 통한 중요정보 보안 시스템은, DBMS(60)를 통하여 테이블, 칼럼 정보를 수집하며, 상기 질의어제어모듈(30)의 요청에 따라 테이블의 칼럼 정보를 제공하는 테이블/칼럼 정보모듈(50)을 더 포함하는 것을 특징으로 한다.In addition, the critical information security system by changing the query, the table / column information module that collects table and column information through the
또한, 질의어제어모듈(30)은, 상기 테이블/칼럼 정보모듈(50)에 저장된 정보를 바탕으로 상기 패킷수신모듈(10)에서 추출한 질의어 내의 전체칼럼조회문자를 대응되는 테이블의 칼럼 정보로 변경하는 기능을 더 포함하는 것을 특징으로 한다.
In addition, the
전체칼럼조회문자는 하나 이상의 칼럼 정보가 포함되어 있는 문자열으로, 이는 사용자(100)와 DBMS(60) 간에 미리 설정된 규약에 해당한다. 예를 들어, 전체칼럼조회문자인 '*'은 'no, jumin, name'의 칼럼 정보가 포함된 것으로 설정할 수 있다.The full column query character is a string including one or more column information, which corresponds to a preset protocol between the
상기와 같이, 전체칼럼조회문자에 대응하는 테이블의 칼럼 정보가 테이블/칼럼 정보모듈(50)에 저장되며, 테이블/칼럼 정보모듈(50)은 DBMS(60)를 통해 테이블, 칼럼 정보를 수집한다. 이때, 테이블/칼럼 정보모듈(50)은 패킷수신모듈(10)에서 질의어가 추출됨과 동시에 상기 DBMS(60)를 통하여 테이블, 칼럼 정보를 수집하거나, 패킷수신모듈(10)에서 질의어의 추출 전에 상기 DBMS(60)를 통하여 일정한 시간마다 주기적으로 테이블, 칼럼 정보를 수집하거나, 테이블 또는 칼럼 정보의 변경사항 감지시 상기 DBMS(60)를 통하여 테이블, 칼럼 정보를 수집한다.
As described above, the column information of the table corresponding to the entire column query character is stored in the table /
상기 질의어제어모듈(30)은 질의어 내에 전체칼럼조회문자가 포함되어 있는 경우에 테이블/칼럼 정보모듈(50)의 정보를 바탕으로 상기 전체칼럼조회문자에 보안정책에 위배되는 문자열이 존재하는지 분석하고, 만일 보안정책에 위배되는 문자열이 존재하는 경우에 전체칼럼조회문자를 대응하는 테이블의 칼럼 정보로 변경한다.
The
예를 들어, 사용자(100)로부터 수신받은 패킷 내에 아래와 같은 질의어가 포함된 경우,
For example, if the following query is included in the packet received from the
'select * from member where rownum<10'
'select * from member where rownum <10'
질의어 내에 '*'은 전체칼럼조회문자이고, 테이블/칼럼 정보모듈(50)에 의하면 '*'는 칼럼 정보인 'no, jumin, name'을 나타내는 것으로, 상기 칼럼 정보 내에 보안정책에 위배되는 문자열이 존재하는 경우에 '*'를 칼럼 정보인 'no, jumin, name'으로 변경하고, 상기 칼럼 정보 내에 보안정책에 위배되는 문자열이 존재하지 않는 경우에는 전체칼럼조회문자를 대응하는 칼럼 정보로 변경하지 않는다.
'*' In the query word is the entire column query character, and according to the table /
전체칼럼조회문자에 대응하는 칼럼 정보 내에 보안정책에 위배되는 문자열이 존재하는 경우에 아래와 같이 전체칼럼조회문자를 대응하는 테이블 칼럼 정보로 변경한다.If a string violating the security policy exists in the column information corresponding to the entire column query character, the entire column query character is changed to the corresponding table column information as follows.
'select no, jumin, name from member where rownum<10'
'select no, jumin, name from member where rownum <10'
만일, 해당 사용자에게 주민번호 정보가 허용되지 않는 경우에 jumin 을 '?' as jumin 으로 변경하여 아래와 같은 질의어로 변경한다.
If the user's social security number information is not allowed, jumin is set to '?' Change to as jumin and change to the following query.
'select no, '?' as jumin, name from member where rownum<10'
'select no,'? ' as jumin, name from member where rownum <10 '
또한, 질의어 변경을 통한 중요정보 보안 시스템은, 패킷송신모듈(40)로부터 패킷을 수신하며 상기 패킷 내의 질의어 중 대체문자열을 제외한 문자열에 따른 정보를 사용자(100)에게 제공하는 DBMS(60)를 더 포함하는 것을 특징으로 한다.In addition, the critical information security system by changing the query, the
즉, DBMS(60)는 패킷송신모듈(40)로부터 대체문자열이 포함된 패킷을 전송받은 경우에 대체문자열을 제외한 문자열에 따른 정보를 검색하여 사용자(100)에게 제공하고, 대체문자열이 포함되지 않은 패킷을 전송받은 경우에 모든 문자열에 따른 정보를 검색하여 사용자(100)에게 제공한다.That is, when the
예를 들어, DBMS(60)가 패킷송신모듈(40)로부터 아래와 같은 질의어가 포함된 패킷을 전송받은 경우,
For example, when the
'select no, '?' as jumin, name. from member where rownum<10'
'select no,'? ' as jumin, name. from member where rownum <10 '
DBMS(60)는 아래와 같이 주민번호 정보를 제외한 정보를 검색하여 사용자(100)에게 제공한다.The
이상 본 발명인 질의어 변경을 통한 중요정보 보안 시스템의 일 실시예에 대하여 상세하게 설명하였다. 이하 본 발명인 질의어 변경을 통한 중요정보 보안 방법의 일 실시예에 대하여 상세하게 설명한다.
In the above description, an embodiment of an important information security system through a query change of the present inventor has been described in detail. Hereinafter, an embodiment of a method for securing important information by changing the query word of the present invention will be described in detail.
또한, 이하에서 사용자(100)는 질의어인 'select * from member where rownum<10' 가 포함된 패킷을 패킷수신모듈(10)에 전송하고, 상기 사용자(100)에 따른 보안정책은 주민번호 정보가 허용되지 않는 것으로 가정하고 설명한다. 아울러, '*'는 전체칼럼조회문자이고, 상기 전체칼럼조회문자에 대응하는 칼럼 정보는 'no, jumin, name'으로 가정한다.
In addition, hereinafter, the
도 2는 본 발명인 질의어 변경을 통한 중요정보 보안 방법의 일 실시예를 도시한 흐름도로, 질의어 변경을 통한 중요정보 보안 방법은, 사용자로부터 패킷을 수신하는 단계(S100); 상기 패킷 내에서 질의어를 추출하는 단계(S200); 상기 질의어 내의 문자열 중에서 보안정책에 위배되는 문자열을 추출하는 단계(S500); 상기 S500단계에서 추출한 문자열을 대체문자열로 변경하는 단계(S600); 상기 대체문자열로 변경한 질의어를 패킷에 조합하는 단계(S700); 상기 S700단계에서 조합한 패킷을 DBMS에 송신하는 단계(S800); 및 상기 S800단계에서 전송받은 패킷 내의 질의어 중 대체문자열을 제외한 문자열에 따른 정보를 사용자에게 제공하는 단계(S900)를 포함하는 것을 특징으로 한다.FIG. 2 is a flowchart illustrating an embodiment of a method for securing important information through a query change, and the method for securing important information through a query change includes: receiving a packet from a user (S100); Extracting a query word in the packet (S200); Extracting a string that violates a security policy from the string in the query (S500); Changing the string extracted in step S500 into a replacement string (S600); Combining the query word changed into the replacement string into a packet (S700); Transmitting the packet combined in step S700 to the DBMS (S800); And providing the user with information corresponding to a character string except for the replacement string among the query words in the packet received in step S800 (S900).
또한, 질의어 변경을 통한 중요정보 보안 방법은, 상기 S200단계에서 추출한 질의어 내에서 전체칼럼조회문자를 추출하는 단계(S300); 상기 전체칼럼조회문자를 대응되는 테이블의 칼럼 정보로 변경하는 단계(S400)를 더 포함하는 것을 특징으로 한다.
In addition, the sensitive information security method by changing the query, the step of extracting the entire column query characters in the query extracted in step S200 (S300); And changing the entire column lookup character to column information of a corresponding table (S400).
상기 S100단계는 사용자(100)로부터 패킷을 수신받는 단계로, 패킷수신모듈(10)이 상기 패킷을 수신받는다. 이때, 사용자(100)와 패킷수신모듈(10)은 유선 또는 무선을 통하여 패킷을 전송한다.In step S100, a packet is received from the
상기 S200단계는 사용자(100)로부터 수신받은 패킷 내에서 질의어를 추출하는 단계로, 패킷수신모듈(10) 상에서 질의어를 추출한다. 패킷에는 질의어인 'select * from member where rownum<10' 가 포함되어 있으므로, S200단계에서 'select * from member where rownum<10' 가 추출된다.The step S200 is a step of extracting a query in a packet received from the
상기 S300단계는 패킷수신모듈(10)에 의하여 추출된 질의어 내에 전체칼럼조회문자가 포함되어 있는지 분석하는 단계로, 질의어제어모듈(30) 상에서 분석한다. 질의어인 'select * from member where rownum<10' 내에는 '*'이 포함되어 있으므로 전체칼럼조회문자가 포함되어 있는 경우이다. 만약 상기에서 가정한 것과 달리 질의어에 전체칼럼조회문자가 포함되어 있지 않은 경우에는 다음 단계로 질의어 내에 보안정책에 위배되는 문자열이 포함되어 있는지 분석한다.The step S300 is a step of analyzing whether the entire column query character is included in the query word extracted by the
상기 S400단계는 질의어에서 추출된 전체칼럼조회문자에 보안정책과 위배되는 문자열이 존재하는지 분석하고(S410), 만일 보안정책에 위배되는 문자열이 존재하는 경우에 전체칼럼조회문자를 대응하는 테이블의 칼럼 정보로 변경한다(S420). 전체칼럼조회문자인 '*'은 칼럼 정보인 'no, name, jumin'을 나타내고, 'jumin'은 보안정잭에 위배되는 문자열에 해당하므로 전체칼럼조회문자인 '*'을 대응하는 테이블의 칼럼 정보인 'no, name, jumin'으로 변경한다. 이때, 전체칼럼조회문자에 보안정책과 위배되는 문자열이 존재하지 않는 경우에 다음 단계로 S500단계를 거친다.
Step S400 analyzes whether a string violating the security policy exists in the entire column query character extracted from the query (S410), and if the string violates the security policy, the column of the table corresponding to the entire column query character. Change to information (S420). '*', Which is the whole column query character, indicates 'no, name, jumin', which is the column information, and 'jumin' corresponds to a string that violates security rules. Change to 'no, name, jumin'. At this time, if there is no string that violates the security policy in the whole column query character, and goes to the next step S500.
상기 S500단계는 질의어 내에 보안정책에 위배되는 문자열이 포함되어 있는지 분석하는 단계로, 정책관리모듈(20)에 저장된 정보를 바탕으로 질의어제어모듈(30) 상에서 분석한다. 상기 사용자(100)에게는 주민번호 정보가 허용되지 않으므로, 상기 질의어 내에서 'jumin'은 보안정책에 위배되는 문자열에 해당한다. 만약 상기에서 가정한 것과 달리 질의어에 보안정책에 위배되는 문자열이 포함되어 있지 않은 경우에는 다음 단계로 패킷을 DBMS(60)에 전송한다.
The step S500 is a step of analyzing whether a string violating the security policy is included in the query word, and analyzed on the
상기 S600단계는 보안정책에 위배되는 문자열을 대체문자열으로 변경하는 단계로, 정책관리모듈(20)에 저장된 정보를 바탕으로 질의어제어모듈(30) 상에서 변경한다. 보안정책에 위배되는 문자열인 'jumin'에 대응하는 대체문자열은 '?' as jumin'이므로, 보안정책에 위배되는 문자열을 대응되는 대체문자열로 변경하면 아래와 같은 질의어를 얻을 수 있다.
The step S600 is a step of changing a string that violates the security policy into a replacement string, and changes it on the
'select no, '?' as jumin, name from member where rownum<10'
'select no,'? ' as jumin, name from member where rownum <10 '
상기 S700단계는 대체문자열로 변경한 질의어를 패킷에 조합하는 단계로, 패킷송신모듈(40) 상에서 조합한다. 대체문자열로 변경한 질의어는 'select no, '?' as jumin, name from member where rownum<10' 이므로, 이를 패킷에 조합한다. 이때, 패킷의 전체 길이를 고려하여 대체문자열로 변경한 질의어를 조합하는 것이 바람직하다.
The step S700 is a step of combining the query word changed into the replacement string into the packet, and combines it on the
상기 S800단계는 패킷을 DBMS(60)에 전송하는 단계로, 패킷송신모듈(40)이 패킷을 DBMS(60)에 전송한다. 상기에서 가정한 바에 의하면, 질의어 'select no, '?' as jumin, name from member where rownum<10' 가 포함된 패킷을 DBMS(60)에 전송한다.
In step S800, the packet is transmitted to the
상기 S900단계는 패킷에 따른 정보를 검색하여 사용자(100)에게 제공하는 단계로, DBMS(60)가 패킷에 따른 정보를 검색하여 사용자(100)에게 제공한다. 패킷 내에 포함된 질의어는 'select no, '?' as jumin, name from member where rownum<10' 이므로, no, name에 따른 정보를 사용자(100)에게 제공한다. 즉, DBMS(60)는 아래와 같은 정보를 사용자(100)에게 제공한다.The step S900 is a step of retrieving the information according to the packet to the
이상, 본 발명의 일 실시예로 설명하였으나 본 발명의 기술적 사상이 상기 일 실시예로 한정되는 것은 아니며, 본 발명의 기술적 사상을 벗어나지 않는 범주에서 다양한 질의어 변경을 통한 중요정보 보안 시스템 및 방법을 구현할 수 있다.As described above, although an embodiment of the present invention has been described, the technical concept of the present invention is not limited to the above-described embodiment, and the important information security system and method may be implemented by changing various queries within the scope not departing from the technical idea of the present invention. Can be.
10… 패킷수신모듈
20… 정책관리모듈
30… 질의어제어모듈
40… 패킷송신모듈
50… 테이블/칼럼 정보모듈
60… DBMS
100… 사용자10... Packet receiving module
20... Policy Management Module
30... Query Control Module
40 ... Packet transmission module
50... Table / Column Information Module
60 ... DBMS
100... user
Claims (8)
DBMS의 보안정책 및 상기 보안정책에 위배되는 문자열을 대체할 대체문자열이 저장되는 정책관리모듈;
상기 정책관리모듈에 저장된 정보를 바탕으로 상기 패킷수신모듈에서 추출한 질의어 내의 문자열 중에서 상기 보안정책에 위배되는 문자열을 대체문자열로 변경하는 질의어제어모듈; 및
상기 질의어제어모듈에서 대체문자열로 변경한 질의어를 패킷에 조합하고, 조합한 패킷을 DBMS로 송신하는 패킷송신모듈을 포함하는 것을 특징으로 하는 질의어 변경을 통한 중요정보 보안 시스템.A packet receiving module for receiving a packet from a user and extracting a query within the packet;
A policy management module for storing a security string of a DBMS and a replacement string for replacing a string in violation of the security policy;
A query word control module for changing a string that violates the security policy from a string in a query word extracted by the packet receiving module into a replacement string based on the information stored in the policy management module; And
And a packet transmission module for combining the query word changed by the query control module into a replacement string into a packet and transmitting the combined packet to a DBMS.
상기 DBMS를 통하여 테이블, 칼럼 정보를 수집하며, 상기 질의어제어모듈의 요청에 따라 테이블의 칼럼 정보를 제공하는 테이블/칼럼 정보모듈을 더 포함하는 것을 특징으로 하는 질의어 변경을 통한 중요정보 보안 시스템.The method of claim 1,
And a table / column information module which collects table and column information through the DBMS and provides column information of the table in response to a request of the query control module.
상기 테이블/칼럼 정보모듈에 저장된 정보를 바탕으로 상기 패킷수신모듈에서 추출한 질의어 내의 전체칼럼조회문자를 대응되는 테이블의 칼럼 정보로 변경하는 기능을 더 포함하는 것을 특징으로 하는 질의어 변경을 통한 중요정보 보안 시스템.The method of claim 2, wherein the query control module,
Important information security by changing the query characterized in that it further comprises the function of changing the entire column query characters in the query extracted from the packet receiving module based on the information stored in the table / column information module to the column information of the corresponding table. system.
상기 패킷수신모듈에서 질의어가 추출됨과 동시에 상기 DBMS를 통하여 테이블, 칼럼 정보를 수집하거나,
상기 패킷수신모듈에서 질의어의 추출 전에 상기 DBMS를 통하여 테이블, 칼럼 정보를 수집하거나,
테이블 또는 칼럼 정보의 변경시에 상기 DBMS를 통하여 테이블, 칼럼 정보를 수집하는 것을 특징으로 하는 질의어 변경을 통한 중요정보 보안 시스템.The method of claim 2, wherein the table / column information module,
The query is extracted from the packet receiving module and at the same time collects table and column information through the DBMS,
Collect the table and column information through the DBMS before extracting the query in the packet receiving module,
Important information security system through a query change, characterized in that to collect table and column information through the DBMS when changing the table or column information.
상기 패킷송신모듈로부터 패킷을 수신하며, 상기 패킷 내의 질의어 중 대체문자열을 제외한 문자열에 따른 정보를 사용자에게 제공하는 상기 DBMS를 더 포함하는 것을 특징으로 하는 질의어 변경을 통한 중요정보 보안 시스템.The method according to any one of claims 1 to 4,
Receiving a packet from the packet transmission module, and further comprising the DBMS for providing a user with information according to a character string except for the replacement string of the query in the packet further comprising a query information change system.
상기 패킷 내에서 질의어를 추출하는 단계(S200);
상기 질의어 내의 문자열 중에서 보안정책에 위배되는 문자열을 추출하는 단계(S500);
상기 S500단계에서 추출한 문자열을 대체문자열로 변경하는 단계(S600);
상기 대체문자열로 변경한 질의어를 패킷에 조합하는 단계(S700);
상기 S700단계에서 조합한 패킷을 DBMS에 송신하는 단계(S800); 및
상기 S800단계에서 전송받은 패킷 내의 질의어 중 대체문자열을 제외한 문자열에 따른 정보를 사용자에게 제공하는 단계(S900)를 포함하는 것을 특징으로 하는 질의어 변경을 통한 중요정보 보안 방법.Receiving a packet from a user (S100);
Extracting a query word in the packet (S200);
Extracting a string that violates a security policy from the string in the query (S500);
Changing the string extracted in step S500 into a replacement string (S600);
Combining the query word changed into the replacement string into a packet (S700);
Transmitting the packet combined in step S700 to the DBMS (S800); And
And providing information based on a character string excluding the replacement string among the query words received in step S800 to the user (S900).
상기 S200단계에서 추출한 질의어 내에서 전체칼럼조회문자를 추출하는 단계(S300);
상기 전체칼럼조회문자에 보안정책과 위배되는 문자열이 존재하는 경우에 상기 전체칼럼조회문자를 대응되는 테이블의 칼럼 정보로 변경하는 단계(S400)를 더 포함하는 것을 특징으로 하는 질의어 변경을 통한 중요정보 보안 방법.The method of claim 6,
Extracting an entire column query character in the query word extracted in step S200 (S300);
In the case where there is a string that violates a security policy in the entire column query character, the step of changing the entire column query character to column information of a corresponding table (S400) further includes important information through the query change. Security method.
패킷의 전체 길이를 고려하여 대체문자열로 변경한 질의어를 조합하는 것을 특징으로 하는 질의어 변경을 통한 중요정보 보안 방법.The method of claim 6 or 7, wherein the step S700,
Method for securing important information by changing the query, characterized in that to combine the query to change to a replacement string in consideration of the total length of the packet.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110030309A KR101069367B1 (en) | 2011-04-01 | 2011-04-01 | Security system and method of important information by query change |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110030309A KR101069367B1 (en) | 2011-04-01 | 2011-04-01 | Security system and method of important information by query change |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101069367B1 true KR101069367B1 (en) | 2011-10-04 |
Family
ID=45032203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110030309A KR101069367B1 (en) | 2011-04-01 | 2011-04-01 | Security system and method of important information by query change |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101069367B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102643203B1 (en) * | 2023-02-06 | 2024-03-05 | 주식회사 융넷 | Database inference attack control apparatus and method thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100820306B1 (en) * | 2007-07-16 | 2008-04-08 | 주식회사 피앤피시큐어 | Security system using the data masking and data security method thereof |
-
2011
- 2011-04-01 KR KR1020110030309A patent/KR101069367B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100820306B1 (en) * | 2007-07-16 | 2008-04-08 | 주식회사 피앤피시큐어 | Security system using the data masking and data security method thereof |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102643203B1 (en) * | 2023-02-06 | 2024-03-05 | 주식회사 융넷 | Database inference attack control apparatus and method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | A user sensitive subject protection approach for book search service | |
US10013574B2 (en) | Method and apparatus for secure storage and retrieval of encrypted files in public cloud-computing platforms | |
US7640235B2 (en) | System and method for correlating between HTTP requests and SQL queries | |
JP6419633B2 (en) | Search system | |
US9350714B2 (en) | Data encryption at the client and server level | |
US7743420B2 (en) | Dynamic learning method and adaptive normal behavior profile (NBP) architecture for providing fast protection of enterprise applications | |
US9202078B2 (en) | Data perturbation and anonymization using one way hash | |
EP2689353B1 (en) | System and method for data masking | |
US8498995B1 (en) | Optimizing data retrieval during event data query processing | |
US7827403B2 (en) | Method and apparatus for encrypting and decrypting data in a database table | |
US9251355B2 (en) | Field level database encryption using a transient key | |
US8997248B1 (en) | Securing data | |
US10621370B2 (en) | Methods and apparatus to provide group-based row-level security for big data platforms | |
US8027993B2 (en) | Techniques for establishing and enforcing row level database security | |
US7930560B2 (en) | Personal information management system, personal information management program, and personal information protecting method | |
CN107292183A (en) | A kind of data processing method and equipment | |
US20100161995A1 (en) | System, method, and computer-readable medium for cryptographic key rotation in a database system | |
CN107315968A (en) | A kind of data processing method and equipment | |
US20190108255A1 (en) | Searchable encryption scheme with external tokenizer | |
US20160098573A1 (en) | Securing a Distributed File System | |
KR100820306B1 (en) | Security system using the data masking and data security method thereof | |
EP2087442A1 (en) | Ranged lookups | |
CN101587479A (en) | Database management system kernel oriented data encryption/decryption system and method thereof | |
CN108595971A (en) | A kind of database adaptive refinement method | |
JP7249248B2 (en) | Confidential Information Processing System and Confidential Information Processing Method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140829 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151020 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160729 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180731 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190731 Year of fee payment: 9 |