KR100737359B1 - 암호화된 컬럼의 인덱스 구축방법 - Google Patents

암호화된 컬럼의 인덱스 구축방법 Download PDF

Info

Publication number
KR100737359B1
KR100737359B1 KR1020060097710A KR20060097710A KR100737359B1 KR 100737359 B1 KR100737359 B1 KR 100737359B1 KR 1020060097710 A KR1020060097710 A KR 1020060097710A KR 20060097710 A KR20060097710 A KR 20060097710A KR 100737359 B1 KR100737359 B1 KR 100737359B1
Authority
KR
South Korea
Prior art keywords
index
encrypted
column
data
search
Prior art date
Application number
KR1020060097710A
Other languages
English (en)
Other versions
KR20060121772A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=37707358&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100737359(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 KR1020060097710A priority Critical patent/KR100737359B1/ko
Publication of KR20060121772A publication Critical patent/KR20060121772A/ko
Application granted granted Critical
Publication of KR100737359B1 publication Critical patent/KR100737359B1/ko
Priority to PCT/KR2007/004741 priority patent/WO2008041810A1/en
Priority to JP2009531317A priority patent/JP4827969B2/ja
Priority to US12/444,543 priority patent/US8281153B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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

Abstract

본 발명은 비밀키 암호 알고리즘으로 암호화된 데이터베이스의 컬럼에 대해 색인 검색을 할 수 있도록 인덱스를 생성하는 방법에 관한 것이다. 본 발명에 따른 색인 방법은 평문을 기준으로 정렬 순서가 유지될 수 있도록 재 암호화하는 단계와 재 암호화된 데이터를 기준으로 새로운 인덱스를 생성하는 단계와 생성된 인덱스가 조건 검색시 인덱스 검색을 수행할 수 있도록 하는 암호화된 컬럼의 도메인 인덱스 구축방법을 포함한다.
컬럼암호화, 암호화인덱싱, 색인검색, 데이터베이스암호화

Description

암호화된 컬럼의 인덱스 구축방법{Method to create Indexes for encrypted column}
도 1은 종래의 인덱스 검색 기동 구조에 대한 예시도
도 2는 종래의 인덱스 검색에 따른 실행계획에 대한 예시도
도 3은 암호화된 데이터의 특징을 설명하는 예시도
도 4는 암호화된 데이터에 대해 인덱스가 지원되지 않는 경우의 예시도
도 5는 본 발명의 일 실시예에서 암호화된 컬럼에 대한 인덱스 구축과 인덱스 검색이 가능토록하는 순서도
도 6은 본 발명의 다른 실시예에서 암호화된 컬럼에 대한 인덱스 구축과 인덱스 검색이 가능토록하는 순서도
도 7은 도 5의 방법에 따른 인덱스 구축 후 결과 및 인덱스 검색 절차 예시도
도 8은 도 6의 방법에 따른 인덱스 구축 후 결과 및 인덱스 검색 절차 예시도
도 9는 인덱스 검색이 지원되지 않는 경우의 실행계획에 대한 예시도
도 10은 인덱스 검색이 지원되는 경우의 실행계획에 대한 예시도
본 발명은 암호화된 컬럼에 대한 인덱스(색인)를 생성하고 생성된 인덱스를 사용하여 인덱스 검색이 원활히 될 수 있게 하는 방법에 대한 것이다. 데이터베이스는 많은 양의 데이터를 저장하고 원하는 검색 조건으로 쉽고 빠르게 찾고자 하는데 그 목적이 있다. 빠른 검색은 저장된 데이터를 이용하는 응용프로그램의 성능에 절대적인 영향을 주므로 데이터베이스라는 개념이 만들어진 이후, 검색 성능을 제고하기 위한 노력이 많이 이루어져 왔다. 최초의 데이터베이스라 할 만한 ISAM 파일의 경우에서 부터 검색을 빠르게 하기 위해 인덱스를 사용해 왔고, 최근의 상용 RDBMS에서도 꾸준히 검색 성능을 높이기 위한 노력이 경주되어 왔으며 이 노력의 중심에는 인덱스가 있다.
인덱스를 생성한다는 것은 컬럼 데이터를 순서적으로 재배치한다는 것을 의미한다. 도 1을 보면 인덱스를 이용하여 검색 성능을 높이는 방법을 알 수 있다. 즉 사원정보를 갖는 테이블(101)의 사원번호에 대하여 인덱스를 생성함으로써 사원번호로 검색을 실시할 때 검색을 빠르게 할 수 있도록 하는 것이다. 인덱스( 색인)-사번(103)은 사원번호를 정렬하여 저장하고 각 사원번호에 해당하는 원 테이블(101)의 열번호를 저장한다. 특정 사원번호 '198701013'(105)를 검색하고자 하면 사원번호가 정렬되어 있으므로 B-Tree 인덱스 검색 등을 통해 빠르게 해당 정보를 찾아낼 수 있으며, 찾아낸 사원번호에 해당하는 열번호(107)를 바로 알 수 있게 된다. 이 열번호(107)와 같은 열번호를 갖는 행을 원 테이블(101)과 비교함(109)으로써 원하는 모든 정보들을 빠르게 찾아낼 수 있다. 이러한 방법을 적용함으로써 검색성능을 높일 수 있게 된다. 도 2를 보면 사원번호로 인덱스(색인) 이 생성된 이후 인덱스(색인) 번호를 조건으로 검색을 수행하게 되면(201) 생성된 인덱스 인덱스 검색을 실시하는 것을 (203) 알 수 있는 실행계획을 볼 수 있다.
데이터의 분포도(cardinality)에 따라 다양한 인덱스 기법이 사용되고 있으며, 현재 B-Tree가 가장 빠른 인덱스 기법으로 알려져 있고, 그 이외에 분포도가 적은 경우에 Bitmap 인덱스 기법이 사용되고 있고, 가공된 데이터를 이용하는 FBI(Function Based Index) 기법이 종종 사용되고 있다.
암호화된 컬럼에 대해 일반적인 인덱스를 생성하는 기법은 불가능하다고 알려져 있다. 인덱스를 생성하기 위한 기본 전제는 데이터의 정렬이다. 데이터를 암호화하고 나면 평문(암호화 되기 전의 원래 데이터:Plain Text)과의 정렬 순서(Sort ordering)가 바뀌게 되므로 암호화된 데이터로 인덱스를 생성하더라도 검색 결과값이 달라지게되어 의미가 없어지는 것이다. 또한 암호화된 데이터에 대한 유추가능성을 없애기 위한 IV(Initial Vector)를 적용한 경우이면 평문과 암호문 사이의 1:1 관계가 이루어 지지 않아 암호문 데이터에 대해 인덱스를 생성하는 것은 의미가 없어지게 된다. 도 3을 보면 암호화된 테이블(301)에서의 데이터를 볼 수 있는데, 암호화 된 데이터(303)는 의미를 알 수 없을 뿐만 아니라 정렬 순서도 전혀 알 수가 없다. 도 4는 암호화된 테이블의 사원번호 컬럼을 일반 인덱스 로 구축한 이후의 검색 결과를 보여준다. 즉 암호화된 테이블 '사원_CUB'를 활용하기 위한 VIEW '사원'을 통해 검색(401)한 결과 인덱스가 구축되어 있음에도 불구하고 인덱스 검색을 실행하지 않고 Full Table Scan (403)이 실행됨을 알 수 있다.
이러한 한계 때문에 일부에서는 암호문 데이터를 평문으로 복호화하여 인덱스를 생성하는 경우가 있으나, 이는 평문이 저장되게 되는 상황이므로 보안성의 측면에서 암호화를 하지 않은 것과 같은 결과를 초래하게 된다.
상술한 바와 같은 문제점을 해결하기 위해, 본 발명의 목적은 암호화된 컬럼에 대해 보안성을 해치지 않고 인덱스를 생성하여 검색성능을 제고할 수 있는 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 암호화 컬럼에 대한 인덱스 검색이 지원되는 경우에도 암호화 이전에 사용하였던 질의문장을 변형하지 않고 사용할 수 있는 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 한 특징은, 암호화되어 있는 컬럼을 갖는 테이블을 저장하는 데이터 베이스에서, 상기 암호화된 컬럼에 대해 인덱스를 구축하는 방법에 있어서, (a) 상기 테이블로부터 암호화된 컬럼 데이터를 읽는 단계; (b) 상기 읽은 암호화된 컬럼 데이터를 복호화하는 단계; (c) 상기 복호화된 컬럼 데이터로부터 평문을 기준으로 정렬 순서가 유지될 수 있도록 상기 복호화된 컬럼 데이터를 재 암호화하는 단계; (d) 상기 재 암호화된 컬럼 데이터를 도메인 인덱스로 사용할 인덱스용 테이블로 저장하는 단계; (e) 상기 저장된 인덱스용 테이블에 인덱스를 생성하는 단계; (f) 상기 생성된 인덱스용 테이블과 인덱스용 테이블에 생성된 인덱스로 도메인 인덱스를 구축하는 단계;를 포함하는 암호화된 컬럼의 인덱스 구축방법이다.
상기 본 발명의 한 특징에 의한 암호화된 컬럼의 인덱스 구축방법에서, (d) 상기 재 암호화된 컬럼 데이터를 도메인 인덱스로 사용할 인덱스용 테이블로 저장하는 단계는, (d1) 상기 재 암호화된 컬럼 데이터를 이용하여 일반 테이블 혹은 인덱스구조테이블(Index Organized Table)의 형태로 인덱스용 테이블을 생성하는 단계; (d2) 상기 재 암호화된 컬럼 데이터를 인덱스용 테이블에 저장하는 단계;를 포함할 수 있으며, (e) 상기 저장된 인덱스용 테이블에 인덱스를 생성하는 단계는, (e1) 상기 인덱스용 테이블의 재 암호화된 컬럼 데이터를 갖는 컬럼에 대한 B-트리 인덱스를 생성하는 단계; (e2) 상기 재 암호화된 컬럼 데이터가 저장된 컬럼에 대해 재암호화된 형태의 인덱스를 함수기반인덱스(Function Based Index)의 형태로 생성하는 단계를 포함할 수 있다.
상기 본 발명에 의한 암호화된 컬럼의 인덱스 구축방법은, 바람직하게는 도 5와 도 6에 표시된 바와 같은 두 가지 절차중의 하나를 따른다.
도 5를 보면 암호화된 컬럼의 암호화된 데이터를 읽고(501) 읽은 데이터를 복호화(503)한다. 이 는 평문을 기준으로 재 암호화를 실시(505)하기 위함이다. 복호화한 평문을 재 암호화하는 데는 2가지 이유가 있다. 그 이유중 한가지는 평문을 기준으로 정렬 순서를 얻어내기 위함이다. 암호화한 데이터는 정렬 순서가 의미없어지므로 복호화한 평문을 기준으로 정렬 순서를 얻어 낸다. 그 이유중 두번째는 평문을 저장하지 않도록 하기 위한 재 암호화이다. 재 암호화된 데이터를 기준으로 인덱스를 위한 테이블을 생성함으로써 평문이 저장되어 보안성을 약화시키는 일을 발생시키지 않기 위함이다. 인덱스를 위해 저장되어 있는 데이터는 일반 질의문으로 내용을 볼 수는 없으나, 저장장치의 블럭을 직접 읽어냄으로써 얼마든지 내용을 살펴 볼 수 있으므로 복호화된 혹은 원래의 평문을 인덱스 의 기준으로 삼아서는 안된다. 따라서 재 암호화 과정(505)는 필수적인 단계이다. 재 암호화 과정(505)에서 확보한 정렬 순서와 보안성의 확보를 근거로 재 암호화된 데이터를 이용하여 인덱스용 테이블을 구축한다.(507) 인덱스 용 테이블은 재 암호화된 데이터를 한개의 컬럼으로 또한 암호화된 원래 테이블의 열번호를 또 하나의 컬럼으로 하는 두 개의 컬럼으로 구성되는 일반 테이블, 혹은 인덱스구조테이블 (IOT:Index Organized Table) 형태로 구축한다. 바람직한 실시 예에서는 재 암호화 데이터와 원 암호화 테이블의 열번호를 갖는 일반 테이블의 형태를 갖는 것을 특징으로 한다. 바람직한 실시 예에서 재 암호화 데이터와 원 암호화 테이블의 열 번호를 갖는 IOT형태로 구축되기도 하나 검색 성능 면에서 일반데이블의 형태를 갖는 것이 효과가 있음을 확인하였다. 따라서 앞으로의 설명은 일반 테이블의 형태로 재 암호화 데이터와 원 암호화 테이블의 열번호를 저장한 테이블을 기준으로 한다.
질의문 수행시 암호화된 컬럼을 기준으로 하는 인덱스 검색을 지원하기 위하여 재 암호화 데이터와 원 암호화 테이블의 열번호를 갖는 테이블에 대해 재 암호화 데이터를 갖는 컬럼을 기준으로 인덱스를 생성(509)한다. 도 2에서 보는 것과 같이 질의문 수행시 인덱스 검색(Index Range Scan)(203)이 수행되게 하기 위함이다.
바람직한 실시 예에서는 암호화된 컬럼 읽기에서부터 재 암호화된 데이터를 이용한 인덱스 용 테이블 구축까지를(501, 503, 505, 507) 하나의 절차로 수행하게 된다. 이 때 사용하는 기법은 외부 절차 호출을 이용하게 된다. 인덱스 용 테이블의 암호화 데이터로 인덱스를 구축한 결과를 보여주는 것이 도 7이 된다.
도 7을 참조하여 암호화된 데이터에 대한 인덱스 검색이 어떻게 이루어지는지를 설명하면 다음과 같다. 암호화된 데이터를 갖는 테이블(701)에는 암호화된 데이터와 열번호가 있다. 재 암호화된 테이터를 갖는 테이블(703)에는 재 암호화된 데이터와 암호화된 테이블(701)의 열번호 및 재 암호화된 데이터를 갖는 테이블의 열번호가 존재한다. 재 암호화된 테이블(703)의 재 암호화된 컬럼에 대한 인덱스 (색인:705)는 재 암호화된 데이터와 재 암호화된 테이블(703)의 열번호를 갖는다.
사원번호로 검색을 실시하는 경우, 재 암호 테이블의 인덱스 로부터 해당되는 사원번호를 찾게 되는데, 인덱스가 구축되어 있으므로 인덱스 검색을 실시할 수 있어 빠르게 해당 데이터를 찾아낼 수 있게 된다.(707). 재 암호화된 테이블에 대한 색인에서 원하는 데이터를 찾게 되면 해당되는 재 암호화된 테이블의 열번호는 바로 찾아지게 된다. 찾아진 재 암호화된 테이블의 열번호를 이용하여 재 암호화된 테이블의 해당 행을 바로 찾게 되며(709), 1차적인 인덱스 검색이 완료된다. 재 암호화 테이블에서 찾아진 행에는 암호화된 테이블(701)의 열번호가 존재하고 이 열번호를 이용하여 암호화된 테이블의 해당 행을 찾아간다.(711) 암호화 테이블에서 찾아진 행에는 암호화된 사원번호가 존재하고 암호화된 사원번호를 복호화(713)하면 최종적으로 원하는 결과를 얻을 수 있다.
본 발명의 암호화된 컬럼에 대한 인덱싱의 방법을 구현할 수 있는 또 다른 절차는 도 6에서 설명하고 있으며 이에 대한 설명은 다음과 같다.
도 6를 보면 암호화된 컬럼의 암호화된 데이터를 읽고(601) 읽은 데이터를 복호화(603)한다. 이 는 평문을 기준으로 재암호화를 실시(605)하기 위함이다. 복호화한 평문은 재 암호화하는 데는 2가지 이유가 있다. 그 이유중 한가지는 평문을 기준으로 정렬 순서를 얻어내기 위함이다. 암호화한 데이터는 정렬 순서가 의미없으므로 복호화한 평문을 기준으로 정렬 순서를 얻어낸다. 그 이유중 두번째는 평문을 저장하지 않도록 하기 위한 재 암호화이다. 재 암호화된 데이터를 기준으로 인덱스를 위한 테이블을 생성함으로써 평문이 저장되어 보안성을 약화시키는 일을 발생시키지 않기 위함이다. 인덱스를 위해 저장되어 있는 데이터는 일반 질의문으로 내용을 볼 수는 없으나, 저장장치의 블럭을 직접 읽어냄으로써 얼마든지 내용을 살펴 볼 수 있으므로 복호화된 혹은 원래의 평문을 인덱스 의 기준으로 삼아서는 안된다. 따라서 재 암호화 과정(605)는 필수적인 단계이다. 재 암호화 과정(605)에서 확보한 정렬 순서와 보안성의 확보를 근거로 재 암호화된 데이터를 이용하여 암호화 테이블에 대한 함수기반인덱스( Function Based Index )를 구축한다.(607) 재 암호화된 데이터를 이용하여 구축된 FBI는 재 암호화된 데이터를 컬럼으로 구성된다. 데이터베이스 내부적으로 보면 정렬된 재 암호화 데이터 컬럼과 암호화 테이블의 열번호로 이루어지는 인덱스가 구축되는 것이다. 바람직한 실시 예에서는 질의문 수행시 암호화된 컬럼을 기준으로 하는 인덱스 검색을 지원하기 위하여 재 암호화 데이터와 원 암호화 테이블의 열번호를 갖는 FBI에 대해 인덱스 검색이 실시되며, 도 2에서 보는 것과 같이 질의문 수행시 인덱스 검색(203)이 수행된다.
바람직한 실시 예에서는 암호화된 컬럼 읽기에서 재 암호화된 데이터를 이용한 FBI 구축을(601, 603, 605, 607) 하나의 절차로 수행하게 된다. 이 때 사용하는 기법은 외부 절차 호출을 이용하게 된다. 인덱스 용 테이블의 암호화 데이터로 인덱스를 구축한 결과를 보여주는 것이 도 8이 된다.
도 8을 참조하여 암호화된 데이터에 대한 인덱스 검색이 어떻게 이루어지는지 설명하면 다음과 같다. 암호화된 데이터를 갖는 테이블(801)에는 암호화된 데이터와 열번호가 있다. 재 암호화된 데이터를 갖는 FBI(803)은 재 암호화된 데이터와 암호화된 테이블(801)의 열번호를 갖는다.
사원번호로 검색을 실시하는 경우, 암호 테이블의 FBI로부터 해당되는 사원번호를 찾게 되는데, 인덱스가 구축되어 있으므로 인덱스 검색을 실시할 수 있어 빠르게 해당 데이터를 찾아낼 수 있게 된다.(805). 암호화된 테이블에 대한 FBI에서 원하는 데이터를 찾게 되면 해당되는 암호화된 테이블의 열번호는 바로 찾아지게 된다(807). 암호화 테이블에서 찾아진 행에는 암호화된 사원번호가 존재하고 암호화된 사원번호를 복호화(809)하면 최종적으로 원하는 결과를 얻을 수 있다.
본 발명의 또 다른 측면에 따르면, 이러한 암호화된 컬럼에 대한 인덱스 검색 절차를 질의어의 변경없이 데이터베이스 옵티마이저가 수행할 수 있도록 하는 방법은 도메인 인덱스를 사용하는 것이다. 암호화된 테이블은 질의어상에 그대로 나타나지 않고, VIEW를 통해서 접근하게 된다. 암호화된 데이터에 대한 복호화 과정을 외부 절차 호출을 이용할 수 있게 하기 때문이다. 그러나 질의어에 조건문이 포함되는 경우, 그리고 조건문안에 암호화된 컬럼에 대한 검색 조건이 존재하는 경우에는 기존에 사용하던 문장을 그대로 사용하게 되면 VIEW에서 정의된 대로 암호화된 모든 컬럼을 복호화한 이후에 조건문에 정의된 검색 조건과 비교를 하게 되므로 색인 검색을 할 수 있도록 설정이 되어 있다 하더라도 무조건 모든 컬럼을 복호화해야만 한다. 따라서 위와 같은 상황인 경우, 즉 질의어에 조건문이 포함되어 있고 조건문 내에 암호화된 컬럼에 대한 검색조건이 명기되어 있는 경우에는 조건문을 자동적으로 재 구성하여 준비된 인덱스를 사용할 수 있도록 해주어야만 한다. 본 발명에서는 도메인 인덱스 기법을 사용하여 질의어를 자동 변경하여 구축된 인덱스를 사용할 수 있게 한다.
도 9는 암호화 컬럼에 대한 인덱스가 구축되어 있음에도 불구하고 질의문 변경이 자동적으로 일어나지 않아 모든 데이터에 대한 Scan이 발생하는 것을 보여주고 있다. 본 발명의 바람직한 실시 예에 따라 도 10은 암호화된 컬럼에 대한 인덱스가 구축되어 있고 질의문 자동 변경을 적용한 이후 VIEW를 통한 검색이 도메인 인덱싱을 수행하고 있음을 보여주고 있다. 따라서 암호화된 컬럼에 대한 인덱스 구축과 조건문의 자동적인 변경에 따라 응용프로그램과의 독립성을 보장함은 물론 인덱스 검색을 수행할 수 있어 암호화하기 전의 검색 성능을 발휘할 수 있게 된다.
본 발명에 따르면 암호화되어 있는 컬럼에 대한 인덱스를 생성할 수 있고, 인덱스 검색을 수행하여 암호화된 컬럼에 대한 검색 성능을 획기적으로 제고할 수 있는 방법을 제공할 수 있다.
또한 본 발명에 따르면, 암호화된 컬럼을 갖고 있는 테이블에 대해 암호화된 컬럼에 대한 조건 검색시 일치 검색, 전방일치검색, 범위검색등을 막론하고 응용프로그램과의 독립성을 유지하면서 인덱스 검색을 수행할 수 있는 방법을 제공한다.

Claims (5)

  1. 암호화되어 있는 컬럼을 갖는 테이블을 저장하는 데이터 베이스에서, 상기 암호화된 컬럼에 대해 인덱스를 구축하는 방법에 있어서,
    (a) 상기 테이블로부터 암호화된 컬럼 데이터를 읽는 단계;
    (b) 상기 읽은 암호화된 컬럼 데이터를 복호화하는 단계;
    (c) 상기 복호화된 컬럼 데이터로부터 평문을 기준으로 정렬 순서가 유지될 수 있도록 상기 복호화된 컬럼 데이터를 재 암호화하는 단계;
    (d) 상기 재 암호화된 컬럼 데이터를 도메인 인덱스로 사용할 인덱스용 테이블로 저장하는 단계;
    (e) 상기 저장된 인덱스용 테이블에 인덱스를 생성하는 단계;
    (f) 상기 생성된 인덱스용 테이블과 인덱스용 테이블에 생성된 인덱스로 도메인 인덱스를 구축하는 단계;를 포함하는 암호화된 컬럼의 인덱스 구축방법.
  2. 제 1항에 있어서,
    (d) 상기 재 암호화된 컬럼 데이터를 도메인 인덱스로 사용할 인덱스용 테이블로 저장하는 단계는,
    (d1) 상기 재 암호화된 컬럼 데이터를 이용하여 일반 테이블 혹은 인덱스구조테이블(Index Organized Table)의 형태로 인덱스용 테이블을 생성하는 단계;
    (d2) 상기 재 암호화된 컬럼 데이터를 인덱스용 테이블에 저장하는 단계;를 포함하는 암호화된 컬럼의 인덱스 구축방법.
  3. 제 1항에 있어서,
    (e) 상기 저장된 인덱스용 테이블에 인덱스를 생성하는 단계는,
    (e1) 상기 인덱스용 테이블의 재 암호화된 컬럼 데이터를 갖는 컬럼에 대한 B-트리 인덱스를 생성하는 단계 ;
    (e2) 상기 재 암호화된 컬럼 데이터가 저장된 컬럼에 대해 재암호화된 형태의 인덱스를 함수기반인덱스(Function Based Index)의 형태로 생성하는 단계를 포함하는 암호화된 컬럼의 인덱스 구축방법 .
  4. 삭제
  5. 삭제
KR1020060097710A 2006-10-04 2006-10-04 암호화된 컬럼의 인덱스 구축방법 KR100737359B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020060097710A KR100737359B1 (ko) 2006-10-04 2006-10-04 암호화된 컬럼의 인덱스 구축방법
PCT/KR2007/004741 WO2008041810A1 (en) 2006-10-04 2007-09-28 Method for indexing encrypted column
JP2009531317A JP4827969B2 (ja) 2006-10-04 2007-09-28 暗号化されたコラムのインデックス構築方法
US12/444,543 US8281153B2 (en) 2006-10-04 2007-09-28 Method for indexing encrypted column

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060097710A KR100737359B1 (ko) 2006-10-04 2006-10-04 암호화된 컬럼의 인덱스 구축방법

Publications (2)

Publication Number Publication Date
KR20060121772A KR20060121772A (ko) 2006-11-29
KR100737359B1 true KR100737359B1 (ko) 2007-07-10

Family

ID=37707358

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060097710A KR100737359B1 (ko) 2006-10-04 2006-10-04 암호화된 컬럼의 인덱스 구축방법

Country Status (4)

Country Link
US (1) US8281153B2 (ko)
JP (1) JP4827969B2 (ko)
KR (1) KR100737359B1 (ko)
WO (1) WO2008041810A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100995123B1 (ko) * 2008-01-16 2010-11-18 재단법인서울대학교산학협력재단 암호화 방법, 클라이언트의 데이터 처리 방법
KR101371608B1 (ko) * 2011-10-10 2014-03-14 주식회사 알티베이스 Dbms 및 데이터베이스에서 암호화 방법

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7827403B2 (en) * 2005-04-13 2010-11-02 Oracle International Corporation Method and apparatus for encrypting and decrypting data in a database table
US20080097954A1 (en) * 2006-10-20 2008-04-24 Microsoft Corporation Ranged lookups
KR100899450B1 (ko) * 2007-09-21 2009-05-27 고려대학교 산학협력단 암호화된 문서의 근사 스트링 매칭 방법, 이를 기록한기록매체 및 그 시스템
KR100936937B1 (ko) * 2007-12-18 2010-01-14 한국전자통신연구원 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법
KR100919824B1 (ko) * 2007-12-20 2009-10-01 한국전자통신연구원 데이터 암호화 장치와 이를 이용한 암호화 방법
US8738683B2 (en) * 2008-09-15 2014-05-27 Vaultive Ltd. System, apparatus and method for encryption and decryption of data transmitted over a network
CN101788985B (zh) * 2009-01-23 2013-01-23 日电(中国)有限公司 对加密倒排索引表进行k匿名更新的方法和装置
US8332655B2 (en) * 2009-01-30 2012-12-11 International Business Machines Corporation Method for order invariant correlated encrypting of data and SQL queries for maintaining data privacy and securely resolving customer defects
WO2011078535A2 (ko) * 2009-12-22 2011-06-30 Lee Soon Goo 개인 정보를 순서 정보와 내용 정보로 분리하여 암호화하고 합성하는 방법, 장치, 서버 및 기록 매체
WO2011145096A1 (en) 2010-05-21 2011-11-24 Vaultive Ltd. System and method for controlling and monitoring access to data processing applications
KR101188886B1 (ko) * 2010-10-22 2012-10-09 삼성에스디에스 주식회사 유전 정보 관리 시스템 및 방법
KR101040756B1 (ko) * 2010-12-03 2011-06-10 (주)케이사인 식별 데이터를 이용하여 맵핑하는 방법
CN102034049B (zh) * 2010-12-30 2013-05-01 华中科技大学 海量数据压缩加密存储及检索系统及其使用方法
US8806223B2 (en) * 2011-05-03 2014-08-12 Douglas Norman Crowe System and method for management of encrypted data
JP5942991B2 (ja) 2011-07-29 2016-06-29 日本電気株式会社 情報漏えいに耐性を持つインデックス生成システム及びインデックス生成装置並びにその方法
US9852306B2 (en) 2013-08-05 2017-12-26 International Business Machines Corporation Conjunctive search in encrypted data
US9646166B2 (en) * 2013-08-05 2017-05-09 International Business Machines Corporation Masking query data access pattern in encrypted data
KR101539306B1 (ko) * 2013-10-14 2015-07-24 주식회사 파수닷컴 데이터베이스에서 암호화된 필드에 대한 색인 생성 및 검색 방법
US9576116B2 (en) * 2013-12-26 2017-02-21 Nxp B.V. Secure software components anti-reverse-engineering by table interleaving
US9400817B2 (en) * 2013-12-31 2016-07-26 Sybase, Inc. In-place index repair
KR101563461B1 (ko) * 2015-03-24 2015-10-26 주식회사 티맥스데이터 데이터베이스 보안 관리를 위한 방법, 서버 및 컴퓨터-프로그램
US9633219B2 (en) 2015-08-26 2017-04-25 International Business Machines Corporation Providing secure indexes for searching encrypted data
DE102017111480A1 (de) * 2017-05-24 2018-11-29 Bundesdruckerei Gmbh Kommunikationsvorrichtung zum Indexieren einer verschlüsselten Kommunikationsnachricht
US10698883B2 (en) 2017-10-25 2020-06-30 International Business Machines Corporation Data coherency between trusted DBMS and untrusted DBMS
US10540356B2 (en) * 2017-10-25 2020-01-21 International Business Machines Corporation Transparent analytical query accelerator over encrypted data
US10783270B2 (en) 2018-08-30 2020-09-22 Netskope, Inc. Methods and systems for securing and retrieving sensitive data using indexable databases

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060087103A (ko) * 2005-01-28 2006-08-02 펜타시큐리티시스템 주식회사 인덱스 컬럼 암호화 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805706A (en) * 1996-04-17 1998-09-08 Intel Corporation Apparatus and method for re-encrypting data without unsecured exposure of its non-encrypted format
US6094649A (en) * 1997-12-22 2000-07-25 Partnet, Inc. Keyword searches of structured databases
JP3457184B2 (ja) * 1998-06-25 2003-10-14 シャープ株式会社 検索装置及びその制御プログラムを記憶した媒体
KR100741283B1 (ko) * 1999-12-14 2007-07-19 주식회사 케이티 정보 검색시스템에서의 정보 검색을 위한 부분검색 장치 및 그 방법과 이의 인덱스 테이블 구축 방법
JP2002108910A (ja) * 2000-09-27 2002-04-12 Nec Soft Ltd 暗号化ファイルシステム及び暗号化ファイル検索方法並びにコンピュータ可読記録媒体
JP2002278970A (ja) * 2001-03-16 2002-09-27 Ricoh Co Ltd 文書管理システム
US7024414B2 (en) * 2001-08-06 2006-04-04 Sensage, Inc. Storage of row-column data
JP4050050B2 (ja) * 2001-12-17 2008-02-20 株式会社アクアキャスト リレーショナルデータベース及びそのリレーショナルデータベースにおけるインデックステーブルの作成方法並びに該リレーショナルデータベースにおける範囲検索の方法およびその範囲検索のための順位検索方法
JP4395611B2 (ja) 2003-10-28 2010-01-13 独立行政法人情報通信研究機構 暗号化データベース検索装置および方法ならびに暗号化データベース検索プログラム
US8661263B2 (en) * 2006-09-29 2014-02-25 Protegrity Corporation Meta-complete data storage

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060087103A (ko) * 2005-01-28 2006-08-02 펜타시큐리티시스템 주식회사 인덱스 컬럼 암호화 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100995123B1 (ko) * 2008-01-16 2010-11-18 재단법인서울대학교산학협력재단 암호화 방법, 클라이언트의 데이터 처리 방법
KR101371608B1 (ko) * 2011-10-10 2014-03-14 주식회사 알티베이스 Dbms 및 데이터베이스에서 암호화 방법
US8949603B2 (en) 2011-10-10 2015-02-03 Altibase Corporation Database management system and encryption method performed in database

Also Published As

Publication number Publication date
KR20060121772A (ko) 2006-11-29
WO2008041810A1 (en) 2008-04-10
US8281153B2 (en) 2012-10-02
JP4827969B2 (ja) 2011-11-30
US20100169665A1 (en) 2010-07-01
JP2010506289A (ja) 2010-02-25

Similar Documents

Publication Publication Date Title
KR100737359B1 (ko) 암호화된 컬럼의 인덱스 구축방법
Mishra et al. Oblix: An efficient oblivious search index
EP3417397B1 (en) Searchable encryption of conjunctive sql statements
US10985902B2 (en) Dynamic symmetric searchable encryption
JP4810611B2 (ja) 暗号化されたデータの検索
US10554385B2 (en) Method for providing encrypted data in a database and method for searching on encrypted data
US8225107B2 (en) Methods of storing and retrieving data in/from external server
CN112800088A (zh) 基于双向安全索引的数据库密文检索系统及方法
WO2008048748A1 (en) Ranged lookups
KR100936937B1 (ko) 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법
Mani Enabling secure query processing in the cloud using fully homomorphic encryption
Alhanjouri et al. A New method of query over encrypted data in database using hash map
KR100698834B1 (ko) 인덱스 컬럼 암호화 방법
CN116186108A (zh) 加密敏感字段支持模糊查询的方法
CN111797097B (zh) 一种基于软硬件结合的方式实现安全范围查询的方法
KR102222936B1 (ko) 완전 동형 암호화된 데이터를 데이터베이스에 저장하는 방법
CN116701493B (zh) 支持模糊查询的数据库操作方法及用户端
CN117763614A (zh) 一种sql语句的拦截与改写方法
CN115688132A (zh) 一种支持sql查询的数据库字段加密方法及装置
Hao Database Mining Information System Based on Artificial Intelligence Algorithm
Sonam Darda et al. Study of Multi-keyword ranked searching and encryption technique over cloud
CN115905210A (zh) 数据库系统和数据库处理方法
Chen et al. Oblix: An Efficient Oblivious Search Index
CN117494167A (zh) 一种面向数据库的结构化可搜索加密方法及系统
CN115269504A (zh) 文档上传存储方法、查询下载方法、装置、设备及介质

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
J204 Request for invalidation trial [patent]
J301 Trial decision

Free format text: TRIAL DECISION FOR INVALIDATION REQUESTED 20071119

Effective date: 20081120

J2X1 Appeal (before the patent court)

Free format text: INVALIDATION

J302 Written judgement (patent court)

Free format text: JUDGMENT (PATENT COURT) FOR INVALIDATION REQUESTED 20081222

Effective date: 20091029

J2X2 Appeal (before the supreme court)

Free format text: APPEAL BEFORE THE SUPREME COURT FOR INVALIDATION

EXTG Ip right invalidated
J303 Written judgement (supreme court)

Free format text: JUDGMENT (SUPREME COURT) FOR INVALIDATION REQUESTED 20091130

Effective date: 20100325

G170 Publication of correction