KR100936937B1 - 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법 - Google Patents

버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법 Download PDF

Info

Publication number
KR100936937B1
KR100936937B1 KR1020070133673A KR20070133673A KR100936937B1 KR 100936937 B1 KR100936937 B1 KR 100936937B1 KR 1020070133673 A KR1020070133673 A KR 1020070133673A KR 20070133673 A KR20070133673 A KR 20070133673A KR 100936937 B1 KR100936937 B1 KR 100936937B1
Authority
KR
South Korea
Prior art keywords
bucket
value
database
values
plain text
Prior art date
Application number
KR1020070133673A
Other languages
English (en)
Other versions
KR20090066063A (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 KR1020070133673A priority Critical patent/KR100936937B1/ko
Priority to US12/136,809 priority patent/US20090316887A1/en
Publication of KR20090066063A publication Critical patent/KR20090066063A/ko
Application granted granted Critical
Publication of KR100936937B1 publication Critical patent/KR100936937B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Abstract

본 발명은 데이터베이스(database)의 테이블의 컬럼(column)을 구성하는 숫자 데이터에 대하여, 버킷(bucket) ID 변환을 이용하여 안전하게 암호화하여 저장하고 효율적으로 검색함을 목적으로 한다. 본 발명에서 제안하는 기술은 데이터베이스에 숫자 데이터를 암호화(Encryption)하고 복호화(Decryption)함에 있어서, 안전성을 최대화하여 저장하고 성능저하를 최소화하여 검색할 수 있는 방법에 관한 것이다.
전처리, 암호화, 복호화, 후처리

Description

버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법{DATABASE ENCRYPTION AND QUERY METHODS KEEPING ORDER WITHIN BUCKET PARTIALLY}
본 발명은 데이터베이스에 숫자데이터를 안전하게 암호화하여 저장하고, 효율적으로 검색하는데 적합한 데이터베이스 암호화 및 검색 기술에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-021-01, 과제명: 개인정보 DB를 위한 통합형 보안 기술 개발].
종래에는 주민번호, 계좌번호 등의 개인정보를 보호하기 위하여 데이터베이스에 저장할 때, DES(Data Encryption Standard), AES(Advanced Encryption Standard)등의 대칭키 표준 암호알고리즘(Symmetric Cryptosystems)이나 공개키 암호알고리즘(Public Key Cryptosystems 또는 Asymmetric Cryptosystems)을 적용하였다. (대칭키 암호알고리즘은 공개키 암호알고리즘과 비교하여 연산속도가 빠르기 때문에 검색성능을 중요시 하는 데이터베이스에서는 일반적으로 대칭키 암호알고리즘을 사용하므로, 후술하는 설명에서는 대칭키 암호알고리즘을 기준으로 비교하기 로 한다.)
그러나 이와 같은 종래의 방법으로는 암호화하여 저장한 데이터에 대하여, 검색할 때에 성능저하의 문제점이 있다. 그 이유는 데이터베이스의 특정 테이블을 구성하는 하나의 컬럼에 저장되는 암호문들의 순서와 암호화하기 전의 평문들의 순서가 다르기 때문에, 데이터베이스시스템(DBMS)에서 제공하는 인덱싱에 의한 검색속도 최적화를 활용할 수 없기 때문이다. 즉, 컬럼을 구성하는 데이터의 평문과 암호문의 순서가 다르기 때문에 인덱스를 구성하는 데이터가 다르며, 특히 범위검색의 경우에는 사용자가 요청하는 검색문에 대하여 암호화한 데이터를 모두 복호화한 후에 차례대로 검색을 수행해야 한다. 따라서 이와 같이 표준 암호알고리즘을 이용하여 저장한 데이터를 검색할 때의 속도는, 평문을 그대로 저장하고 검색하는 속도와 비교하여 상당한 속도저하를 초래하게 된다.
위의 문제를 해결하고자 제안된 하나의 종래의 기술로서 버킷기반(bucket based) 인덱스 방법이 있다.
이 방법은 도 4와 같이 원래 테이블을 구성하는 전체 행을 기존 암호알고리즘으로 암호화를 수행하고, 인덱스로 사용할 컬럼(column)의 데이터에 대하여 버킷팅을 수행한다.
도 4에 도시한 바와 같이, 왼쪽 테이블이 원래의 평문 테이블이고, 오른쪽이 버킷기반 인덱스(buckety based index) 방법을 적용한 암호화 테이블이다.
오른쪽의 'Etuple' 컬럼은 원래의 5개의 컬럼을 합하여(concatenate) 공개된 암호 알고리즘(AES, DES 등)으로 암호화하고, 컬럼별로 버킷기반 인덱스 방법으로 암호화하여 저장하는 구조이다.
왼쪽의 'Salary' 컬럼의 경우에는 10과 20 사이는 λ를 할당하고, 20과 30 사이의 값은 ρ를 할당하였다. 만일, 'Salary'가 15보다 크고 25보다 작은 값을 검색하고자 할 때, 우선 15와 25가 각각 λ, ρ에 해당하기 때문에, λ와 ρ에 해당하는 모든 값을 가져온 다음, 'Etuple'의 값을 복호화하여 'Salary'가 λ와 ρ에 해당하는 평문을 모두 볼 수 있다.
이때, 버킷 범위내의 데이터는 모두 동일한 버킷번호를 할당받게 되며 이 값을 인덱스정보로 이용하게 된다. 따라서 이 경우 일치검색을 통하여 정확하게 일치하는 평문값을 알기 위해서는 검색값이 포함된 버킷을 가져와서 모두 복호화한 후 비교하는 추가 필터링이 필요하며, 범위검색을 적용할 때에도 해당결과를 포함하는 버킷을 모두 가져와서, 버킷내의 암호화된 값을 모두 복호화하는 필터링 과정이 필요하다.
따라서 종래 기술의 경우, 정확한 값을 얻기 위해서 버킷 ID가 동일한 암호화값을 모두 복호화 한 다음에 알 수 있으므로, 실제로 일치검색과 범위검색을 지원한다고 볼 수는 없다. 또한, 검색식과 일치하는 값 이외의 정보도 복호화해야 하기 때문에 추가적인 정보가 노출될 수 있는 안전성의 문제도 유발 시킬 수 있다.
이와 같이, 종래에는 데이터를 암호화하여 데이터베이스에 저장하고 검색함에 있어서, 검색 성능 측면의 문제나 암호 알고리즘 자체의 안전성 측면의 문제가 있다.
이에 본 발명은, 데이터베이스의 테이블의 컬럼을 구성하는 숫자 데이터에 대하여 버킷내의 순서를 부분적으로 유지함으로써, 안전하게 암호화하여 저장하고 효율적으로 검색할 수 있는 방안을 제공하고자 한다.
또한 본 발명은, 버킷내의 순서를 부분적으로 적용하는 것을 추가함으로써, 일치검색, 범위검색, MIN, MAX, COUNT 등의 검색과정의 속도문제를 해결하고, 변환과정에서 기존 표준 암호알고리즘을 적용함으로써 안전성문제를 해결하여 효율적으로 데이터베이스를 암호화하고 검색할 수 있는 방안을 제공하고자 한다.
본 발명의 과제를 해결하기 위한 바람직한 실시예에 따르면, 데이터베이스에서 숫자 데이터를 암호화하여 저장하는 데이터베이스 처리 방법으로서, 평문이 할당된 버킷 내에서 상기 평문의 상대값을 계산하는 과정과, 상기 버킷 내에서 랜덤 넘버를 발생하여 제 1 키 값을 생성하는 과정과, 상기 버킷의 버킷 범위를 입력으로 하는 함수를 정의하는 제 2 키 값을 생성하는 과정과, 상기 제 1 키 값 및 제 2 키 값에 따라 상기 평문의 상대값을 부분적으로 순서를 유지하도록 변환한 후 변환 된 상대값을 저장하는 과정을 포함하는 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법을 제공한다.
본 발명에 의하면, 데이터베이스 시스템에 적용되어 중요한 데이터를 데이터베이스에 저장하고 검색할 때, 저장된 데이터에 대한 안전성은 물론, 데이터 검색(일치검색, 범위검색, MIN, MAX, COUNT 등) 시에도 효율적으로 검색결과를 제공할 수 있도록 한다. 적용되는 데이터는 숫자 데이터로서 정수는 물론 실수도 정수로 변환하여 사용가능 하며, 주민번호, 계좌번호 등 숫자형 문자데이터에 대해서도 숫자로 변환하여 본 발명을 적용할 수 있다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 설명하고자 한다.
도 1은 본 발명의 일 관점에 따른 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법을 구현하기 위한 개략적인 시스템 구성도로서, 버킷 할당부(100), 데이터베이스 처리부(102), 암호화 데이터베이스(104), 복호화부(106), 후처리부(108)를 포함하고 구성된다.
도 1에 도시한 바와 같이, 버킷 할당부(100)는 입력되는 평문, 예를 들면 숫자 데이터 m(정수 또는 실수)을 특정 버킷에 할당하여 데이터베이스 처리부(102)로 제공하는 역할을 한다.
본 발명에 따른 데이터베이스 처리부(102)는, 상기 버킷 할당부(100)로부터 할당된 버킷의 버킷 범위에 따라 상대값을 계산하며, 계산되는 상대값을 버킷내 부분 순서 보존을 통해 변환하는 역할을 한다.
보다 상세히 설명하면, 데이터베이스 처리부(102)는, 할당된 버킷의 버킷 크기 내에서 랜덤 넘버(random number)를 발생하여 제 1 키 값을 생성하고, 할당된 버킷의 버킷 범위를 입력으로 하는 함수를 정의하는 제 2 키 값을 생성하며, 제 2 키 값의 생성 결과에 따라 버킷 범위 내의 값들을 정순 또는 역순으로 배열하여 상기 상대값을 변환하는 역할을 한다. 이러한 버킷내 부분 순서 보존을 통한 데이터베이스 처리 과정은 하기 흐름도에서 보다 상세히 다루기로 한다.
암호화 데이터베이스(104)에는, 상기 데이터베이스 처리부(102)를 통해 변환된 상대값이 저장되며, 이 암호화 데이터베이스(104)에 저장된 변환 상대값은 추후 암호화 데이터 겁색에 의해 복호화부(106)로 제공될 수 있다.
복호화부(106)는 상기 데이터베이스 처리부(104)를 통해 제공되는 변환 상대값으로부터 평문을 복호화하는 역할을 하며, 후처리부(108)는 상기 복호화부(106)를 통해 복호화된 평문을 연산 및 출력하는 역할을 한다.
이하, 상술한 구성과 함께, 본 발명의 바람직한 실시예에 따른 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법을 첨부한 도 2 및 도 3을 참조하여 상세히 설명하기로 한다.
설명에 앞서, 종래의 기술인 버킷팅의 경우에는, 평문이 주어졌을 때 특정버 킷으로 할당하여 버킷정보(버킷 ID)만 이용하였다. 즉, 동일한 버킷을 할당 받은 서로 다른 평문의 버킷정보는 동일하다. 일치검색과 범위검색을 요청한 경우에는 버킷내 정확한 값을 검색하지 못하며, 동일한 버킷내에 포함된 암호화 값들을 모두 복호화한 후 추가 필터링 작업을 해야만 했다. 따라서 단순히 버킷 ID만 이용하는 종래 기술은 추가 필터링 작업 때문에 검색의 속도 저하는 물론, 불필요한 평문 정보를 노출시킴으로써 보안성의 취약성 문제를 유발하게 된다.
이를 감안하여 본 실시예에서는, 버킷 ID 뿐만 아니라 두 개의 키 값을 이용하여 변환한 상대값을 함께 사용한다는 것으로, 첫 번째 키는 버킷의 범위 안에서 랜덤 넘버를 하나 발생시켜서 이 값을 경계로 하여 버킷내 순서정보를 분리시키며, 두 번째 키는 버킷내의 값들을 정순 혹은 역순으로 배열할지를 결정하도록 함을 그 특징으로 한다.
먼저, 도 2는 본 발명의 바람직한 실시예에 따른 버킷내 부분 순서 보존을 통한 데이터베이스 처리 과정을 나타낸 흐름도이고, 도 3a 및 도 3b는 도 2의 버킷내 부분 순서 보존을 통한 데이터베이스 처리 과정의 구체적인 동작 예를 설명한 것이다.
이때, 도 3a는 0에서 100까지를 범위로 하는 시험성적을 예로 든 것으로, 도 3a와 같이 0에서 100까지 버킷의 범위에 따라 버킷(c)이 주어졌다고 가정하면, 만일, 38점이 주어졌을 때, 이것은 버킷(c)이 f에 해당하며, 버킷(c) f의 시작값(s1)은 36이므로 38과의 상대값(x)은 2이다. 그러나 상대값(x)을 그대로 유지하면 안 전성이 약하므로, 다음 도 2와 같이 본 발명에 따라 상대값(x)을 변환하게 된다.
도 2에 도시한 바와 같이, 단계(S200)에서 평문(p)이 입력되면, 버킷 할당부(100)는 상기 평문(p)에 대해 특정 버킷(c)으로 할당한다(S202).
이후, 데이터베이스 처리부(102)는 상기 버킷 할당부(100)를 통해 할당된 버킷(c)의 버킷 범위(s1, s2)에 따라 상기 평문(p)의 버킷내 상대값(x)을 계산한다(S204). 이때의 상대값(x)은 다음 [수학식 1]로 표현될 수 있다.
x = p-s1
이후, 데이터베이스 처리부(102)는 상기 버킷(c)의 버킷 크기(s2-s1) 내에서 랜덤 넘버(N)를 발생하여 제 1 키 값(k1)을 생성한다. 즉, 제 1 키 값(k1)은 버킷 크기(s2-s1)보다 같거나 작은 범위내의 랜덤 넘버(N)로서, 예컨대 도 3a에서 버킷(c) f(s1=36이고 s2=41)에서의 버킷 크기(s2-s1)는 5(41-36)이므로, 제 1 키 값(k1)은 5 이하의 랜덤 넘버(N)로 설정될 수 있다. 이때의 제 1 키 값(k1)은 버킷 범위(s1, s2) 내에서 발생한 랜덤 넘버(N)를 기준으로 순서 정보를 분리시키는 역할을 함을 특징으로 한다.
다음으로, 데이터베이스 처리부(102)는 'mod2' 연산을 적용하여 버킷 범위(s1, s2)를 입력으로 하는 함수(f)를 정의하는 제 2 키 값(k2)을 생성한다. 이러 한 제 2 키 값(k2)은 도 3a에 예시한 바와 같이, 버킷(c)이 f(s1=36이고 s2=41)인 경우, 버킷 크기(s2-s1)는 5(41-36)가 되므로, 5에 대한 'mod2'를 적용, 즉 5를 2로 나누어 그 결과값(0 또는 1)을 제 2 키 값(k2)으로 생성한다.
이후 단계(S210)에서 데이터베이스 처리부(102)는, 상기 제 2 키 값(k2)이 1인지를 판단하고, 제 2 키 값(k2)이 1인 경우에는 단계(S212)로 진행한다.
단계(S212)에서 데이터베이스 처리부(102)는 버킷 범위(s1, s2)내의 값들을 정순(貞順)으로 배열한 후, 단계(S216)로 진행하여 상기 평문(p)에 대한 상대값, 예컨대 x=2를 변환하여 변환된 상대값, 예컨대 y=4를 생성한다. 이는 다음 [수학식 2]와 같이 표현될 수 있다.
y = x + (s - N), 0<x≤N
y = x - N, N<x≤s
이때, [수학식 2]에서 'y=x-N'의 경우는 'x>3'의 조건을 만족할 때 적용되는 함수이며, 'x>3'의 조건을 만족하지 않을 경우에는 함수 'y=x+(s-N)'이 적용된다.
반면, 제 2 키 값(k2)이 0인 경우, 예를 들면 도 3a에서 버킷(c) e(s1=71이고 s2=79)에서의 버킷 크기(s2-s1)는 8(79-71)이 되므로, 8에 대한 'mod2'를 적용, 즉 8을 2로 나누면 그 결과값이 0인 경우에는, 데이터베이스 처리부(102)는 단 계(S214)로 진행한다.
단계(S214)에서 데이터베이스 처리부(102)는 버킷 범위(s1, s2)내의 값들을 역순(逆順)으로 배열한 후, 단계(s216)로 진행하여 상기 평문(p)에 대한 상대값, 예컨대 x=6을 변환하여 변환된 상대값, 예컨대 y=7을 생성한다. 이는 다음 [수학식 3]과 같이 표현될 수 있다.
y = s - x - (s - N), 0<x≤N
y = s - x + N, N<x≤s
이때, [수학식 3]에서 'y=s-x+N'의 경우는 'x>5'의 조건을 만족할 때 적용되는 함수이며, 'x>5'의 조건을 만족하지 않을 경우에는 함수 'y=x+(s-N)'이 적용된다.
이와 같은 상대값(x) 변환 과정이 완료되면, 데이터베이스 처리부(102)는 변환된 상대값(y)을 암호화 데이터베이스(104)에 저장한다(S218).
이후의 과정(복호화 및 후처리 과정)은 본 발명의 핵심 기술과 크게 관련이 없고, 또한 본 발명의 기술 분야에서의 통상의 지식을 가진 자라면 용이하게 이해할 수 있는 바, 구체적인 설명은 생략하기로 한다.
도 3b는 평문(p)의 버킷내 상대값(x)을 변환한 경우를 예시한 결과 그래프이다.
도 3b에서 좌측 그래프는 버킷 범위(s1, s2) 내의 값들을 정순으로 배열하여 상대값(x)을 y값으로 변환한 경우이고, 도 3b의 우측 그래프는 버킷 범위(s1, s2) 내의 값들을 역순으로 배열하여 상대값(x)을 y값으로 변환한 경우이다.
한편, 도 2 및 도 3을 보다 구체적으로 설명하기 위하여, 일치검색과 범위검색에 대한 예를 설명하기로 한다.
<일치검색 비교>
먼저, 일치검색으로 시험성적이 38점에 해당하는 학생정보를 검색한다고 했을 때, 종래의 기술을 이용하면, 매핑함수에 의해 38은 버킷(c)이 f 이므로 아래와 같은 SQL 문으로 암호화 데이터베이스(104)에 전달된다.
select * from 테이블명 where (버킷(c)=f) ;
즉, 버킷(c)이 f에 해당하는 모든 학생정보를 가져온 후, 암호화된 모든 값을 복호화 한 다음에, 실제 시험성적이 38인 학생정보만 필터링하는 작업을 수행해야만 한다.
그러나 본 발명을 이용하면 다음과 같은 SQL 문이 된다.
select * from 테이블명 where (버킷(c)=f) and (y=4);
즉, 위 SQL 문의 결과에 해당하는 모든 암호화 값을 복호화하면 된다.
<범위검색 비교>
사용자가 시험성적이 38점보다 크고 77점보다 작은 점수에 해당하는 검색을 요청한 예를 가정하여 보자.
종래의 기술을 이용하면, 38보다 크고 77보다 작은 범위에 해당하는 버킷 ID 가 (f, b, d, k, e) 에 해당하므로, 암호화 데이터베이스(104)에 전달된다.
select * from 테이블명 where (버킷(c)=f) and (버킷(c)=b) and (버킷(c)=d) and (버킷(c)=k) and (버킷(c)=e)
그러나 범위검색에 포함되는 처음 버킷과 마지막 버킷인, f 혹은 e의 경우에는 버킷내에 포함된 모든 값을 복호화 한 후에 38보다 크고 77보다 작은 값을 비교하는 필터링 작업을 수행해야만 한다.
본 발명을 이용하면, 처음 버킷과 마지막 버킷을 제외하고는 다음과 같은 SQL 문이 된다.
select * from 테이블명 where (버킷(c)=b) and and (버킷(c)=d) and (버킷(c)=k) ;
처음 버킷의 경우에는 다음과 같은 SQL 문이 된다.
select * from 테이블명 where ( (버킷(c)=f) and ((y > 0) and (y <= 2)) or ((y > 4) and (y <= 5)) ) ;
마지막 버킷의 경우에는 다음과 같은 SQL 문이 된다.
select * from 테이블명 where ( (버킷(c)=e) and ((y >= 0) and (y < 5)) or ((y >= 7) and (y < 8)) ) ;
즉, 위 세 번의 SQL 결과에 해당하는 암호화 값을 모두 복호화하면 된다.
이와 같이 본 발명은, 정수뿐만 아니라 특히, 실수 데이터에 대해서도, 버킷내의 순서를 부분적으로 유지함으로써, 안정성은 물론, 일치검색, 범위검색, MIN, MAX, COUNT 검색시에도 효율적으로 검색속도를 보장할 수 있다.
이상, 본 발명의 실시예에 대해 상세히 기술하였으나 본 발명은 이러한 실시예에 국한되는 것은 아니며, 후술하는 청구범위에 기재된 본 발명의 기술적 사상과 범주 내에서 당업자로부터 여러 가지 변형이 가능함은 물론이다.
본 발명으로 인해, 기존의 데이터베이스 암호화 및 검색 방법과 비교하여 안전성과 검색의 효율성을 동시에 만족시킴으로써, 데이터베이스를 사용하는 국가기관, ISP, 포털, 금융권 등이 개인정보보호를 실현하는 데 기여할 수 있다.
도 1은 본 발명에 따른 방법을 구현하기 위한 데이터베이스 처리 시스템의 개략적인 구성 블록도,
도 2는 본 발명의 바람직한 실시예에 따른 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법을 설명하는 흐름도,
도 3a 및 도 3b는 도 2의 데이터베이스 처리 방법의 예시 도면,
도 4는 종래 버킷 기반의 인덱싱을 설명하기 위한 예시 도면.

