KR101038647B1 - 데이터베이스 보안 장치 및 보안 방법 - Google Patents

데이터베이스 보안 장치 및 보안 방법 Download PDF

Info

Publication number
KR101038647B1
KR101038647B1 KR1020100123084A KR20100123084A KR101038647B1 KR 101038647 B1 KR101038647 B1 KR 101038647B1 KR 1020100123084 A KR1020100123084 A KR 1020100123084A KR 20100123084 A KR20100123084 A KR 20100123084A KR 101038647 B1 KR101038647 B1 KR 101038647B1
Authority
KR
South Korea
Prior art keywords
data
unit
token
tokenized
application unit
Prior art date
Application number
KR1020100123084A
Other languages
English (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=44404936&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101038647(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 윤종선, 안성준, (주)필리아아이티 filed Critical 윤종선
Priority to KR1020100123084A priority Critical patent/KR101038647B1/ko
Application granted granted Critical
Publication of KR101038647B1 publication Critical patent/KR101038647B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

원문 데이터를 입력받는 메인 어플리케이션부; 상기 원문 데이터를 토큰값 또는 상기 토큰값을 일부 포함하는 토큰화된 데이터로 변환하는 토큰 어플리케이션부; 상기 토큰값 또는 상기 토큰화된 데이터를 저장하는 메인 DB; 를 포함하는 데이터베이스 보안 장치가 기재된다.

Description

데이터베이스 보안 장치 및 보안 방법{DATABASE SECURITY SYSTEM AND SECURITY METHOD}
본 발명은 데이터베이스의 보안 장치 및 보안 방법에 관한 것이다.
데이터베이스는 인터넷 시대에 다양한 분야에서 정보입출력을 담당하는 필수 구성이 되고 있지만, 특히 주민등록번호와 같은 개인정보는 물론 기업의 영업비밀에 관한 정보는 보안에 민감하므로 기술적인 보안 대책은 물론 제도적인 보안 요구 사항을 두루 만족해야 한다.
이때, DES나 RSA와 같은 일정한 알고리즘에 의하는 암호화 방법을 사용하면, 첫째, 해킹 및 동일 알고리즘에 의하여 쉽게 복호화 가능함으로써 보안성이 떨어지는 점과, 둘째, 암호화시 원문 암호화된 데이터가 동일한 데이터 필드를 갖지 않으므로 암호화된 데이터의 데이터베이스 저장을 위하여 데이터베이스 시스템의 데이터 필드를 크기를 암호화 모듈에서 요구하는 사양으로 변경해주어야 하는 시스템 운영상의 문제점이 발생한다.
한편, 데이터 암호화만으로는 비권한자의 데이터접근을 막을 수 없으므로 데이터 암호화에만 의존하는 방법으로는 확실한 보안성을 보장받을 수 없는 문제점이 있다.
또한, 데이터 암호화시 시스템의 리소스가 암호화 작업에 할당되거나 암호화 프로세싱 시간이 소비되므로 암호화시 전체 시스템의 작동 속도가 떨어지는 문제점이 있다.
본 발명은 상술한 문제점을 개선하기 위한 것으로서, 일정한 알고리즘에 의한 암호화 방법을 사용하지 않고 이를 대체할 수 있는 토큰화 수단을 사용하며, 권한 관리를 데이터 토큰화와 함께 진행하여 보안성이 강화되며, 시스템 부하 증가를 차단하기 위하여 토큰화된 데이터를 즉시 꺼내쓸 수 있는 버퍼를 마련하여 상기 문제점이 개선된 데이터베이스 보안 장치 및 보안 방법을 제공한다.
일 실시예로서, 본 발명의 데이터베이스 보안 장치는, 원문 데이터를 입력받는 메인 어플리케이션부; 상기 원문 데이터를 토큰값 또는 상기 토큰값을 일부 포함하는 토큰화된 데이터로 변환하는 토큰 어플리케이션부; 상기 토큰값 또는 상기 토큰화된 데이터를 저장하는 메인 DB; 를 포함한다.
여기서, 사용자가 입력한 상기 원문 데이터 대신에 상기 토큰값 또는 상기 토큰화된 데이터가 상기 메인 DB에 저장됨으로써 보안성이 확보된다.
일 실시예로서, 본 발명의 데이터베이스 보안 장치는, 사용자가 입력한 원문 데이터를 처리하는 메인 어플리케이션부를 포함하는 서버 유니트; 상기 메인 어플리케이션부로부터 상기 원문 데이터의 토큰화 요청을 받으면 상기 원문 데이터를 토큰화된 데이터로 변환하는 토큰 어플리케이션부 및 상기 토큰화된 데이터를 저장하는 토큰 DB를 포함하며 상기 토큰화된 데이터를 상기 메인 어플리케이션부로 리턴하는 토큰 유니트; 상기 메인 어플리케이션부로 리턴된 상기 토큰화된 데이터를 저장하는 메인 DB를 포함하는 DB 유니트; 상기 사용자의 로그온 정보에 따라 상기 사용자의 보안 권한을 제어하거나, 상기 메인 어플리케이션부에 대한 접근을 제어하는 권한 유니트; 를 포함한다.
여기서, 상기 사용자가 상기 원문 데이터를 입력하면, 상기 메인 어플리케이션부는 상기 토큰 어플리케이션부에 상기 토큰화 요청을 하고, 상기 토큰 어플리케이션부는 상기 토큰화된 데이터를 상기 토큰 DB에 저장하며 상기 메인 어플리케이션부에 리턴하고, 상기 메인 어플리케이션부는 상기 리턴된 상기 토큰화된 데이터를 상기 메인 DB에 저장하며 상기 권한 유니트에서 지령된 상기 사용자의 권한에 따라 상기 사용자가 복호화 비권한자이면 토큰화된 상태로 데이터를 표시하고 상기 사용자가 복호화 권한자이면 상기 원문 데이터와 동일한 복호화된 상태로 데이터를 표시한다.
일 실시예로서, 본 발명의 데이터베이스 보안 방법은, 메인 어플리케이션부가 사용자로부터 원문 데이터를 입력받고 상기 원문 데이터에 대한 토큰화 요청을 하는 단계; 상기 토큰화 요청에 따라 토큰 어플리케이션부는 상기 원문 데이터에 대한 토큰화된 데이터를 생성하고 상기 메인 어플리케이션부에 이를 리턴하는 단계; 상기 메인 어플리케이션부는 상기 리턴받은 토큰화된 데이터를 메인 DB에 저장하는 단계; 상기 토큰화된 데이터는 권한 유니트의 데이터 정책 및 보안 정책을 반영하는 상기 메인 어플리케이션부를 거쳐 상기 사용자에게 디스플레이되는 단계; 를 포함한다.
본 발명에 따르면, 정형화된 수학적 알고리즘에 의한 종래의 암호화 방법을 사용하지 않고 원문 데이터에 대하여 랜덤 값으로 1:1 대응되는 토큰화된 데이터가 데이터베이스에 입출력되므로 해킹 등에 대비하여 보안성이 강화되며, 사용자의 권한 관리를 데이터 토큰화와 함께 진행하여 사용자의 권한 등급에 맞는 데이터 억세스가 가능하며, 토큰 어플리케이션부에서의 토큰화 과정을 거치지 않아도 버퍼에 임시 저장된 토큰화된 데이터를 즉시 꺼내쓸 수 있으므로 시스템 동작 속도가 획기적으로 개선되고, 서버 유니트, 토큰 유니트, DB 유니트가 모듈화되어 있으므로 증설이나 유지 보수가 간편한 장점이 있다.
도 1은 일반적인 수학적 알고리즘에 의하여 데이터베이스가 암호화되는 방식을 설명하는 블록도이다.
도 2는 본 발명의 일 실시예로서, 토큰 서버에 의하여 토큰화된 데이터를 입출력하며 권한 관리 기능이 강화된 데이터베이스 보안 장치를 도시한 블록도이다.
도 3은 본 발명의 일 실시예로서, 도 2의 시스템 부하 증가를 차단하기 위하여 버퍼가 추가된 블록도이다.
도 4는 본 발명의 일 실시예로서, 도 3의 장치에서 제1 버퍼의 토큰화된 데이터를 직접 꺼내오는 경우를 설명하는 블록도이다.
도 5는 본 발명의 일 실시예로서, DB 유니트에 버퍼가 설치되는 경우를 도시한 블록도이다.
도 6은 도 5의 제2 버퍼에서 토큰화된 데이터를 꺼내오는 실시예를 도시한 블록도이다.
도 7은 버퍼의 다양한 설치 위치를 정리한 블록도이다.
도 1은 일반적인 수학적 알고리즘에 의하여 데이터베이스가 암호화되는 방식을 설명하는 블록도이다. 도 1은 본 발명의 실시예는 아니며 본 발명의 특징을 강조하기 위하여 비교 대상으로 도시한 것에 지나지 않는다.
사용자는 인사, 회계, 개발, 구매 등 다양한 업무를 수행하기 위하여 회사의 경영정보전산망인 SAP이나 오라클 등과 같은 어플리케이션부(기업용 ERP 시스템)에 접속한다. 사용자가 어플리케이션부에 입출력하는 정보는 회사의 DB에 저장된다.
이때 사용자가 입력한 데이터는 원문 데이터를 그대로 어플리케이션부 및 DB에 입출력하는 경우 보안상 취약점이 발생하기 때문에, 범용 암호화 프로그램을 사용하여 일반적인 수학적 알고리즘에 따라 암호화된 상태로 DB에 저장된다.
예를 들면 주민등록번호 '20101201-1234567'를 사용자가 입력한 경우, 어플리케이션부에서는 일반적인 수학적 알고리즘에 의하여 '20101201-**********'로 암호화되며, 생년월일 후단에 기재된 원문의 7자리 숫자 배열은 10자리의 '*'문자 배열로 암호화된다. 따라서, DB의 데이터 영역 필드는 7자리로 불충분하고 10자리로 변경되어야 하므로 회사의 데이터베이스 자체를 수정하여 데이터 영역 필드 크기를 변경시켜야 하는 대대적인 작업이 필요한 문제점이 있다.
또한, 암호화시 DES나 RSA와 같은 일정한 수학적 알고리즘이 수행되어야 하므로 어플리케이션부의 CPU나 메모리와 같은 리소스가 점유되며 시스템 운영 속도가 저하되는 문제점이 있다.
한편, 동일한 수학적 알고리즘에 의한 해킹시 암호화된 데이터는 쉽게 복호화되므로 보안성에 헛점이 생기는 문제점도 있다.
또한, 사용자가 인사팀인지 재무팀인지 여부에 따라 어플리케이션부에서 오픈해주는 정보의 종류가 달라야 보안성이 강화되는데 도 1의 경우 권한 관리 대책이 전무한 실정이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세히 설명한다. 이 과정에서 도면에 도시된 구성요소의 크기나 형상 등은 설명의 명료성과 편의상 과장되게 도시될 수 있다. 또한, 본 발명의 구성 및 작용을 고려하여 특별히 정의된 용어들은 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 한다.
도 2는 본 발명의 일 실시예로서, 토큰 서버에 의하여 토큰화된 데이터를 입출력하며 권한 관리 기능이 강화된 데이터베이스 보안 장치를 도시한 블록도이다.
도 2를 참조하면, 본 발명의 데이터베이스 보안 장치는 서버 유니트(100), DB 유니트(200), 토큰 유니트(300)를 포함한다.
서버 유니트(100)는 메인 어플리케이션부(110)를 포함하며, 메인 어플리케이션부(110)는 SAP이나 오라클과 같은 기업경영정보시스템을 예로 들 수 있으며, 인사, 총무, 회계, 개발, 구매 등 다양한 업무에 특성화된 어플리케이션 집합으로 볼 수 있다.
DB 유니트(200)는 사용자가 입력한 데이터, 토큰 유니트(300)에서 토큰화된 데이터, 메인 어플리케이션부(110)에서 전달된 데이터 등 모든 데이터를 저장해두는 기록 장소이며, 소정 크기의 필드 크기를 갖는 데이터 필드 영역에 테이블 형식으로 데이터를 기록한 메인 DB(210) 를 포함한다.
토큰 유니트(300)는 토큰화 작업이 수행되는 토큰 어플리케이션부(310)와 토큰값을 저장하거나 토큰값 및 원문 데이터를 매칭시킨 상태로 저장하는 토큰 DB(320)를 포함한다.
토큰 유니트(300)는 도 1의 설명 부분에서 자세하게 기재한 바와 같이 일정한 규칙의 수학적 알고리즘의 수행에 의한 암호화 방식을 전면적으로 대체한다. 즉, 시스템 리소스가 소모되는 수학적 알고리즘을 수행하는 것이 아니라, 특정 원문 데이터에 특정 토큰 데이터를 1:1로 랜덤하게 매칭시키는 토큰화 방법에 의하여 신속하면서도 뛰어난 무질서도로 데이터를 보안화한다.
본 발명에서 '토큰화된 데이터'는 토큰값 자체를 지칭하거나, 토큰값이 원문 데이터의 일부에 포함된 데이터를 지칭하거나, 원문 데이터 모두가 토큰화된 데이터를 지칭한다. '토큰 데이터'는 '토큰화된 데이터'와 동일한 용어로 사용된다. 또한, '원문 데이터'는 '원문'과 동일한 용어로 혼용된다.
예를 들면 주민등록번호 '20101201-1234567'를 사용자가 입력한 경우, 복잡한 수학적 알고리즘의 수행 없이 실시간으로 '20101201AB12rxD'로 토큰화되며, 토큰화된 데이터 '20101201AB12rxD'이 서버 유니트(100) 또는 DB 유니트(200)로 전송되므로 보안성을 획기적으로 강화시킨다.
권한 유니트(400)는 사용자가 외부인인지 등에 관한 보안 권한을 제어하고, 인사팀 소속인지 경리팀 소속인지를 포함한 로그온 정보에 따라 메인 어플리케이션부(110)에 대한 접근 제어를 하며, 사용자별 권한에 관한 정책 제어를 한다.
또한, 권한 유니트(400)는 메인 DB(210)에 저장된 주민등록번호 열람을 원하는 사용자에게 토큰화된 상태(예를 들면 20101201-AB12rxD')로 데이터를 표시할 것인지 복호화된 상태('20101201-1234567')로 데이터를 표시할 것인지에 관한 복호화 권한 제어 기능을 한다. 예를 들면 로그온 정보에 따라 사용자가 인사팀 소속인 경우 복호화된 상태로 보여주고, 개발팀 소속인 경우 보안성 강화를 위하여 토큰화된 데이터 자체를 보여주는 등의 권한 제어 기능을 한다.
한편, 본 발명의 보안 장치는, 서버 유니트(100), DB 유니트(200), 토큰 유니트(300), 권한 유니트(400)가 모듈화되므로 도시된 바와 같이 별개의 위치에 독립적인 모듈로 설치 가능한 것은 물론, 여러 모듈을 블록식으로 함께 연결하여 하나의 시스템을 구현하기에도 용이한 구조로 되어 있고, 필요한 모듈만 쉽게 추가함으로써 데이터베이스 보안 장치의 유지 보수와 업그레이드 작업이 신속하고 비숙련자에 의하여도 구현 가능한 장점을 갖는다.
도 2의 보안 장치의 동작 및 본 장치를 이용한 보안 방법에 대하여 설명하면 다음과 같이 설명된다.
제1단계 : 메인 어플리케이션부(110)는 사용자로부터 원문을 입력받고 필요시 이를 전처리(pre-processing)한다. 예를 들면, 잘못 입력된 원문의 경우 오류 처리하고, '-'가 원문에 포함된 경우 '-'를 제거하는 전처리를 한다. 입력된 원문의 예는 '20101201-1234567' 이며 전처리된 데이터의 예는 '201012011234567'이다.
제2단계 : 메인 어플리케이션부(110)는 전처리된 원문('201012011234567')을 토큰 어플리케이션부(310)에 전송하고 원문 데이터에 대한 토큰화를 요청한다.
제3단계 : 토큰 어플리케이션부(310)는 원문에 대한 토큰을 생성하고, 원문을 암호화한 결과인 토큰값을 토큰 DB(320)에 저장한다. 발급된 토큰의 예는 'AB12rxD'이다. 한편, 다른 실시예로서, 토큰 유니트(300)에서는 원문을 단방향 암호화(HASH) 하여 토큰 DB(320)에 저장할 수 있다.
제4단계 : 토큰 어플리케이션부(310)는 발급된 토큰을 메인 어플리케이션부(110)에 되돌려준다.
제5단계 : 메인 어플리케이션부(110)는 리턴받은 토큰값을 이용하여 토큰화된 데이터로 만들고, 토큰화된 데이터(Tokenized data)를 메인 DB(210)에 저장한다.
메인 어플리케이션부(110)는 권한 유니트(400)의 데이터 정책을 반영하여 원문의 앞의 6자리('20101201')는 유지하고 뒤의 7자리('1234567')는 토큰값('AB12rxD')으로 대체하여 토큰화된 데이터('20101201AB12rxD')를 생성한다.
토큰화된 데이터('20101201AB12rxD')는 메인 DB(210)에 저장된다. 토큰화 전후에 있어서 메인 DB(210)의 데이터 필드 영역 크기는 11자리로 동일하므로 본 발명과 같은 토큰 유니트(300)를 이용할 경우, 메인 DB(210)의 필드 영역 크기를 변경하지 않아도 되고, 토큰값 생성에 리소스가 불필요하게 점유되거나 처리 시간이 지연되는 일이 발생하지 않는다.
제6단계 : 토큰화된 데이터는 권한 유니트(400)의 데이터 정책 및 보안 정책을 반영하는 메인 어플리케이션부(110)를 거쳐 데이터 열람을 원하는 사용자에게 디스플레이된다. 예를 들면 복호화 비권한자에게는 토큰화된 데이터 자체를 디스플레이함으로써 보안 유출을 억제하며, 복호화 권한자에게는 복호화된 원문 데이터를 디스플레이함으로써 복호화 권한자의 성향에 최적화된 데이터를 제공한다.
도 3은 본 발명의 일 실시예로서, 도 2의 시스템 부하 증가를 차단하기 위하여 버퍼(150,250,650)가 추가된 블록도이다. 이에 따르면 본 발명은 서버 유니트(100), DB 유니트(200), 토큰 유니트(300) 중 적어도 하나 또는 이들 중 적어도 2개의 사이 지점에 마련되는 버퍼(150,250,650)를 구비한다. 버퍼(150,250,650)는 상기 각 위치 중 어느 하나의 위치에 하나 마련될 수 있으며, 둘 이상의 위치에 복수로 마련될 수 있다.
버퍼(150,250,650)가 마련될 경우의 가장 큰 장점은 토큰 유니트(300) 또는 DB 유니트(200)를 거치지 않고 토큰화된 데이터를 즉시 리턴할 수 있다는 점이며, 토큰화 작업을 생략하고 토큰값 또는 토큰화된 데이터를 즉시 꺼내쓸 수 있는 점이다. 이에 따라서 시스템 동작 속도가 획기적으로 개선된다. 도 7을 참조하면 버퍼(150,250,650)의 위치에 따라 제1 버퍼(150), 제2 버퍼(250), 제3 버퍼(650)로 명명된다.
본 발명은 예를 들어 선입선출 형식으로 일정 용량의 기억 용량을 갖는 버퍼(150,250,650)에 최근 일정 기간 동안의 토큰화된 데이터를 저장해 두고 데이터 요청시 버퍼(150,250,650)에서 바로 꺼내 리턴한다. 이와 같은 토큰화 과정의 최적화를 통하여 토큰화 처리에 소요되는 시간을 제거하며, 심지어 암호화 없이 메인 DB(210)의 데이터를 검색하여 이용하는 경우보다 시스템 작동 속도를 더 단축시킬 수 있다.
즉, 사용자의 자료 요청시 제1 버퍼(150)에 임시 저장된 토큰화된 데이터를 바로 꺼내줌으로써 메인 DB(210)를 억세스할 필요도 없이 토큰으로 보안성이 강화된 데이터를 공급할 수 있다.
도 3은 제1 버퍼(150)의 동작예로서 다음의 단계를 거치며 제1 버퍼(150)에 토큰값이 원문과 1:1의 매칭성을 유지하며 임시저장된다.
제b1단계 : 메인 어플리케이션부(110)는 사용자로부터 원문을 입력받고 필요시 이를 전처리(pre-processing)한다.
제b2단계 : 메인 어플리케이션부(110)는 전처리된 원문('201012011234567')을 토큰 어플리케이션부(310)에 전송하고 원문 데이터에 대한 토큰화를 요청한다.
제b3단계 : 토큰 어플리케이션부(310)는 원문에 대한 토큰을 생성하고, 원문을 암호화한 결과인 토큰값을 토큰 DB(320)에 저장한다.
제b4단계 : 토큰 어플리케이션부(310)는 발급된 토큰을 메인 어플리케이션부(110)에 리턴한다.
제b5단계 : 메인 어플리케이션부(110)는 리턴받은 토큰값을 이용하여 토큰화된 데이터로 만들고, 토큰화된 데이터(Tokenized data)를 메인 DB(210)에 저장한다.
제b6단계 : 토큰값 또는 토큰화된 데이터는 제1 버퍼(150)에 임시 저장된다.
제b7단계; 토큰화된 데이터는 권한 유니트(400)의 데이터 정책 및 보안 정책을 반영하는 메인 어플리케이션부(110)를 거쳐 데이터 열람을 원하는 사용자에게 디스플레이된다. 예를 들면 복호화 비권한자에게는 토큰화된 데이터 자체를 디스플레이함으로써 보안 유출을 억제하며, 복호화 권한자에게는 복호화된 원문 데이터를 디스플레이함으로써 복호화 권한자의 성향에 최적화된 데이터를 제공한다.
도 4를 참조하면 제1 버퍼(150)의 특징적 구성 및 동작을 알 수 있다. 도 4는 본 발명의 일 실시예로서, 도 3의 장치에서 제1 버퍼(150)의 토큰화된 데이터를 직접 꺼내오는 경우를 설명하는 블록도이다.
즉, 사용자가 메인 어플리케이션부(110)에 원문을 입력한다. 메인 어플리케이션부(110)는 토큰 유니트(300)에 억세스하기 전에 원문에 대응되는 토큰값 또는 토큰화된 데이터가 제1 버퍼(150)에 저장되어 있는지 여부를 판단한다. 제1 버퍼(150)에 원하는 토큰값 또는 토큰화된 데이터가 있으면 메인 어플리케이션부(110)는 권한 유니트(400)의 권한 정책을 반영하여 제1 버퍼(150)에서 찾아진 토큰값 또는 토큰화된 데이터를 사용자에게 그대로 표시하거나 복호화된 상태로 즉시 표시한다.
도 5는 본 발명의 일 실시예로서, DB 유니트(200)에 버퍼(150,250,650)가 설치되는 경우를 도시한 블록도이다. 도 3의 경우와 마찬가지로 토큰값 또는 토큰화된 데이터는 원문과 1:1의 매칭성을 유지하며 제2 버퍼(250)에 임시 저장된다.
도 6은 도 5의 제2 버퍼(250)에서 토큰화된 데이터를 꺼내오는 실시예를 도시한 블록도이다. 이때, 다음의 과정을 거치며 제2 버퍼(250)의 토큰값 또는 토큰화된 데이터를 억세스한다.
사용자가 메인 어플리케이션부(110)에 원문을 입력한다. 메인 어플리케이션부(110)는 토큰 유니트(300)에 억세스하기 전에 원문에 대응되는 토큰값 또는 토큰화된 데이터가 제2 버퍼(250)에 저장되어 있는지 여부를 판단한다. 제2 버퍼(250)에 원하는 토큰값 또는 토큰화된 데이터가 있으면 메인 어플리케이션부(110)는 권한 유니트(400)의 권한 정책을 반영하여 제2 버퍼(250)에서 찾아진 토큰값 또는 토큰화된 데이터를 사용자에게 그대로 표시하거나 복호화된 상태로 즉시 표시한다.
도 7은 버퍼(150,250,650)의 다양한 설치 위치를 정리한 블록도이다. 서버 유니트(100) 또는 서버 유니트(100)와 토큰 유니트(300) 사이에 제1 버퍼(150)가 마련되거나, DB 유니트(200)에 제2 버퍼(250)가 마련되거나, 서버 유니트(100)와 DB 유니트(200) 사이에 제3 버퍼(650)가 마련된다. 따라서, 토큰화에 시간을 소모하지 않고 임시 저장된 토큰값 또는 토큰화된 데이터를 즉시 꺼내 쓸수 있다.
이상에서 본 발명에 따른 실시예들이 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.
100...서버 유니트(server unit)
110...메인 어플리케이션부(main application portion)
150...제1 버퍼(a first buffer)
200...DB 유니트(database unit)
210...메인 DB(main database)
250...제2 버퍼(a ssecond buffer)
300...토큰 유니트(token unit)
310...토큰 어플리케이션부(token application unit)
320...토큰 DB(token database)
400...권한 유니트(authority unit)
650...제3 버퍼(a third buffer)

Claims (9)

  1. 원문 데이터를 입력받는 메인 어플리케이션부;
    상기 원문 데이터를 토큰값 또는 상기 토큰값을 일부 포함하는 토큰화된 데이터로 변환하는 토큰 어플리케이션부;
    상기 토큰값 또는 상기 토큰화된 데이터를 저장하는 메인 DB;
    상기 메인 어플리케이션부가 마련되는 서버 유니트;
    상기 토큰 어플리케이션부가 마련되는 토큰 유니트;
    상기 메인 DB가 마련되는 DB 유니트; 를 포함하고,
    사용자가 입력한 상기 원문 데이터 대신에 상기 토큰값 또는 상기 토큰화된 데이터가 상기 메인 DB에 저장됨으로써 보안성이 확보되며,
    상기 서버 유니트의 내부 또는 상기 서버 유니트와 상기 토큰 유니트 사이에 제1 버퍼가 마련되거나, 상기 DB 유니트에 제2 버퍼가 마련되거나, 상기 서버 유니트와 상기 DB 유니트 사이에 제3 버퍼가 마련되고,
    상기 제1 버퍼 내지 상기 제3 버퍼 중 적어도 하나에 임시 저장된 상기 토큰값 또는 상기 토큰화된 데이터가 상기 서버 유니트를 통하여 사용자에게 즉시 리턴되는 데이터베이스 보안 장치.
  2. 제1항에 있어서,
    상기 원문 데이터 및 상기 토큰화된 데이터는 동일한 데이터 필드 영역 크기를 가지며,
    상기 토큰화된 데이터는 상기 원문 데이터에 비하여 랜덤(random)한 값으로 1:1 대응되는 데이터베이스 보안 장치.
  3. 제1항에 있어서,
    상기 서버 유니트, 상기 토큰 유니트 및 상기 DB 유니트는 별개의 모듈로 마련되는 데이터베이스 보안 장치.
  4. 제3항에 있어서,
    상기 사용자의 로그온 정보에 따라 상기 사용자의 보안 권한을 제어하거나, 상기 메인 어플리케이션부에 대한 접근을 제어하는 권한 유니트; 를 포함하며,
    상기 권한 유니트는 상기 사용자가 복호화 비권한자이면 토큰화된 상태로 데이터를 표시하고 상기 사용자가 복호화 권한자이면 상기 원문 데이터와 동일한 복호화된 상태로 상기 데이터를 표시하는 데이터베이스 보안 장치.
  5. 삭제
  6. 삭제
  7. 사용자가 입력한 원문 데이터를 처리하는 메인 어플리케이션부를 포함하는 서버 유니트;
    상기 메인 어플리케이션부로부터 상기 원문 데이터의 토큰화 요청을 받으면 상기 원문 데이터를 토큰화된 데이터로 변환하는 토큰 어플리케이션부 및 상기 토큰화된 데이터를 저장하는 토큰 DB를 포함하며 상기 토큰화된 데이터를 상기 메인 어플리케이션부로 리턴하는 토큰 유니트;
    상기 메인 어플리케이션부로 리턴된 상기 토큰화된 데이터를 저장하는 메인 DB를 포함하는 DB 유니트;
    상기 사용자의 로그온 정보에 따라 상기 사용자의 보안 권한을 제어하거나, 상기 메인 어플리케이션부에 대한 접근을 제어하는 권한 유니트; 를 포함하며,
    상기 사용자가 상기 원문 데이터를 입력하면, 상기 메인 어플리케이션부는 상기 토큰 어플리케이션부에 상기 토큰화 요청을 하고, 상기 토큰 어플리케이션부는 상기 토큰화된 데이터를 상기 토큰 DB에 저장하며 상기 메인 어플리케이션부에 리턴하고, 상기 메인 어플리케이션부는 상기 리턴된 상기 토큰화된 데이터를 상기 메인 DB에 저장하며 상기 권한 유니트에서 지령된 상기 사용자의 권한에 따라 상기 사용자가 복호화 비권한자이면 토큰화된 상태로 데이터를 표시하고 상기 사용자가 복호화 권한자이면 상기 원문 데이터와 동일한 복호화된 상태로 데이터를 표시하며,
    상기 서버 유니트의 내부 또는 상기 서버 유니트와 상기 토큰 유니트 사이에 제1 버퍼가 마련되거나, 상기 DB 유니트에 제2 버퍼가 마련되거나, 상기 서버 유니트와 상기 DB 유니트 사이에 제3 버퍼가 마련되고,
    상기 제1 버퍼 내지 상기 제3 버퍼 중 적어도 하나에 임시 저장된 상기 토큰화된 데이터가 상기 서버 유니트를 통하여 상기 사용자에게 즉시 리턴되는 데이터베이스 보안 장치.
  8. 삭제
  9. 메인 어플리케이션부가 사용자로부터 원문 데이터를 입력받고 상기 원문 데이터에 대한 토큰화 요청을 하는 단계;
    상기 토큰화 요청에 따라 토큰 어플리케이션부는 상기 원문 데이터에 대한 토큰화된 데이터를 생성하고 상기 메인 어플리케이션부에 이를 리턴하는 단계;
    상기 메인 어플리케이션부는 상기 리턴받은 토큰화된 데이터를 메인 DB에 저장하는 단계;
    상기 토큰화된 데이터는 권한 유니트의 데이터 정책 및 보안 정책을 반영하는 상기 메인 어플리케이션부를 거쳐 상기 사용자에게 디스플레이되는 단계; 를 포함하며,
    상기 토큰 어플리케이션부에서 리턴되는 상기 토큰화된 데이터가 제1 버퍼에 임시 저장되고,
    상기 메인 어플리케이션부에 상기 원문 데이터가 입력되었을 때, 상기 메인 어플리케이션부는 상기 토큰화 요청을 하기 전에 상기 원문 데이터에 대응되는 상기 토큰화된 데이터가 상기 제1 버퍼에 저장되어 있는지 여부를 판단하고,
    상기 제1 버퍼에 상기 토큰화된 데이터가 존재하면 상기 메인 어플리케이션부는 상기 권한 유니트의 권한 정책을 반영하여 상기 제1 버퍼에서 찾아진 상기 토큰화된 데이터를 상기 사용자에게 그대로 표시하거나 복호화된 상태로 표시하는 베이터베이스 보안 방법.
KR1020100123084A 2010-12-03 2010-12-03 데이터베이스 보안 장치 및 보안 방법 KR101038647B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100123084A KR101038647B1 (ko) 2010-12-03 2010-12-03 데이터베이스 보안 장치 및 보안 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100123084A KR101038647B1 (ko) 2010-12-03 2010-12-03 데이터베이스 보안 장치 및 보안 방법

Publications (1)

Publication Number Publication Date
KR101038647B1 true KR101038647B1 (ko) 2011-06-02

Family

ID=44404936

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100123084A KR101038647B1 (ko) 2010-12-03 2010-12-03 데이터베이스 보안 장치 및 보안 방법

Country Status (1)

Country Link
KR (1) KR101038647B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990075977A (ko) * 1998-03-26 1999-10-15 구자홍 데이터 스크램블링 회로
JP2006163831A (ja) * 2004-12-07 2006-06-22 Nippon Telegr & Teleph Corp <Ntt> 情報管理装置、情報管理方法、情報管理プログラム、情報無効化装置および情報照合装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990075977A (ko) * 1998-03-26 1999-10-15 구자홍 데이터 스크램블링 회로
JP2006163831A (ja) * 2004-12-07 2006-06-22 Nippon Telegr & Teleph Corp <Ntt> 情報管理装置、情報管理方法、情報管理プログラム、情報無効化装置および情報照合装置

Similar Documents

Publication Publication Date Title
CN109104281A (zh) 令牌化硬件安全模块
US9794063B2 (en) Optimizing use of hardware security modules
CN104704493B (zh) 可搜索的经加密的数据
TWI388183B (zh) 用以使敏感資料及關聯記錄無法識別之系統和方法
US11461499B2 (en) Dynamic data protection
CN101661544B (zh) 在主显示器内提供安全显示窗口的方法和设备
US11290446B2 (en) Access to data stored in a cloud
US20090319529A1 (en) Information Rights Management
US9152813B2 (en) Transparent real-time access to encrypted non-relational data
US8954753B2 (en) Encrypting data in volatile memory
US9396355B2 (en) Multi-part encrypted messages for support of sensitive systems
US8776258B2 (en) Providing access rights to portions of a software application
CN113468576B (zh) 一种基于角色的数据安全访问方法及装置
US10133873B2 (en) Temporary concealment of a subset of displayed confidential data
US11514366B2 (en) System for content encryption for predictive models trained on private data
CN110830428A (zh) 区块链金融大数据处理方法及系统
KR101038647B1 (ko) 데이터베이스 보안 장치 및 보안 방법
US10970408B2 (en) Method for securing a digital document
KR20150074540A (ko) 버퍼 토큰 장치
Jia et al. Data access control in data exchanging supporting big data arena
Goel et al. Multisignature Crypto Wallet Paper
Haunts et al. Azure Key Vault Usage Patterns
Dai et al. Sharing of Research Data by Blockchain
CN116305213A (zh) 实现第三方系统安全对接的方法及对接平台
US9639707B1 (en) Secure data storage and communication for network computing

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
J204 Request for invalidation trial [patent]
J301 Trial decision

Free format text: TRIAL DECISION FOR INVALIDATION REQUESTED 20120907

Effective date: 20140121

Free format text: TRIAL NUMBER: 2012100002370; TRIAL DECISION FOR INVALIDATION REQUESTED 20120907

Effective date: 20140121