KR101979320B1 - 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 sql문 자동 생성 시스템 및 방법 - Google Patents

메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 sql문 자동 생성 시스템 및 방법 Download PDF

Info

Publication number
KR101979320B1
KR101979320B1 KR1020170061815A KR20170061815A KR101979320B1 KR 101979320 B1 KR101979320 B1 KR 101979320B1 KR 1020170061815 A KR1020170061815 A KR 1020170061815A KR 20170061815 A KR20170061815 A KR 20170061815A KR 101979320 B1 KR101979320 B1 KR 101979320B1
Authority
KR
South Korea
Prior art keywords
sql statement
encryption
server
meta information
dbio
Prior art date
Application number
KR1020170061815A
Other languages
English (en)
Other versions
KR20180126853A (ko
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/ko
Publication of KR20180126853A publication Critical patent/KR20180126853A/ko
Application granted granted Critical
Publication of KR101979320B1 publication Critical patent/KR101979320B1/ko

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
    • 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

본 발명의 일 실시예에 따른 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템은 사용자가 입력한 SQL문 메타정보를 기반으로 SQL문 생성을 요청하는 프레임웍 IDE; 상기 SQL문 메타정보와 매칭되는 암호화 메타정보를 이용하여 암호화 SQL문을 생성한 후, 상기 프레임웍 IDE으로 제공하는 DBIO 서버; 및 상기 SQL문 메타정보와 매칭되는 암호화 메타정보를 상기 DBIO 서버로 제공하는 암호화 서버를 포함한다.

Description

메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템 및 방법{System and Method for automatic generation and execution of encryption SQL statements using meta-information and enterprise framework}
본 발명은 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템 및 방법에 관한 것이다.
주민등록번호와 같은 개인 신상 정보를 데이터베이스 관리시스템(Database Management System; 이하, DBMS)에 일정 규모 이상 보관 시엔 해당 정보를 암호화하여 저장하도록 법제화되어 있다.
대용량 개인정보를 관리하는 조직의 경우, DBMS의 소프트웨어에 외부 암호화 패키지를 등록한 후, DBMS에 전달된 구조화 질의어(Structured query language; 이하, SQL)문이 수행될 때, 등록된 외부 함수를 호출하면서 암호화 처리를 하는 방식은 성능 측면에서 상당히 비효율적이다.
왜냐하면, DBMS 네이티브 프로세스와 외부 패키지간의 IPC(Inter-Process Call) 오버헤드 혹은 JNI(Java Native Interface) 오버헤드 및 각 구간 간 데이터 카피 오버헤드가 존재하기 때문이다.
또한, 보안성 측면에서도 DBMS 외부로 복호화된 개인정보들이 네트워크 단에 노출된다는 측면에서 안전하지 못하다.
즉, 개인정보 복호화가 필요한 업무의 경우 해당 정보가 이미 DBMS내에서 복호화된 이후 평문 형태로 WAS/Web 서버 등으로 전달되는 문제가 있다.
부가적으로 상기와 같은 조직의 업무들은 DBMS, WAS(Web Application Server) 등과 같은 엔터프라이즈용 시스템 소프트웨어를 기반으로 구현된 경우가 대다수이며 해당 업무 역시 별도의 엔터프라이즈급(예, 금융권) 개발 프레임웍을 기반으로 구현되어 있다.
특히, 데이터베이스 관리서버(DBMS)에 저장된 정보를 업무에서 이용하는 경우, DBIO라는 공통 모듈을 사용하여 업무를 개발하는 것이 업계 표준이다.
DBIO 모듈이 제공하는 대표 기능은 SQL문 생성 기능이다.
프레임웍에서 제공하는 개발용 IDE(Integrated Development Environment)를 통해 업무 개발자는 SQL문을 유형 및 업무 요건에 따라 자동 생성/갱신/삭제 관리할 수 있으며, 프레임웍은 DBIO 모듈을 통해 자동 생성된 SQL문을 포함한 비즈니스 로직 구문을 담는 최종 업무 소스를 생성/빌드해주는 기능을 제공해준다.
기존의 DB암호화 솔루션들은 단품 솔루션으로써 암복호화 기능만을 라이브러리 형태로 제공함으로써 언급한 엔터프라이즈급 개발 환경에 적용하는 데 있어 다수의 개발자들이 제각각 수동으로 해당 암복호화 API(Application programming interface) 기능을 SQL문 혹은 비즈니스 로직에 직접 수동으로 프로그래밍하여야 하는 상황이며 이는 개발 생산성 측면에서도 비효율적이다.
대한민국 공개특허공보 제10-2010-0135533호 (발명의 명칭: 응용 프로그램의 암호화 데이터베이스 자동 연동 방법)
본 발명은 상기 문제점을 해결하기 위하여 창안된 것으로서, 데이터 암호화 기능을 단순 라이브러리로 제공하는데 그치지 않고, 엔터프라이즈급 프레임웍과 연동하도록 하여 비즈니스 로직 개발시, 등록된 암호화 메타정보를 활용하여 자동화된 암복호화 API 적용이 가능하도록 하여, 성능, 보안성, 개발 생산성 측면에서의 효율성을 제고하도록 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템 및 방법을 제공하는 데 그 목적이 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 “메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템”은 사용자가 입력한 접근대상 테이블명, 접근유형(select/insert/update/delete), 칼럼명, 조건(이하 SQL문 메타정보)을 입력받아 SQL문 생성을 요청하는 프레임웍 IDE; 상기 프레임웍 IDE에서 입력된 SQL문 메타정보와 매칭되는 암호화 메타정보(테이블명, 칼럼명, 정책명)를 이용하여 암호화 SQL문을 자동 생성한 후, 상기 프레임웍 IDE으로 제공하는 DBIO 서버; 및 암호화 메타정보를 DBIO 서버로 제공하는 암호화 서버를 포함한다.
일 실시예에서, 상기 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템은 암호화 SQL문을 실행시켜, 암호화 SQL문에 전달된 개인정보를 암/복호화시키는 웹 애플리케이션 서버(WAS) 더 포함한다.
일 실시예에서, 상기 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템은 개인정보를 암호화하여 저장하는 데이터베이스 관리 서버(DBMS)를 더 포함한다.
일 실시예에서, 상기 프레임웍 IDE는 DBIO 서버로 암호화 메타정보를 기반으로 SQL문 생성을 요청하는 DBIO 모듈을 포함한다.
일 실시예에서, 상기 DBIO 서버는 암호화 서버에 SQL문 메타정보와 매칭되는 암호화 메타정보가 존재하는 지 여부를 확인하는 메타정보 검증부; 및 상기 DBIO 모듈에서 제공된 정보와 암호화 서버에서 전달한 암호화 메타정보를 이용하여, 조회 및 입력에 따라 서로 상이하게 처리되는 암호화 SQL문을 생성하는 암호화 SQL문 생성부를 포함한다.
일 실시예에서, 상기 암호화 서버는 암호화 메타정보를 저장하는 암호화 메타정보 리포지터리; 및 상기 DBIO 서버에서 제공된 요청정보에 기초하여, 암호화 리포지터리에서 해당 값을 추출하여 상기 DBIO 서버로 제공하는 암호화 메타정보 제공부를 포함한다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 방법은 프레임웍 IDE를 이용하여 SQL문 생성을 DBIO 서버에 요청하는 제1 단계; 상기 DBIO 서버에서 입력된 값에 매칭되는 암호화 메타정보의 조회를 암호화 서버로 요청하는 제2 단계; 상기 암호화 서버에서 상기 SQL문 메타정보와 등록된 암호화 메타정보가 일치하는지 여부를 판단하는 제3 단계; 상기 암호화 서버의 판단결과에 기초하여 암호화 메타정보를 DBIO 서버로 반환 또는 비반환하는 제4 단계; 상기 암호화 서버에서 상기 암호화 메타정보의 반환여부에 따라 암호화 SQL문을 생성하는 제5 단계; 및 상기 DBIO 서버에서 암호화 SQL문을 프레임웍 IDE로 제공하는 제6 단계를 포함한다.
일 실시예에서, 상기 제6 단계 이후, 상기 프레임웍 IDE에서 웹 애플리케이션 서버의 애플리케이션 컨테이너를 통해 담당 업무를 디플로이하는 단계를 더 포함한다.
일 실시예에서, 상기 웹 애플리케이션 서버에서 상기 DBIO 서버에서 생성한 암호화 SQL문을 실행하여 이상 유무를 확인하는 단계를 더 포함한다.
일 실시예에서, 데이터베이스 관리 서버에서 상기 암호화 SQL문을 통해 암호화된 개인정보를 상기 데이터베이스 관리 서버에 저장되는 단계를 더 포함한다.
상기한 과제의 해결 수단은 본 발명의 특징을 모두 열거한 것은 아니다. 본 발명의 과제 해결을 위한 다양한 수단들은 이하의 상세한 설명의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.
본 발명에 따르면, DBMS단에서 암복호화를 수행하는 것은 성능 측면에서 웹 애플리케이션 서버(WAS) 단에서 라이브러리 호출하는 것 대비 수십배 이상의 성능 오버헤드가 존재하는 것으로 파악이 되며, 본 발명의 방법을 통해 암복호화 위치를 인위적으로 WAS단으로 이전 시킬 수 있다는 이점이 있다.
또한, 보안 측면에서는 WAS단에서의 암복호화 수행으로 인해 WAS에서 DBMS로의 데이터 전달은 암호화된 형태의 개인정보만이 가능하도록 강제함으로써 기존 방식 대비 보안성을 향상시키는 효과를 기대할 수 있다.
개발 생산성 제고 측면에서는 정량적으로 그 효과를 기술하기는 어려우나 기존 방식처럼 다수의 개발자가 제각각 암복호화 API를 사용하여 수동으로 SQL문들을 생성/수정하는 것보다는 프레임웍과 연동하여 자동으로 생성해줌으로써 효율적인 업무 개발에 도움이 된다는 점은 명확하며 특히 규모가 큰 조직일수록 이로 인한 개발 비용 절감 효과는 분명하다고 할 수 있다.
도 1 은 본 발명의 일 실시예에 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템을 나타낸 블록도이다.
도 2는 도 1에 도시된 DBIO 서버의 블록도이다.
도 3은 도 1에 도시된 암호화 서버의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 방법의 흐름도이다.
도 5는 도 1에 도시된 프레임웍 IDE의 암호화 정책 편집기 UI를 통한 SQL문 메타정보 입력 화면 예시도이다.
도 6은 암호화 SQL문 생성을 위해 개발자가 입력하는 프레임웍 IDE 내 DBIO SQL문 편집 화면 예시도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예에 따른 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템 및 방법를 보다 상세하게 설명하도록 한다.
도 1 은 본 발명의 일 실시예에 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템을 나타낸 블록도이다.
도 1에 도시된 바와같이, 본 발명의 일 실시예에 따른 SQL 문 자동 생성 시스템(100)은 프레임웍 IDE(200), DBIO 서버(300), 암호화 서버(400), 웹 애플리케이션 서버(Web application server)(500), DBMS(600)를 포함하여 이루어진 웹 기반 구조에서 구현된다.
상기 프레임웍 IDE(200)은 사용자가 입력한 SQL문 메타정보를 입력받아 SQL문 생성을 요청한다.
상기 프레임웍 IDE(200)은 엔터프라이즈급 프레임웍에서 비즈니스 로직을 구현하기 위해 사용되는 사용자 인터페이스(툴)일 수 있다.
상기 프레임웍 IDE(200)은 다양한 업무의 실행을 위해 필요한 시스템 모듈 또는 타 업무 모듈/공통 모듈등을 통합 패키징하는데 필요한 기능들을 제공한다.
여기서, 상기 프레임웍 IDE(200)은 DBIO 모듈(210)을 포함한다. 상기 DBIO 모듈(210)은 업무 개발자에게 SQL문 메타정보를 입력 및 수정할 수 있는 사용자 인터페이스(UI)를 제공하는 기능을 한다(도 5 및 도 6 참조).
도 2는 도 1에 도시된 DBIO 서버의 블록도이다.
도 2를 참조하면, 상기 DBIO 서버(300)는 상기 프레임웍 IDE(200)에서 입력한 SQL문 메타정보와 매칭되는 암호화 메타정보를 이용하여 암호화 SQL문을 생성한 후, 상기 프레임웍 IDE(200)으로 제공한다.
보다 구체적으로, 상기 DBIO 서버(300)는 메타정보 검증부(310), SQL문 생성부(320) 및 암호화 SQL 리포지터리(330)를 포함한다.
상기 메타정보 검증부(310)는 암호화 서버(400)에 상기 SQL문 메타정보와 매칭되는 암호화 메타정보가 존재하는 지 여부를 확인 및 요청한다.
상기 SQL문 생성부(320)는 상기 DBIO 모듈(210)에서 제공된 정보와 상기 암호화 서버(400)에서 전달한 암호화 메타정보를 이용하여, 조회 및 입력에 따라 서로 상이하게 처리되는 암호화 SQL문 또는 평문 SQL문을 생성한다.
상기 암호화 SQL 리포지터리(330)는 상기 SQL문 생성부(320)에서 생성된 암호화 SQL문 또는 평문 SQL문을 저장한다.
도 3은 도 1에 도시된 암호화 서버의 블록도이다.
도 3을 참조하면, 상기 암호화 서버(400)는 상기 SQL문 메타정보와 매칭되는 암호화 메타정보를 상기 DBIO 서버(300)로 제공한다.
보다 구체적으로, 상기 암호화 서버(400)는 적어도 하나 이상의 암호화 메타정보 리포지터리(410) 및 암호화 메타정보 제공부(420)를 포함한다.
상기 암호화 메타정보 리포지터리(410)는 메타 ID, 테이블명, 칼럼명, 정책명을 저장한다.
상기 암호화 메타정보 제공부(420)는 상기 DBIO 서버(300)에서 제공된 요청정보에 기초하여, 상기 DBIO 모듈(210)에서 전달된 상기 SQL문 메타정보와 매칭되는 암호화 메타정보를 상기 암호화 메타정보 리포지터리(410)에서 추출하여 상기 DBIO 서버(300)로 제공한다.
한편, 본 발명의 일 실시예에 따른 암호화 SQL문 자동 생성 시스템(100)은 DBIO 서버(300)에서 생성된 상기 암호화 SQL문을 실행시켜, 상기 암호화 SQL문 내의 암호화된 개인정보를 복호화시키는 웹 애플리케이션 서버(Web Application Server; 이하, WAS)(500)를 더 포함한다.
또한, 상기 복호화된 개인정보를 암호화하여 저장하는 데이터베이스 관리 서버(Database management system; 이하 DBMS)(600)를 더 포함할 수 있다.
이하에서는 상술한 프레임웍 IDE(200), DBIO 서버(300), 암호화 서버(400)의 구성 및 동작을 보다 상세하세 서술하도록 한다.
프레임웍 IDE(200)는 평문 SQL문(201), DBIO 모듈(210), 암호화 SQL문(202)으로 구성되며, 그 세부 기능을 살피면 다음과 같다.
- 프레임웍 IDE -
평문 SQL문(201)은 접근대상 정보가 암호화되지 않은 경우 사용하는 일반적인 SQL문이다.
평문 SQL문을 통해 암호화 대상 정보에 접근하는 경우, 조회(select)의 경우엔 암호화된 문자열이 반환되게 되며 입력(insert/update)의 경우 평문 형태의 문자열이 저장되게 된다.
따라서, 암호화 대상 정보에 접근시엔 DBIO 모듈(210)을 통해 암호화 SQL문(202) 생성 요청하여 반환된 결과를 이용하여 개인정보를 처리하여야 한다.
DBIO 모듈(210)의 경우, 프레임웍 IDE(200)에서 제공하는 인터페이스를 통해 개발자에게 SQL문 메타정보를 입력받아 해당 정보를 DBIO 서버(300)에 전송한다.
이후 반환된 암호화 SQL문(202)은 암호화 대상 칼럼에 대해 암복호화 API 및 정책을 파라미터로 전달하는 형태로 자동 변경된다.
예를 들어, 평문 SQL문(201)이 “select A from T”라고 가정하고, 해당 칼럼 A가 주민번호와 같은 개인정보를 저장하고 있고 주민번호를 P라는 암호화 정책을 써서 암호화하였다면, DBIO 모듈(210)이 이를 자동으로 암호화 SQL문인 “select dec(A, P) from T”과 동일한 기능을 수행하는 호스트 변수 기반의 업무 코드로 자동 생성한다.
- DBIO 서버 -
DBIO 서버(300)는 DBIO 모듈(210)로부터 요청을 받아 해당 정보가 암호화 서버(400)에 메타 형태로 존재하는 지 확인하는 메타정보 검증부(310)와 반환된 메타정보를 적용한 신규 SQL문을 생성하는 SQL문 생성부(320)로 구성된다.
메타정보 검증부(310)는 암호화 서버(400)에 테이블/칼럼명을 전달하여 암호화 메타정보를 전달받는 역할을 한다. 전달된 암호화 메타정보는 메타ID, 테이블명, 칼럼명, 정책명 등을 포함한다.
암호화 SQL문 생성부(320)는 메타 검증부(310)에서 전달한 메타정보와 DBIO 모듈(210)에서 전달한 정보(SQL문 메타정보)를 통합하여 조회의 경우 복호화 API와 정책명, 입력의 경우 암호화 API와 정책명을 입력으로 처리하는 암호화 SQL문을 생성하고 이를 DBIO 모듈(210)로 반환한다.
- 암호화 서버 -
암호화 서버(400)는 분산 환경에서의 암호화 인프라를 관장하는 역할을 하며, 상기 암호화 서버(400)는 적어도 하나 이상의 암호화 메타정보 리포지터리(410) 및 암호화 메타정보 제공부(420)를 포함한다.
암호화 메타정보 리포지터리(410)는 메타ID, 테이블명, 칼럼명, 정책명 등을 저장한다.
암호화 정책 정보는 특정 정보를 암호화할 때 어떤 암호화 알고리즘을 사용할 것인지, 어떤 암호화 키를 사용할 것인지, 블록 암호화 시 사용되는 초기 벡터값(Initial Vector: IV)는 랜덤값을 사용할 지 또는 고정값을 사용할지, 접근제어는 어떻게 할지, 감사 정책은 어떻게 할지를 정의한 내용이다.
칼럼 별로 별도의 정책을 가지고 갈수도 있고, 업무별로 표준화 정책을 정의해서 운영할 수도 있다.
암호화 메타정보 리포지터리(410)는 위와 같이 암호화 정책을 정의할 때 별도의 관리 인터페이스를 통해 보안 관리자로부터 등록받는다.
도 4는 본 발명의 일 실시예에 따른 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 방법의 흐름도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 암호화 SQL 문 자동 생성 방법(S700)은 사용자가 프레임웍 IDE(200)를 이용하여 SQL문 생성을 DBIO 서버(300)에 요청(S710)하면, 상기 DBIO 서버(300)에서 요청된 SQL문을 파싱하여 SQL문 메타정보와 매칭되는 암호화 메타정보의 조회를 암호화 서버로 요청(S720)한다.
보다 구체적으로, S720은 상기 암호화 서버(300)에 상기 SQL문 메타정보와 매칭되는 암호화 메타정보가 존재하는 지 여부를 확인 및 요청한 후, 상기 DBIO 모듈에서 제공된 정보와 상기 암호화 서버에서 전달한 암호화 메타정보를 이용하여, 조회 및 입력에 따라 서로 상이하게 처리되는 암호화 SQL문을 생성하는 과정을 포함할 수 있다.
이후, 상기 암호화 서버(400)에서 상기 SQL문 메타정보와 등록된 암호화 메타정보가 일치하는지 여부를 판단(S730)한 후, 상기 암호화 서버(400)의 판단결과에 기초하여 암호화 메타정보를 DBIO 서버(300)로 반환(S741) 또는 비반환(S742)되면, 상기 DBIO 서버(300)에서 상기 암호화 메타정보의 반환여부에 따라 암호화 SQL문 또는 평문 SQL문을 생성(S750)한 후, 상기 DBIO 서버(300)에서 암호화 SQL문 또는 평문 SQL문을 프레임웍 IDE(200)로 반환(S760)한다.
상기 프레임웍 IDE(200)는 웹 애플리케이션 서버의 애플리케이션 컨테이너를 통해 담당 업무를 디플로(S770)하게 되고, 상기 웹 애플리케이션 서버(500)에서 상기 DBIO 서버(300)에서 생성한 암호화 SQL문 또는 평문 SQL문을 실행하여 이상 유무를 확인(S780)한다.
이후, 데이터베이스 관리 서버(600)에서 상기 암호화 SQL문이 암호화된 개인정보를 복호화하고, 복호화된 개인정보가 암호화되어 상기 데이터베이스 관리 서버(600)에 실행 및 저장(S790)한다.
상기 웹 애플리케이션 서버(400)는 CGI, Servlet, ASP, JSP, PHP 등의 프로그램을 이용한다.
따라서, 본 발명에 따르면, 데이터베이스 관리서버(DBMS) 단에서 암복호화를 수행하는 것은 성능 측면에서 웹 애플리케이션 서버(WAS) 단에서 라이브러리 호출하는 것 대비 수십배 이상의 성능 오버헤드가 존재하는 것으로 파악이 되며, 본 발명의 시스템 및 방법을 통해 암복호화 위치를 인위적으로 웹 애플리케이션 서버(WAS) 단으로 이전 시킬 수 있다는 이점이 있다.
또한, 보안 측면에서는 웹 애플리케이션 서버(WAS) 단에서의 암복호화 수행으로 인해 웹 애플리케이션 서버(WAS)에서 데이터베이스 관리 서버(DBMS)로의 데이터 전달은 암호화된 형태의 개인정보만이 가능하도록 강제함으로써 기존 방식 대비 보안성을 향상시키는 효과를 기대할 수 있다.
개발 생산성 제고 측면에서는 정량적으로 그 효과를 기술하기는 어려우나 기존 방식처럼 다수의 개발자가 제각각 암복호화 API를 사용하여 수동으로 SQL문들을 생성/수정하는 것보다는 프레임웍과 연동하여 자동으로 생성해줌으로써 효율적인 업무 개발에 도움이 되고, 특히 규모가 큰 조직일수록 이로 인한 개발 비용 절감 효과를 갖는다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
100: 암호화 SQL문 자동 생성 시스템
200: 프레임웍 IDE
210: DBIO 모듈
300: DBIO 서버
310: 메타정보 검증부
320: SQL문 생성부
330: 암호화 SQL 리포지터리
400: 암호화 서버
410: 암호화 메타정보 리포지터리
420: 암호화 메타정보 제공부
500: 웹 애플리케이션 서버(WAS)
600: 데이터베이스 관리 서버(DBMS)

Claims (10)

  1. 사용자가 입력한 SQL문 메타정보를 기반으로 SQL문 생성을 요청하는 프레임웍 IDE;
    상기 SQL문 메타정보와 매칭되는 암호화 메타정보를 이용하여 암호화 SQL문을 생성한 후, 상기 프레임웍 IDE으로 제공하는 DBIO 서버; 및
    상기 SQL문 메타정보와 매칭되는 암호화 메타정보를 상기 DBIO 서버로 제공하는 암호화 서버를 포함하고,
    상기 프레임웍 IDE은 상기 DBIO 서버로 상기 SQL문 메타정보와 관련된 SQL문 생성을 요청하는 DBIO 모듈을 포함하고,
    상기 DBIO 서버는
    상기 암호화 서버에 상기 SQL문 메타정보와 매칭되는 암호화 메타정보가 존재하는 지 여부를 확인 및 요청하는 메타정보 검증부; 및
    상기 DBIO 모듈에서 제공된 정보와 상기 암호화 서버에서 전달한 암호화 메타정보를 이용하여, 조회 및 입력에 따라 서로 상이하게 처리되는 암호화 SQL문을 생성하는 암호화 SQL문 생성부를 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템.
  2. 제1항에 있어서,
    상기 암호화 SQL문을 실행시켜, 상기 암호화 SQL문 내의 암호화된 개인정보를 복호화시키는 웹 애플리케이션 서버(WAS)를 더 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템.
  3. 제2항에 있어서,
    상기 복호화된 개인정보를 암호화하여 저장하는 데이터베이스 관리 서버를 더 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템.
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    상기 암호화 서버는
    메타 ID, 테이블명, 칼럼명, 정책명과 관련된 암호화 메타정보를 저장한 암호화 메타정보 리포지터리; 및
    상기 DBIO 서버에서 제공된 요청정보에 기초하여, 상기 DBIO 모듈에서 전달된 상기 SQL문 메타정보와 매칭되는 암호화 메타정보를 상기 리포지터리에서 추출하여 상기 DBIO 서버로 제공하는 암호화 메타정보 제공부를 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 시스템.
  7. 프레임웍 IDE를 이용하여 SQL문 생성을 DBIO 서버에 요청하는 제1 단계;
    상기 DBIO 서버에서 요청된 SQL문을 파싱하여 SQL문 메타정보와 매칭되는 암호화 메타정보의 조회를 암호화 서버로 요청하는 제2 단계;
    상기 암호화 서버에서 상기 SQL문 메타정보와 등록된 암호화 메타정보가 일치하는지 여부를 판단하는 제3 단계;
    상기 암호화 서버의 판단결과에 기초하여 암호화 메타정보를 DBIO 서버로 반환 또는 비반환하는 제4 단계;
    상기 암호화 서버에서 상기 암호화 메타정보의 반환여부에 따라 암호화 SQL문 또는 평문 SQL문을 생성하는 제5 단계; 및
    상기 DBIO 서버에서 암호화 SQL문 또는 평문 SQL문을 프레임웍 IDE로 제공하는 제6 단계를 포함하고,
    상기 제6 단계 이후, 상기 프레임웍 IDE에서 웹 애플리케이션 서버의 애플리케이션 컨테이너를 통해 담당 업무를 디플로이하는 제7 단계를 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 방법.
  8. 삭제
  9. 제7항에 있어서,
    상기 웹 애플리케이션 서버에서 상기 DBIO 서버에서 생성한 암호화 SQL문 또는 평문 SQL문을 실행하여 이상 유무를 확인하는 단계를 더 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 방법.
  10. 제9항에 있어서,
    데이터베이스 관리 서버에서 상기 암호화 SQL문이 암호화된 개인정보를 복호화하고, 복호화된 개인정보가 암호화되어 상기 데이터베이스 관리 서버에 저장되는 단계를 더 포함하는 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 SQL문 자동 생성 방법.
KR1020170061815A 2017-05-18 2017-05-18 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 sql문 자동 생성 시스템 및 방법 KR101979320B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170061815A KR101979320B1 (ko) 2017-05-18 2017-05-18 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 sql문 자동 생성 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170061815A KR101979320B1 (ko) 2017-05-18 2017-05-18 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 sql문 자동 생성 시스템 및 방법

Publications (2)

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

Family

ID=64561610

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170061815A KR101979320B1 (ko) 2017-05-18 2017-05-18 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 sql문 자동 생성 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101979320B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102586375B1 (ko) 2023-03-24 2023-10-06 한국정보통신기술협회 랜덤 표현식을 이용한 sql문 자동 생성 장치 및 그 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111224930B (zh) * 2019-10-11 2023-10-10 上海海典软件股份有限公司 数据安全传输方法、系统、计算机设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310126A (ja) 2004-03-26 2005-11-04 Ntt Neomate Corp データ分散格納装置、そのデータ構成管理サーバ、クライアント端末、および、データ分散格納装置を備えた業務委託システム
KR100919824B1 (ko) 2007-12-20 2009-10-01 한국전자통신연구원 데이터 암호화 장치와 이를 이용한 암호화 방법
JP2016206918A (ja) 2015-04-22 2016-12-08 株式会社日立製作所 秘匿化データベースシステム及び秘匿化データ管理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101100724B1 (ko) 2009-06-17 2011-12-29 이니텍(주) 암호화 데이터베이스와 응용 프로그램간의 데이터 처리 방법
EP2778951B1 (en) * 2011-11-11 2017-04-26 NEC Corporation Database encryption system, method and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310126A (ja) 2004-03-26 2005-11-04 Ntt Neomate Corp データ分散格納装置、そのデータ構成管理サーバ、クライアント端末、および、データ分散格納装置を備えた業務委託システム
KR100919824B1 (ko) 2007-12-20 2009-10-01 한국전자통신연구원 데이터 암호화 장치와 이를 이용한 암호화 방법
JP2016206918A (ja) 2015-04-22 2016-12-08 株式会社日立製作所 秘匿化データベースシステム及び秘匿化データ管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102586375B1 (ko) 2023-03-24 2023-10-06 한국정보통신기술협회 랜덤 표현식을 이용한 sql문 자동 생성 장치 및 그 방법

Also Published As

Publication number Publication date
KR20180126853A (ko) 2018-11-28

Similar Documents

Publication Publication Date Title
US8230222B2 (en) Method, system and computer program for deploying software packages with increased security
EP1680727B1 (en) Distributed document version control
US8245037B1 (en) Encryption key management
US11290446B2 (en) Access to data stored in a cloud
US8812683B2 (en) Service scripting framework
US9954900B2 (en) Automating the creation and maintenance of policy compliant environments
US8848922B1 (en) Distributed encryption key management
KR102673882B1 (ko) 데이터 암호화 방법 및 장치, 데이터 복호화 방법 및 장치
US8284942B2 (en) Persisting private/public key pairs in password-encrypted files for transportation to local cryptographic store
US20180067777A1 (en) Application protection method, server, and terminal
JP2022530150A (ja) プライバシを用いて不変のデータアクセスログを維持するためのシステムおよび方法
KR101979320B1 (ko) 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 sql문 자동 생성 시스템 및 방법
CN112783847B (zh) 数据共享方法及装置
CN114239026A (zh) 信息脱敏转换处理方法、装置、计算机设备和存储介质
AU2010336503B2 (en) Securing execution of computational resources
Giblin et al. Securing Kafka with encryption-at-rest
WO2023279698A1 (zh) 数据传输方法、系统、计算机设备及存储介质
CN113204776B (zh) 实现列加密的方法、装置、设备及存储介质
US11799641B2 (en) System functionality activation using distributed ledger
US11709956B2 (en) Secure data broker
US11271738B1 (en) Secure, reliable, and decentralized communication in cloud platform
WO2023159900A1 (zh) 远程开发的方法及装置
JP2006253769A (ja) 情報処理システムおよび方法
CN117149460A (zh) 一种数据传输方法、装置、设备及存储介质
CN117093961A (zh) Apk的加固方法、工具、计算设备和存储介质

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