Claims (6)

  1. 데이터베이스에서 숫자 데이터를 암호화하여 저장하는 데이터베이스 처리 방법으로서,
    평문이 할당된 버킷 내에서 상기 평문의 상대값을 계산하는 과정과,
    상기 버킷의 버킷 크기 이하의 랜덤 넘버인 제 1 키 값을 생성하는 과정과,
    생성되는 상기 제 1 키 값에 대해 mod2를 적용한 결과값인 제 2 키 값을 생성하는 과정과,
    상기 제 2 키 값의 생성 결과에 따라 상기 버킷 범위 내의 값들을 정순 또는 역순으로 배열하여 상기 상대값을 변환하는 과정
    을 포함하는 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법.
  2. 제 1 항에 있어서,
    상기 제 1 키 값은, 상기 버킷 범위 내에서 발생한 랜덤 넘버를 기준으로 상기 평문의 상대값의 순서 정보를 분리시키는 값인 것을 특징으로 하는 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 결과값이 1인 경우에 상기 버킷 범위 내의 값들을 정순으로 배열하여 상기 상대값을 변환하는 것을 특징으로 하는 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법.
  5. 제 1 항에 있어서,
    상기 결과값이 0인 경우에 상기 버킷 범위 내의 값들을 역순으로 배열하여 상기 상대값을 변환하는 것을 특징으로 하는 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법.
  6. 제 1 항에 있어서,
    상기 데이터베이스 처리 방법은,
    상기 변환된 상대값을 입력값으로 하여 상기 제 1 및 제 2 키 값으로부터 평문의 상대값을 얻는 복호화 과정을 더 포함하는 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법.
