KR20180126853A - System and Method for automatic generation and execution of encryption SQL statements using meta-information and enterprise framework - Google Patents

System and Method for automatic generation and execution of encryption SQL statements using meta-information and enterprise framework Download PDF

Info

Publication number
KR20180126853A
KR20180126853A KR1020170061815A KR20170061815A KR20180126853A KR 20180126853 A KR20180126853 A KR 20180126853A KR 1020170061815 A KR1020170061815 A KR 1020170061815A KR 20170061815 A KR20170061815 A KR 20170061815A KR 20180126853 A KR20180126853 A KR 20180126853A
Authority
KR
South Korea
Prior art keywords
sql statement
encryption
server
meta information
dbio
Prior art date
Application number
KR1020170061815A
Other languages
Korean (ko)
Other versions
KR101979320B1 (en
Inventor
김세환
Original Assignee
뱅크웨어글로벌 주식회사
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 뱅크웨어글로벌 주식회사 filed Critical 뱅크웨어글로벌 주식회사
Priority to KR1020170061815A priority Critical patent/KR101979320B1/en
Publication of KR20180126853A publication Critical patent/KR20180126853A/en
Application granted granted Critical
Publication of KR101979320B1 publication Critical patent/KR101979320B1/en

Links

Images

Classifications

    • 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/6227Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F17/30289
    • 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/602Providing cryptographic facilities or services
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

A system for automatically generating an encryption SQL statement using metadata and enterprise framework according to an embodiment of the present invention includes: a framework IDE for requesting the generation of an SQL statement based on SQL statement metadata which a user inputs; a DBIO server for providing the encryption SQL statement to the framework IDE after the encryption SQL statement is generated by using encryption metadata matched with the SQL statement metadata; and an encryption server for providing the encryption metadata matched with the SQL statement metadata to the DBIO server. Accordingly, the present invention can improve security and reduce development costs.

Description

메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템 및 방법{System and Method for automatic generation and execution of encryption SQL statements using meta-information and enterprise framework}[0001] The present invention relates to a system and method for automatic generation of encrypted SQL statements using meta information and an enterprise framework,

본 발명은 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for automatically generating encrypted SQL statements using meta information and an enterprise framework.

주민등록번호와 같은 개인 신상 정보를 데이터베이스 관리시스템(Database Management System; 이하, DBMS)에 일정 규모 이상 보관 시엔 해당 정보를 암호화하여 저장하도록 법제화되어 있다.A personal information such as a resident registration number is stored in a database management system (DBMS) over a certain scale, the information is encrypted and stored.

대용량 개인정보를 관리하는 조직의 경우, DBMS의 소프트웨어에 외부 암호화 패키지를 등록한 후, DBMS에 전달된 구조화 질의어(Structured query language; 이하, SQL)문이 수행될 때, 등록된 외부 함수를 호출하면서 암호화 처리를 하는 방식은 성능 측면에서 상당히 비효율적이다.In the case of an organization that manages a large amount of personal information, an external encryption package is registered in the software of the DBMS, and when a structured query language (SQL) sent to the DBMS is executed, The method of processing is considerably inefficient in terms of performance.

왜냐하면, DBMS 네이티브 프로세스와 외부 패키지간의 IPC(Inter-Process Call) 오버헤드 혹은 JNI(Java Native Interface) 오버헤드 및 각 구간 간 데이터 카피 오버헤드가 존재하기 때문이다.This is because there is an inter-process call (IPC) overhead or a Java Native Interface (JNI) overhead between the DBMS native process and the external package, and a data copy overhead between each interval.

또한, 보안성 측면에서도 DBMS 외부로 복호화된 개인정보들이 네트워크 단에 노출된다는 측면에서 안전하지 못하다.In terms of security, personal information decrypted outside the DBMS is not secure in terms of being exposed at the network end.

즉, 개인정보 복호화가 필요한 업무의 경우 해당 정보가 이미 DBMS내에서 복호화된 이후 평문 형태로 WAS/Web 서버 등으로 전달되는 문제가 있다.That is, in the case of the work requiring decryption of personal information, the information is already decrypted in the DBMS and then transmitted to the WAS / Web server in the form of plaintext.

부가적으로 상기와 같은 조직의 업무들은 DBMS, WAS(Web Application Server) 등과 같은 엔터프라이즈용 시스템 소프트웨어를 기반으로 구현된 경우가 대다수이며 해당 업무 역시 별도의 엔터프라이즈급(예, 금융권) 개발 프레임웍을 기반으로 구현되어 있다. In addition, the tasks of the above-mentioned organizations are implemented based on system software for enterprise such as DBMS, WAS (Web Application Server), etc., and the corresponding tasks are also based on a separate enterprise-class It is implemented.

특히, 데이터베이스 관리서버(DBMS)에 저장된 정보를 업무에서 이용하는 경우, DBIO라는 공통 모듈을 사용하여 업무를 개발하는 것이 업계 표준이다. In particular, when using information stored in a database management server (DBMS) in business, it is an industry standard to develop a business using a common module called DBIO.

DBIO 모듈이 제공하는 대표 기능은 SQL문 생성 기능이다.The representative function provided by DBIO module is SQL statement generation function.

프레임웍에서 제공하는 개발용 IDE(Integrated Development Environment)를 통해 업무 개발자는 SQL문을 유형 및 업무 요건에 따라 자동 생성/갱신/삭제 관리할 수 있으며, 프레임웍은 DBIO 모듈을 통해 자동 생성된 SQL문을 포함한 비즈니스 로직 구문을 담는 최종 업무 소스를 생성/빌드해주는 기능을 제공해준다. The development IDE (Integrated Development Environment) provided by the framework enables business developers to automatically create, update, and delete SQL statements according to type and business requirements. The framework includes an SQL statement automatically generated through the DBIO module Provides the ability to create / build final business sources that contain business logic statements.

기존의 DB암호화 솔루션들은 단품 솔루션으로써 암복호화 기능만을 라이브러리 형태로 제공함으로써 언급한 엔터프라이즈급 개발 환경에 적용하는 데 있어 다수의 개발자들이 제각각 수동으로 해당 암복호화 API(Application programming interface) 기능을 SQL문 혹은 비즈니스 로직에 직접 수동으로 프로그래밍하여야 하는 상황이며 이는 개발 생산성 측면에서도 비효율적이다.Existing DB encryption solutions are single product solution. By providing only the encryption / decryption function in the form of library, many developers can manually apply the corresponding application programming interface (API) functions to the mentioned enterprise-level development environment. This is a situation where you have to manually program directly into business logic, which is also inefficient in terms of development productivity.

대한민국 공개특허공보 제10-2010-0135533호 (발명의 명칭: 응용 프로그램의 암호화 데이터베이스 자동 연동 방법)Korean Patent Laid-Open Publication No. 10-2010-0135533 (entitled " Encryption Database Automatic Interworking Method of Application Program)

본 발명은 상기 문제점을 해결하기 위하여 창안된 것으로서, 데이터 암호화 기능을 단순 라이브러리로 제공하는데 그치지 않고, 엔터프라이즈급 프레임웍과 연동하도록 하여 비즈니스 로직 개발시, 등록된 암호화 메타정보를 활용하여 자동화된 암복호화 API 적용이 가능하도록 하여, 성능, 보안성, 개발 생산성 측면에서의 효율성을 제고하도록 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템 및 방법을 제공하는 데 그 목적이 있다.The present invention has been developed in order to solve the above problems, and it is an object of the present invention to provide a data encryption function as a simple library, and in cooperation with an enterprise class framework, The present invention provides a system and method for automatically generating an encrypted SQL statement using meta information and an enterprise framework in order to enhance efficiency in terms of performance, security, and development productivity.

상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 “메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템”은 사용자가 입력한 접근대상 테이블명, 접근유형(select/insert/update/delete), 칼럼명, 조건(이하 SQL문 메타정보)을 입력받아 SQL문 생성을 요청하는 프레임웍 IDE; 상기 프레임웍 IDE에서 입력된 SQL문 메타정보와 매칭되는 암호화 메타정보(테이블명, 칼럼명, 정책명)를 이용하여 암호화 SQL문을 자동 생성한 후, 상기 프레임웍 IDE으로 제공하는 DBIO 서버; 및 암호화 메타정보를 DBIO 서버로 제공하는 암호화 서버를 포함한다.According to an embodiment of the present invention, there is provided a system for automatically generating an encrypted SQL statement using meta information and an enterprise framework, the system comprising: an access target table name, an access type (select / insert / update / delete) , A column name, a condition (hereinafter, referred to as SQL statement meta information), and requesting generation of an SQL statement; A DBIO server for automatically generating an encrypted SQL statement using encryption meta information (table name, column name, policy name) matched with SQL statement meta information input from the framework IDE and providing the encrypted SQL statement to the framework IDE; And an encryption server for providing the encryption meta information to the DBIO server.

일 실시예에서, 상기 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템은 암호화 SQL문을 실행시켜, 암호화 SQL문에 전달된 개인정보를 암/복호화시키는 웹 애플리케이션 서버(WAS) 더 포함한다.In one embodiment, the system for automatically generating an encrypted SQL statement using the meta information and the enterprise framework further includes a web application server (WAS) that executes an encrypted SQL statement and encrypts / decrypts personal information transferred to the encrypted SQL statement.

일 실시예에서, 상기 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템은 개인정보를 암호화하여 저장하는 데이터베이스 관리 서버(DBMS)를 더 포함한다.In one embodiment, The system for automatically generating an encrypted SQL statement using the meta information and the enterprise framework further includes a database management server (DBMS) for encrypting and storing personal information.

일 실시예에서, 상기 프레임웍 IDE는 DBIO 서버로 암호화 메타정보를 기반으로 SQL문 생성을 요청하는 DBIO 모듈을 포함한다.In one embodiment, the framework IDE includes a DBIO module that requests the DBIO server to generate an SQL statement based on the encryption meta information.

일 실시예에서, 상기 DBIO 서버는 암호화 서버에 SQL문 메타정보와 매칭되는 암호화 메타정보가 존재하는 지 여부를 확인하는 메타정보 검증부; 및 상기 DBIO 모듈에서 제공된 정보와 암호화 서버에서 전달한 암호화 메타정보를 이용하여, 조회 및 입력에 따라 서로 상이하게 처리되는 암호화 SQL문을 생성하는 암호화 SQL문 생성부를 포함한다.In one embodiment, the DBIO server includes a meta information verification unit for checking whether encryption meta information matched with the SQL statement meta information exists in the encryption server; And an encrypted SQL statement generator for generating an encrypted SQL statement that is processed differently according to inquiry and input, using the information provided by the DBIO module and the encryption meta information transmitted from the encryption server.

일 실시예에서, 상기 암호화 서버는 암호화 메타정보를 저장하는 암호화 메타정보 리포지터리; 및 상기 DBIO 서버에서 제공된 요청정보에 기초하여, 암호화 리포지터리에서 해당 값을 추출하여 상기 DBIO 서버로 제공하는 암호화 메타정보 제공부를 포함한다.In one embodiment, the encryption server includes an encryption meta information repository for storing encryption meta information; And an encryption meta information providing unit for extracting the corresponding value from the encryption repository based on the request information provided by the DBIO server and providing the extracted value to the DBIO server.

상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 방법은 프레임웍 IDE를 이용하여 SQL문 생성을 DBIO 서버에 요청하는 제1 단계; 상기 DBIO 서버에서 입력된 값에 매칭되는 암호화 메타정보의 조회를 암호화 서버로 요청하는 제2 단계; 상기 암호화 서버에서 상기 SQL문 메타정보와 등록된 암호화 메타정보가 일치하는지 여부를 판단하는 제3 단계; 상기 암호화 서버의 판단결과에 기초하여 암호화 메타정보를 DBIO 서버로 반환 또는 비반환하는 제4 단계; 상기 암호화 서버에서 상기 암호화 메타정보의 반환여부에 따라 암호화 SQL문을 생성하는 제5 단계; 및 상기 DBIO 서버에서 암호화 SQL문을 프레임웍 IDE로 제공하는 제6 단계를 포함한다.According to an aspect of the present invention, there is provided a method for automatically generating an encrypted SQL statement using meta information and an enterprise framework, the method comprising: a first step of requesting a DBIO server to generate an SQL statement using a framework IDE; A second step of requesting the encryption server to inquire the encryption meta information matched with the value input from the DBIO server; A third step of determining whether or not the SQL statement meta information matches the registered encryption meta information in the encryption server; A fourth step of returning or not returning the encryption meta information to the DBIO server based on the determination result of the encryption server; A fifth step of generating an encrypted SQL statement according to whether the encryption meta information is returned from the encryption server; And providing the encrypted SQL statement to the framework IDE in the DBIO server.

일 실시예에서, 상기 제6 단계 이후, 상기 프레임웍 IDE에서 웹 애플리케이션 서버의 애플리케이션 컨테이너를 통해 담당 업무를 디플로이하는 단계를 더 포함한다.In one embodiment, after the sixth step, the framework IDE further includes a step of deploying the service through the application container of the web application server.

일 실시예에서, 상기 웹 애플리케이션 서버에서 상기 DBIO 서버에서 생성한 암호화 SQL문을 실행하여 이상 유무를 확인하는 단계를 더 포함한다.In one embodiment, the web application server further includes executing an encrypted SQL statement generated by the DBIO server to check for anomaly.

일 실시예에서, 데이터베이스 관리 서버에서 상기 암호화 SQL문을 통해 암호화된 개인정보를 상기 데이터베이스 관리 서버에 저장되는 단계를 더 포함한다.In one embodiment, the method further comprises storing the encrypted personal information in the database management server through the encrypted SQL statement at the database management server.

상기한 과제의 해결 수단은 본 발명의 특징을 모두 열거한 것은 아니다. 본 발명의 과제 해결을 위한 다양한 수단들은 이하의 상세한 설명의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.The solution of the above-mentioned problems does not list all the features of the present invention. Various means for solving the problems of the present invention can be understood in detail with reference to specific embodiments of the following detailed description.

본 발명에 따르면, DBMS단에서 암복호화를 수행하는 것은 성능 측면에서 웹 애플리케이션 서버(WAS) 단에서 라이브러리 호출하는 것 대비 수십배 이상의 성능 오버헤드가 존재하는 것으로 파악이 되며, 본 발명의 방법을 통해 암복호화 위치를 인위적으로 WAS단으로 이전 시킬 수 있다는 이점이 있다. According to the present invention, it is understood that performance of encryption / decryption at the DBMS terminal has a performance overhead several tens of times higher than that of library calling at the web application server (WAS) side in terms of performance, The decoding position can be artificially transferred to the WAS stage.

또한, 보안 측면에서는 WAS단에서의 암복호화 수행으로 인해 WAS에서 DBMS로의 데이터 전달은 암호화된 형태의 개인정보만이 가능하도록 강제함으로써 기존 방식 대비 보안성을 향상시키는 효과를 기대할 수 있다.Also, from the security aspect, it is expected that the data transmission from the WAS to the DBMS due to the encryption / decryption at the WAS terminal is made to enable only encrypted personal information, thereby improving the security compared to the existing method.

개발 생산성 제고 측면에서는 정량적으로 그 효과를 기술하기는 어려우나 기존 방식처럼 다수의 개발자가 제각각 암복호화 API를 사용하여 수동으로 SQL문들을 생성/수정하는 것보다는 프레임웍과 연동하여 자동으로 생성해줌으로써 효율적인 업무 개발에 도움이 된다는 점은 명확하며 특히 규모가 큰 조직일수록 이로 인한 개발 비용 절감 효과는 분명하다고 할 수 있다.It is difficult to describe the effect quantitatively in the aspect of improvement of development productivity. However, as in the existing method, many developers use the encryption / decryption API to create / modify SQL statements manually, instead of manually creating / modifying SQL statements. It is clear that it is helpful for development, and the effect of reducing the development cost is clear, especially for larger organizations.

도 1 은 본 발명의 일 실시예에 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템을 나타낸 블록도이다.
도 2는 도 1에 도시된 DBIO 서버의 블록도이다.
도 3은 도 1에 도시된 암호화 서버의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 방법의 흐름도이다.
도 5는 도 1에 도시된 프레임웍 IDE의 암호화 정책 편집기 UI를 통한 SQL문 메타정보 입력 화면 예시도이다.
도 6은 암호화 SQL문 생성을 위해 개발자가 입력하는 프레임웍 IDE 내 DBIO SQL문 편집 화면 예시도이다.
1 is a block diagram illustrating a system for automatically generating an encrypted SQL statement using meta information and an enterprise framework according to an exemplary embodiment of the present invention.
2 is a block diagram of the DBIO server shown in FIG.
3 is a block diagram of the encryption server shown in FIG.
4 is a flowchart illustrating a method for automatically generating an encrypted SQL statement using meta information and an enterprise framework according to an embodiment of the present invention.
5 is a diagram illustrating an SQL statement meta information input screen through the encryption policy editor UI of the framework IDE shown in FIG.
6 is an illustration of a DBIO SQL statement editing screen in a framework IDE input by a developer for generating an encrypted SQL statement.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "including" an element, it is to be understood that the element may include other elements as well as other elements, And does not preclude the presence or addition of one or more other features, integers, steps, operations, components, parts, or combinations thereof.

이하, 첨부된 도면을 참조하여 본 발명의 일 실시예에 따른 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템 및 방법를 보다 상세하게 설명하도록 한다.Hereinafter, a system and method for automatically generating an encrypted SQL statement using meta information and an enterprise framework according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 본 발명의 일 실시예에 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템을 나타낸 블록도이다.1 is a block diagram illustrating a system for automatically generating an encrypted SQL statement using meta information and an enterprise framework according to an exemplary embodiment of the present invention.

도 1에 도시된 바와같이, 본 발명의 일 실시예에 따른 SQL 문 자동 생성 시스템(100)은 프레임웍 IDE(200), DBIO 서버(300), 암호화 서버(400), 웹 애플리케이션 서버(Web application server)(500), DBMS(600)를 포함하여 이루어진 웹 기반 구조에서 구현된다.1, an automatic SQL statement generation system 100 according to an exemplary embodiment of the present invention includes a framework IDE 200, a DBIO server 300, an encryption server 400, a Web application server ) 500, and a DBMS (600).

상기 프레임웍 IDE(200)은 사용자가 입력한 SQL문 메타정보를 입력받아 SQL문 생성을 요청한다.The framework IDE 200 receives SQL statement meta information input by the user and requests SQL statement creation.

상기 프레임웍 IDE(200)은 엔터프라이즈급 프레임웍에서 비즈니스 로직을 구현하기 위해 사용되는 사용자 인터페이스(툴)일 수 있다.The framework IDE 200 may be a user interface (tool) used to implement business logic in an enterprise class framework.

상기 프레임웍 IDE(200)은 다양한 업무의 실행을 위해 필요한 시스템 모듈 또는 타 업무 모듈/공통 모듈등을 통합 패키징하는데 필요한 기능들을 제공한다.The framework IDE 200 provides functions necessary for integrally packaging system modules or other service modules / common modules required for execution of various tasks.

여기서, 상기 프레임웍 IDE(200)은 DBIO 모듈(210)을 포함한다. 상기 DBIO 모듈(210)은 업무 개발자에게 SQL문 메타정보를 입력 및 수정할 수 있는 사용자 인터페이스(UI)를 제공하는 기능을 한다(도 5 및 도 6 참조).Here, the framework IDE 200 includes a DBIO module 210. The DBIO module 210 provides a user interface (UI) for inputting and modifying SQL statement information to a business developer (see FIGS. 5 and 6).

도 2는 도 1에 도시된 DBIO 서버의 블록도이다.2 is a block diagram of the DBIO server shown in FIG.

도 2를 참조하면, 상기 DBIO 서버(300)는 상기 프레임웍 IDE(200)에서 입력한 SQL문 메타정보와 매칭되는 암호화 메타정보를 이용하여 암호화 SQL문을 생성한 후, 상기 프레임웍 IDE(200)으로 제공한다.Referring to FIG. 2, the DBIO server 300 generates an encrypted SQL statement using encryption meta information matched with the SQL statement meta information input from the framework IDE 200, and then transmits the encrypted SQL statement to the framework IDE 200 to provide.

보다 구체적으로, 상기 DBIO 서버(300)는 메타정보 검증부(310), SQL문 생성부(320) 및 암호화 SQL 리포지터리(330)를 포함한다.More specifically, the DBIO server 300 includes a meta information verification unit 310, an SQL statement generation unit 320, and an encryption SQL repository 330.

상기 메타정보 검증부(310)는 암호화 서버(400)에 상기 SQL문 메타정보와 매칭되는 암호화 메타정보가 존재하는 지 여부를 확인 및 요청한다.The meta information verification unit 310 checks whether the encryption meta information matching the SQL statement meta information is present and requests the encryption server 400. [

상기 SQL문 생성부(320)는 상기 DBIO 모듈(210)에서 제공된 정보와 상기 암호화 서버(400)에서 전달한 암호화 메타정보를 이용하여, 조회 및 입력에 따라 서로 상이하게 처리되는 암호화 SQL문 또는 평문 SQL문을 생성한다.The SQL statement generating unit 320 generates an encrypted SQL statement or a plain text SQL that is processed differently according to inquiry and input by using the information provided from the DBIO module 210 and the encryption meta information transmitted from the encryption server 400. [ Generate a statement.

상기 암호화 SQL 리포지터리(330)는 상기 SQL문 생성부(320)에서 생성된 암호화 SQL문 또는 평문 SQL문을 저장한다.The encryption SQL repository 330 stores an encrypted SQL statement or a plain text SQL statement generated by the SQL statement generator 320.

도 3은 도 1에 도시된 암호화 서버의 블록도이다.3 is a block diagram of the encryption server shown in FIG.

도 3을 참조하면, 상기 암호화 서버(400)는 상기 SQL문 메타정보와 매칭되는 암호화 메타정보를 상기 DBIO 서버(300)로 제공한다.Referring to FIG. 3, the encryption server 400 provides the DBI server 300 with encryption meta information matching the SQL statement meta information.

보다 구체적으로, 상기 암호화 서버(400)는 적어도 하나 이상의 암호화 메타정보 리포지터리(410) 및 암호화 메타정보 제공부(420)를 포함한다.More specifically, the encryption server 400 includes at least one encryption meta information repository 410 and encryption meta information provision unit 420.

상기 암호화 메타정보 리포지터리(410)는 메타 ID, 테이블명, 칼럼명, 정책명을 저장한다.The encryption meta information repository 410 stores a meta ID, a table name, a column name, and a policy name.

상기 암호화 메타정보 제공부(420)는 상기 DBIO 서버(300)에서 제공된 요청정보에 기초하여, 상기 DBIO 모듈(210)에서 전달된 상기 SQL문 메타정보와 매칭되는 암호화 메타정보를 상기 암호화 메타정보 리포지터리(410)에서 추출하여 상기 DBIO 서버(300)로 제공한다.The encryption meta information providing unit 420 provides encryption meta information matched with the SQL statement meta information transmitted from the DBIO module 210 to the encryption meta information repository 420 based on the request information provided from the DBIO server 300. [ (410) and provides it to the DBIO server (300).

한편, 본 발명의 일 실시예에 따른 암호화 SQL문 자동 생성 시스템(100)은 DBIO 서버(300)에서 생성된 상기 암호화 SQL문을 실행시켜, 상기 암호화 SQL문 내의 암호화된 개인정보를 복호화시키는 웹 애플리케이션 서버(Web Application Server; 이하, WAS)(500)를 더 포함한다.Meanwhile, the system for automatically generating an encrypted SQL statement 100 according to an exemplary embodiment of the present invention executes the encrypted SQL statement generated in the DBIO server 300 to decrypt the encrypted private information in the encrypted SQL statement, And a Web application server (WAS) 500.

또한, 상기 복호화된 개인정보를 암호화하여 저장하는 데이터베이스 관리 서버(Database management system; 이하 DBMS)(600)를 더 포함할 수 있다.Also, And a database management system (DBMS) 600 for encrypting and storing the decrypted personal information.

이하에서는 상술한 프레임웍 IDE(200), DBIO 서버(300), 암호화 서버(400)의 구성 및 동작을 보다 상세하세 서술하도록 한다.Hereinafter, the configuration and operation of the framework IDE 200, the DBIO server 300, and the encryption server 400 will be described in more detail.

프레임웍 IDE(200)는 평문 SQL문(201), DBIO 모듈(210), 암호화 SQL문(202)으로 구성되며, 그 세부 기능을 살피면 다음과 같다. The framework IDE 200 A plain text SQL statement 201, a DBIO module 210, and an encrypted SQL statement 202. The detailed functions are as follows.

- 프레임웍 IDE -- Framework IDE -

평문 SQL문(201)은 접근대상 정보가 암호화되지 않은 경우 사용하는 일반적인 SQL문이다. The plain text SQL statement (201) is a general SQL statement used when the access target information is not encrypted.

평문 SQL문을 통해 암호화 대상 정보에 접근하는 경우, 조회(select)의 경우엔 암호화된 문자열이 반환되게 되며 입력(insert/update)의 경우 평문 형태의 문자열이 저장되게 된다. When accessing the information to be encrypted through a plain text SQL statement, the encrypted string is returned in the case of a select (select), and the plain text string is stored in the case of an input (insert / update).

따라서, 암호화 대상 정보에 접근시엔 DBIO 모듈(210)을 통해 암호화 SQL문(202) 생성 요청하여 반환된 결과를 이용하여 개인정보를 처리하여야 한다.Accordingly, when accessing the encryption target information, the user must request the generation of the encrypted SQL statement 202 through the DBIO module 210 and process the personal information using the returned result.

DBIO 모듈(210)의 경우, 프레임웍 IDE(200)에서 제공하는 인터페이스를 통해 개발자에게 SQL문 메타정보를 입력받아 해당 정보를 DBIO 서버(300)에 전송한다. In the case of the DBIO module 210, the SQL statement meta information is input to the developer through the interface provided by the framework IDE 200, and the corresponding information is transmitted to the DBIO server 300.

이후 반환된 암호화 SQL문(202)은 암호화 대상 칼럼에 대해 암복호화 API 및 정책을 파라미터로 전달하는 형태로 자동 변경된다.The returned encrypted SQL statement 202 is automatically changed to transfer the encryption / decryption API and the policy to the encryption target column as parameters.

예를 들어, 평문 SQL문(201)이 “select A from T”라고 가정하고, 해당 칼럼 A가 주민번호와 같은 개인정보를 저장하고 있고 주민번호를 P라는 암호화 정책을 써서 암호화하였다면, DBIO 모듈(210)이 이를 자동으로 암호화 SQL문인 “select dec(A, P) from T”과 동일한 기능을 수행하는 호스트 변수 기반의 업무 코드로 자동 생성한다. For example, if the plaintext SQL statement 201 is "select A from T" and the column A stores personal information such as a resident number and encrypts the resident number using an encryption policy of P, then the DBIO module 210) automatically generates this as a work variable based on a host variable that performs the same function as the encryption SQL "select dec (A, P) from T".

- DBIO 서버 -- DBIO server -

DBIO 서버(300)는 DBIO 모듈(210)로부터 요청을 받아 해당 정보가 암호화 서버(400)에 메타 형태로 존재하는 지 확인하는 메타정보 검증부(310)와 반환된 메타정보를 적용한 신규 SQL문을 생성하는 SQL문 생성부(320)로 구성된다. The DBIO server 300 receives a request from the DBIO module 210 and receives a request from the meta information verification unit 310 to confirm whether the corresponding information exists in the meta form in the encryption server 400 and a new SQL statement to which the returned meta information is applied And an SQL statement generator 320 for generating an SQL statement.

메타정보 검증부(310)는 암호화 서버(400)에 테이블/칼럼명을 전달하여 암호화 메타정보를 전달받는 역할을 한다. 전달된 암호화 메타정보는 메타ID, 테이블명, 칼럼명, 정책명 등을 포함한다. The meta information verification unit 310 receives the encryption meta information by transmitting the table / column name to the encryption server 400. The transmitted encryption meta information includes a meta ID, a table name, a column name, and a policy name.

암호화 SQL문 생성부(320)는 메타 검증부(310)에서 전달한 메타정보와 DBIO 모듈(210)에서 전달한 정보(SQL문 메타정보)를 통합하여 조회의 경우 복호화 API와 정책명, 입력의 경우 암호화 API와 정책명을 입력으로 처리하는 암호화 SQL문을 생성하고 이를 DBIO 모듈(210)로 반환한다. The encryption SQL statement generator 320 integrates the meta information transmitted from the meta-verification unit 310 and the information (SQL statement meta information) transmitted from the DBIO module 210 to generate a decryption API and a policy name in the case of inquiry, Generates an encrypted SQL statement that processes the API and the policy name as input, and returns the encrypted SQL statement to the DBIO module 210.

- 암호화 서버 -- Encryption server -

암호화 서버(400)는 분산 환경에서의 암호화 인프라를 관장하는 역할을 하며, 상기 암호화 서버(400)는 적어도 하나 이상의 암호화 메타정보 리포지터리(410) 및 암호화 메타정보 제공부(420)를 포함한다.The encryption server 400 plays a role of managing an encryption infrastructure in a distributed environment. The encryption server 400 includes at least one encryption meta information repository 410 and an encryption meta information providing unit 420.

암호화 메타정보 리포지터리(410)는 메타ID, 테이블명, 칼럼명, 정책명 등을 저장한다. The encryption meta information repository 410 stores a meta ID, a table name, a column name, a policy name, and the like.

암호화 정책 정보는 특정 정보를 암호화할 때 어떤 암호화 알고리즘을 사용할 것인지, 어떤 암호화 키를 사용할 것인지, 블록 암호화 시 사용되는 초기 벡터값(Initial Vector: IV)는 랜덤값을 사용할 지 또는 고정값을 사용할지, 접근제어는 어떻게 할지, 감사 정책은 어떻게 할지를 정의한 내용이다. In the encryption policy information, the encryption algorithm to be used when encrypting specific information, the encryption key to be used, and the initial vector (IV) to be used in encrypting the block are determined by whether random values or fixed values are used , What to do with access control, and what to do with audit policies.

칼럼 별로 별도의 정책을 가지고 갈수도 있고, 업무별로 표준화 정책을 정의해서 운영할 수도 있다. You can take separate policies for each column or you can define and operate a standardization policy for each task.

암호화 메타정보 리포지터리(410)는 위와 같이 암호화 정책을 정의할 때 별도의 관리 인터페이스를 통해 보안 관리자로부터 등록받는다.The encryption meta information repository 410 receives the registration from the security manager through a separate management interface when defining the encryption policy as described above.

도 4는 본 발명의 일 실시예에 따른 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 방법의 흐름도이다.4 is a flowchart illustrating a method for automatically generating an encrypted SQL statement using meta information and an enterprise framework according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 암호화 SQL 문 자동 생성 방법(S700)은 사용자가 프레임웍 IDE(200)를 이용하여 SQL문 생성을 DBIO 서버(300)에 요청(S710)하면, 상기 DBIO 서버(300)에서 요청된 SQL문을 파싱하여 SQL문 메타정보와 매칭되는 암호화 메타정보의 조회를 암호화 서버로 요청(S720)한다.4, when a user requests the DBIO server 300 to generate an SQL statement using the framework IDE 200 (S710), the method for automatically generating an encrypted SQL statement S700 according to an exemplary embodiment of the present invention, The DBIO server 300 parses the requested SQL statement and requests the encryption server to inquire the encryption meta information matched with the SQL statement meta information in step S720.

보다 구체적으로, S720은 상기 암호화 서버(300)에 상기 SQL문 메타정보와 매칭되는 암호화 메타정보가 존재하는 지 여부를 확인 및 요청한 후, 상기 DBIO 모듈에서 제공된 정보와 상기 암호화 서버에서 전달한 암호화 메타정보를 이용하여, 조회 및 입력에 따라 서로 상이하게 처리되는 암호화 SQL문을 생성하는 과정을 포함할 수 있다.More specifically, S720 After checking whether the encryption meta information matching with the SQL statement meta information is present in the encryption server 300 and using the information provided by the DBIO module and the encryption meta information transmitted from the encryption server, And generating an encrypted SQL statement that is processed differently according to the input.

이후, 상기 암호화 서버(400)에서 상기 SQL문 메타정보와 등록된 암호화 메타정보가 일치하는지 여부를 판단(S730)한 후, 상기 암호화 서버(400)의 판단결과에 기초하여 암호화 메타정보를 DBIO 서버(300)로 반환(S741) 또는 비반환(S742)되면, 상기 DBIO 서버(300)에서 상기 암호화 메타정보의 반환여부에 따라 암호화 SQL문 또는 평문 SQL문을 생성(S750)한 후, 상기 DBIO 서버(300)에서 암호화 SQL문 또는 평문 SQL문을 프레임웍 IDE(200)로 반환(S760)한다.Thereafter, the encryption server 400 determines whether the SQL meta information matches the registered encryption meta information (S730), and then, based on the determination result of the encryption server 400, (S750) after the encryption meta information is returned from the DBIO server (300) (S741) or not returned (S742) to the DBI server (300) (S760) the encrypted SQL statement or the plain-text SQL statement to the framework IDE 200 in step S760.

상기 프레임웍 IDE(200)는 웹 애플리케이션 서버의 애플리케이션 컨테이너를 통해 담당 업무를 디플로(S770)하게 되고, 상기 웹 애플리케이션 서버(500)에서 상기 DBIO 서버(300)에서 생성한 암호화 SQL문 또는 평문 SQL문을 실행하여 이상 유무를 확인(S780)한다.The framework IDE 200 deploys the task in S770 through the application container of the web application server and transmits the encrypted SQL statement or the plain text SQL statement generated by the DBO server 300 in the web application server 500 (S780). ≪ / RTI >

이후, 데이터베이스 관리 서버(600)에서 상기 암호화 SQL문이 암호화된 개인정보를 복호화하고, 복호화된 개인정보가 암호화되어 상기 데이터베이스 관리 서버(600)에 실행 및 저장(S790)한다.Thereafter, the database management server 600 decrypts the encrypted private information of the encrypted SQL statement, and the decrypted private information is encrypted and executed and stored in the database management server 600 (S790).

상기 웹 애플리케이션 서버(400)는 CGI, Servlet, ASP, JSP, PHP 등의 프로그램을 이용한다.The web application server 400 uses programs such as CGI, Servlet, ASP, JSP, and PHP.

따라서, 본 발명에 따르면, 데이터베이스 관리서버(DBMS) 단에서 암복호화를 수행하는 것은 성능 측면에서 웹 애플리케이션 서버(WAS) 단에서 라이브러리 호출하는 것 대비 수십배 이상의 성능 오버헤드가 존재하는 것으로 파악이 되며, 본 발명의 시스템 및 방법을 통해 암복호화 위치를 인위적으로 웹 애플리케이션 서버(WAS) 단으로 이전 시킬 수 있다는 이점이 있다. Therefore, according to the present invention, performing encryption / decryption at a database management server (DBMS) terminal has a performance overhead several tens of times higher than a library call at a web application server (WAS) Advantageously, the encryption and decryption location can be artificially transferred to the web application server (WAS) end through the system and method of the present invention.

또한, 보안 측면에서는 웹 애플리케이션 서버(WAS) 단에서의 암복호화 수행으로 인해 웹 애플리케이션 서버(WAS)에서 데이터베이스 관리 서버(DBMS)로의 데이터 전달은 암호화된 형태의 개인정보만이 가능하도록 강제함으로써 기존 방식 대비 보안성을 향상시키는 효과를 기대할 수 있다.In terms of security, data transfer from a web application server (WAS) to a database management server (DBMS) is performed only by encrypting private information by performing encryption / decryption at a web application server (WAS) The effect of improving the contrast security can be expected.

개발 생산성 제고 측면에서는 정량적으로 그 효과를 기술하기는 어려우나 기존 방식처럼 다수의 개발자가 제각각 암복호화 API를 사용하여 수동으로 SQL문들을 생성/수정하는 것보다는 프레임웍과 연동하여 자동으로 생성해줌으로써 효율적인 업무 개발에 도움이 되고, 특히 규모가 큰 조직일수록 이로 인한 개발 비용 절감 효과를 갖는다.It is difficult to describe the effect quantitatively in the aspect of improvement of development productivity. However, as in the existing method, many developers use the encryption / decryption API to create / modify SQL statements manually, instead of manually creating / modifying SQL statements. This helps development, especially for larger organizations, which reduces development costs.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

100: 암호화 SQL문 자동 생성 시스템
200: 프레임웍 IDE
210: DBIO 모듈
300: DBIO 서버
310: 메타정보 검증부
320: SQL문 생성부
330: 암호화 SQL 리포지터리
400: 암호화 서버
410: 암호화 메타정보 리포지터리
420: 암호화 메타정보 제공부
500: 웹 애플리케이션 서버(WAS)
600: 데이터베이스 관리 서버(DBMS)
100: Automatic generation of encrypted SQL statements
200: Framework IDE
210: DBIO module
300: DBIO server
310: Meta information verification unit
320: SQL statement generator
330: Encrypted SQL Repository
400: Encryption Server
410: Encryption Meta Information Repository
420: encryption meta information providing service
500: Web Application Server (WAS)
600: Database Management Server (DBMS)

Claims (10)

사용자가 입력한 SQL문 메타정보를 기반으로 SQL문 생성을 요청하는 프레임웍 IDE;
상기 SQL문 메타정보와 매칭되는 암호화 메타정보를 이용하여 암호화 SQL문을 생성한 후, 상기 프레임웍 IDE으로 제공하는 DBIO 서버; 및
상기 SQL문 메타정보와 매칭되는 암호화 메타정보를 상기 DBIO 서버로 제공하는 암호화 서버를 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템.
A framework IDE that requests to generate an SQL statement based on the SQL statement meta information entered by the user;
A DBIO server for generating an encrypted SQL statement using encryption meta information matched with the SQL statement meta information and providing the encrypted SQL statement to the framework IDE; And
And an encryption server for providing encryption meta information matched with the SQL statement meta information to the DBIO server, wherein the meta information and the enterprise framework are used.
제1항에 있어서,
상기 암호화 SQL문을 실행시켜, 상기 암호화 SQL문 내의 암호화된 개인정보를 복호화시키는 웹 애플리케이션 서버(WAS)를 더 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템.
The method according to claim 1,
And a web application server (WAS) for executing the encrypted SQL statement and decrypting the encrypted private information in the encrypted SQL statement, using the meta information and the enterprise framework.
제2항에 있어서,
상기 복호화된 개인정보를 암호화하여 저장하는 데이터베이스 관리 서버를 더 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템.
3. The method of claim 2,
And a database management server for encrypting and storing the decrypted personal information, wherein the system comprises a meta information server and an enterprise framework.
제1항에 있어서,
상기 프레임웍 IDE은
상기 DBIO 서버로 상기 SQL문 메타정보와 관련된 SQL문 생성을 요청하는 DBIO 모듈을 포함하는 것을 특징으로 하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템.
The method according to claim 1,
The framework IDE
And a DBIO module for requesting the DBIO server to generate an SQL statement related to the SQL statement meta information.
제4항에 있어서,
상기 DBIO 서버는
상기 암호화 서버에 상기 SQL문 메타정보와 매칭되는 암호화 메타정보가 존재하는 지 여부를 확인 및 요청하는 메타정보 검증부; 및
상기 DBIO 모듈에서 제공된 정보와 상기 암호화 서버에서 전달한 암호화 메타정보를 이용하여, 조회 및 입력에 따라 서로 상이하게 처리되는 암호화 SQL문을 생성하는 암호화 SQL문 생성부를 포함하는 것을 특징으로 하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템.
5. The method of claim 4,
The DBIO server
A meta information verification unit for checking whether the encryption meta information matched with the SQL statement meta information is present in the encryption server; And
And an encrypted SQL statement generator for generating an encrypted SQL statement that is processed differently according to inquiry and input using the information provided by the DBIO module and the encryption meta information transmitted from the encryption server, An Automated Creation of SQL Statements Using Frameworks.
제5항에 있어서,
상기 암호화 서버는
메타 ID, 테이블명, 칼럼명, 정책명과 관련된 암호화 메타정보를 저장한 암호화 메타정보 리포지터리; 및
상기 DBIO 서버에서 제공된 요청정보에 기초하여, 상기 DBIO 모듈에서 전달된 상기 SQL문 메타정보와 매칭되는 암호화 메타정보를 상기 리포지터리에서 추출하여 상기 DBIO 서버로 제공하는 암호화 메타정보 제공부를 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템.
6. The method of claim 5,
The encryption server
An encryption meta information repository storing encryption meta information related to the meta ID, the table name, the column name, and the policy name; And
And an encryption meta information providing unit for extracting encryption meta information matched with the SQL statement meta information transmitted from the DBIO module from the repository based on the request information provided from the DBIO server and providing the extracted meta information to the DBIO server, An automated SQL statement generation system using an enterprise framework.
프레임웍 IDE를 이용하여 SQL문 생성을 DBIO 서버에 요청하는 제1 단계;
상기 DBIO 서버에서 요청된 SQL문을 파싱하여 SQL문 메타정보와 매칭되는 암호화 메타정보의 조회를 암호화 서버로 요청하는 제2 단계;
상기 암호화 서버에서 상기 SQL문 메타정보와 등록된 암호화 메타정보가 일치하는지 여부를 판단하는 제3 단계;
상기 암호화 서버의 판단결과에 기초하여 암호화 메타정보를 DBIO 서버로 반환 또는 비반환하는 제4 단계;
상기 암호화 서버에서 상기 암호화 메타정보의 반환여부에 따라 암호화 SQL문 또는 평문 SQL문을 생성하는 제5 단계; 및
상기 DBIO 서버에서 암호화 SQL문 또는 평문 SQL문을 프레임웍 IDE로 제공하는 제6 단계를 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 SQL문 자동 생성 방법.
A first step of requesting a DBIO server to generate an SQL statement using a framework IDE;
A second step of parsing the SQL statement requested by the DBIO server and requesting the encryption server to inquire the encryption meta information matched with the SQL statement meta information;
A third step of determining whether or not the SQL statement meta information matches the registered encryption meta information in the encryption server;
A fourth step of returning or not returning the encryption meta information to the DBIO server based on the determination result of the encryption server;
A fifth step of generating an encrypted SQL statement or a plain text SQL statement according to whether the encryption meta information is returned from the encryption server; And
And providing the encrypted SQL statement or the plain-text SQL statement to the framework IDE in the DBIO server. The method of automatically generating an SQL statement using meta information and an enterprise framework.
제7항에 있어서,
상기 제6 단계 이후, 상기 프레임웍 IDE에서 웹 애플리케이션 서버의 애플리케이션 컨테이너를 통해 담당 업무를 디플로이하는 단계를 더 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 방법.
8. The method of claim 7,
Further comprising the step of, after the sixth step, deploying a service in the framework IDE via an application container of the web application server, and automatically generating an encrypted SQL statement using meta information and an enterprise framework.
제8항에 있어서,
상기 웹 애플리케이션 서버에서 상기 DBIO 서버에서 생성한 암호화 SQL문 또는 평문 SQL문을 실행하여 이상 유무를 확인하는 단계를 더 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 방법.
9. The method of claim 8,
Further comprising the step of executing an encrypted SQL statement or a plain-text SQL statement generated by the DBIO server in the web application server to check whether there is an abnormality, and automatically generating an encrypted SQL statement using the meta information and the enterprise framework.
제9항에 있어서,
데이터베이스 관리 서버에서 상기 암호화 SQL문이 암호화된 개인정보를 복호화하고, 복호화된 개인정보가 암호화되어 상기 데이터베이스 관리 서버에 저장되는 단계를 더 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 방법.
10. The method of claim 9,
Further comprising the steps of: decrypting the private information encrypted with the encrypted SQL statement in the database management server, and encrypting the decrypted private information and storing the decrypted private information in the database management server, using the meta information and the enterprise framework.
KR1020170061815A 2017-05-18 2017-05-18 System and Method for automatic generation and execution of encryption SQL statements using meta-information and enterprise framework KR101979320B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170061815A KR101979320B1 (en) 2017-05-18 2017-05-18 System and Method for automatic generation and execution of encryption SQL statements using meta-information and enterprise framework

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170061815A KR101979320B1 (en) 2017-05-18 2017-05-18 System and Method for automatic generation and execution of encryption SQL statements using meta-information and enterprise framework

Publications (2)

Publication Number Publication Date
KR20180126853A true KR20180126853A (en) 2018-11-28
KR101979320B1 KR101979320B1 (en) 2019-05-16

Family

ID=64561610

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170061815A KR101979320B1 (en) 2017-05-18 2017-05-18 System and Method for automatic generation and execution of encryption SQL statements using meta-information and enterprise framework

Country Status (1)

Country Link
KR (1) KR101979320B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111224930A (en) * 2019-10-11 2020-06-02 上海海典软件股份有限公司 Data security transmission method, system, computer equipment and readable storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102586375B1 (en) 2023-03-24 2023-10-06 한국정보통신기술협회 Apparatus for generating automatically SQL statements using random expression and method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310126A (en) * 2004-03-26 2005-11-04 Ntt Neomate Corp Distributed data storage device, data constitution management server therefor, client terminal, and job consignment system comprising distributed data storage device
KR100919824B1 (en) * 2007-12-20 2009-10-01 한국전자통신연구원 Data encryption apparatus and encryption method using by it
KR20100135533A (en) 2009-06-17 2010-12-27 이니텍(주) Method for converting user programs or queries into automated ones for transparent data encryption
KR20130079607A (en) * 2011-11-11 2013-07-10 닛본 덴끼 가부시끼가이샤 Database encryption system, method, and program
JP2016206918A (en) * 2015-04-22 2016-12-08 株式会社日立製作所 Encrypted database system and encrypted data management method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310126A (en) * 2004-03-26 2005-11-04 Ntt Neomate Corp Distributed data storage device, data constitution management server therefor, client terminal, and job consignment system comprising distributed data storage device
KR100919824B1 (en) * 2007-12-20 2009-10-01 한국전자통신연구원 Data encryption apparatus and encryption method using by it
KR20100135533A (en) 2009-06-17 2010-12-27 이니텍(주) Method for converting user programs or queries into automated ones for transparent data encryption
KR20130079607A (en) * 2011-11-11 2013-07-10 닛본 덴끼 가부시끼가이샤 Database encryption system, method, and program
JP2016206918A (en) * 2015-04-22 2016-12-08 株式会社日立製作所 Encrypted database system and encrypted data management method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111224930A (en) * 2019-10-11 2020-06-02 上海海典软件股份有限公司 Data security transmission method, system, computer equipment and readable storage medium
CN111224930B (en) * 2019-10-11 2023-10-10 上海海典软件股份有限公司 Data security transmission method, system, computer equipment and readable storage medium

Also Published As

Publication number Publication date
KR101979320B1 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
US8565422B2 (en) Method and system for enryption key versioning and key rotation in a multi-tenant environment
US8245037B1 (en) Encryption key management
US11290446B2 (en) Access to data stored in a cloud
WO2013069770A1 (en) Database device, method and program
US8386608B1 (en) Service scripting framework
US8848922B1 (en) Distributed encryption key management
US9954900B2 (en) Automating the creation and maintenance of policy compliant environments
US8284942B2 (en) Persisting private/public key pairs in password-encrypted files for transportation to local cryptographic store
JP2022530150A (en) Systems and methods for maintaining invariant data access logs with privacy
KR101979320B1 (en) System and Method for automatic generation and execution of encryption SQL statements using meta-information and enterprise framework
US10826693B2 (en) Scalable hardware encryption
CN112783847B (en) Data sharing method and device
EP3809300A1 (en) Method and apparatus for data encryption, method and apparatus for data decryption
AU2010336503B2 (en) Securing execution of computational resources
WO2023279698A1 (en) Data transmission method and system, computer device and storage medium
CN113204776B (en) Method, device, equipment and storage medium for realizing column encryption
US11709956B2 (en) Secure data broker
Giblin et al. Securing Kafka with encryption-at-rest
US11271738B1 (en) Secure, reliable, and decentralized communication in cloud platform
KR20150124087A (en) Mobile document conversion system and method of encryption applied
CN117093961A (en) Apk reinforcement method, tool, computing device and storage medium
CN117149460A (en) Data transmission method, device, equipment and storage medium
CN113986342A (en) Data processing method and device and electronic equipment
CN117931906A (en) Method and device for connecting multiple data sources, computer equipment and storage medium
CN116244671A (en) Authentication method, authentication device, electronic equipment and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right