KR1020070133673A 2007-12-18 2007-12-18 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법 KR100936937B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070133673A KR100936937B1 (ko) 2007-12-18 2007-12-18 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법
US12/136,809 US20090316887A1 (en) 2007-12-18 2008-06-11 Database encryption and query method keeping order within bucket partially

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070133673A KR100936937B1 (ko) 2007-12-18 2007-12-18 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법

Publications (2)

Publication Number Publication Date
KR20090066063A KR20090066063A (ko) 2009-06-23
KR100936937B1 true KR100936937B1 (ko) 2010-01-14

Family

ID=40994215

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070133673A KR100936937B1 (ko) 2007-12-18 2007-12-18 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법

Country Status (2)

Country Link
US (1) US20090316887A1 (ko)
KR (1) KR100936937B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101548654B1 (ko) 2014-09-03 2015-09-02 서울과학기술대학교 산학협력단 보안성이 있는 암호화 체계를 구비하고 순서 버킷을 이용하는 데이터베이스 쿼리 장치 및 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8832427B2 (en) 2012-03-30 2014-09-09 Microsoft Corporation Range-based queries for searchable symmetric encryption
CN104765754A (zh) * 2014-01-08 2015-07-08 北大方正集团有限公司 数据存储方法及装置
US9946744B2 (en) * 2016-01-06 2018-04-17 General Motors Llc Customer vehicle data security method
US10977383B2 (en) 2016-10-05 2021-04-13 Snowflake Inc. Systems, methods, and devices for encrypting database data
CN108989902B (zh) * 2018-07-03 2020-10-16 武汉斗鱼网络科技有限公司 一种弹幕消息的处理方法、装置、终端和存储介质
CN116956354B (zh) * 2023-09-21 2024-01-19 恒生电子股份有限公司 数据查询方法、装置、数据源设备、查询方设备及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IS2005A7 (is) * 1970-06-18 1971-12-19 Alfa-Laval Ab Aðferð til þess að skilja feiti frá efnum úr dýraríkinu
KR20060121772A (ko) * 2006-10-04 2006-11-29 (주)이글로벌시스템 암호화된 컬럼에 대한 색인 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814129B2 (en) * 2005-03-11 2010-10-12 Ross Neil Williams Method and apparatus for storing data with reduced redundancy using data clusters
US7917957B2 (en) * 2007-05-29 2011-03-29 Alcatel Lucent Method and system for counting new destination addresses

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IS2005A7 (is) * 1970-06-18 1971-12-19 Alfa-Laval Ab Aðferð til þess að skilja feiti frá efnum úr dýraríkinu
KR20060121772A (ko) * 2006-10-04 2006-11-29 (주)이글로벌시스템 암호화된 컬럼에 대한 색인 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Convergence Information Technology
IIHMSP 2007
Innovative … Systems, 2005

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101548654B1 (ko) 2014-09-03 2015-09-02 서울과학기술대학교 산학협력단 보안성이 있는 암호화 체계를 구비하고 순서 버킷을 이용하는 데이터베이스 쿼리 장치 및 방법

Also Published As

Publication number Publication date
US20090316887A1 (en) 2009-12-24
KR20090066063A (ko) 2009-06-23

Similar Documents

Publication Publication Date Title
US11709948B1 (en) Systems and methods for generation of secure indexes for cryptographically-secure queries
US11726993B1 (en) Systems and methods for cryptographically-secure queries using filters generated by multiple parties
CN107317666B (zh) 一种支持浮点运算的并行全同态加解密方法
Micciancio A first glimpse of cryptography's Holy Grail
KR100936937B1 (ko) 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법
US10461924B2 (en) Format-preserving cipher
US10009169B2 (en) Format-preserving cipher
JP6884642B2 (ja) データ再暗号化を介して機密データを保護するためのコンピュータ実施システムおよび方法
US9313023B1 (en) Format-preserving cipher
CN106571905A (zh) 一种数值型数据同态保序加密方法
US10922273B1 (en) Forward-private dynamic searchable symmetric encryption (DSSE) with efficient search
Rane et al. Multi-user multi-keyword privacy preserving ranked based search over encrypted cloud data
Rao et al. R-PEKS: RBAC enabled PEKS for secure access of cloud data
Shekhawat et al. Privacy-preserving techniques for big data analysis in cloud
CN104794243B (zh) 基于文件名的第三方密文检索方法
KR100910303B1 (ko) 가변코드 테이블을 이용한 데이터 암복호화 장치 및 그 방법
CN113904823B (zh) 常数级授权计算复杂度的属性基可搜索加密方法及系统
Devi et al. Two fish Algorithm Implementation for lab to provide data security with predictive analysis
KR101095862B1 (ko) 데이터 암호화 장치 및 방법, 데이터 복호화 장치, 데이터 검색 방법
KR20110057369A (ko) 데이터 암호화 장치 및 그 방법
KR100973785B1 (ko) Aes 카운터 모드 기반 암호화 장치 및 그 방법
KR100924796B1 (ko) 베타 전개를 이용한 순서 보존 수치 데이타 암호화 시스템및 방법
JP2006004301A (ja) データを管理する方法および情報処理装置
Lv et al. RASK: Range spatial keyword queries on massive encrypted geo-textual data
Alyousif et al. Locality Improvement Scheme Based on QR Code Technique within Inverted Index

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121206

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 18