KR100903601B1 - 암호화된 수치 데이터 검색 시스템 및 그 방법 - Google Patents

암호화된 수치 데이터 검색 시스템 및 그 방법 Download PDF

Info

Publication number
KR100903601B1
KR100903601B1 KR1020070107106A KR20070107106A KR100903601B1 KR 100903601 B1 KR100903601 B1 KR 100903601B1 KR 1020070107106 A KR1020070107106 A KR 1020070107106A KR 20070107106 A KR20070107106 A KR 20070107106A KR 100903601 B1 KR100903601 B1 KR 100903601B1
Authority
KR
South Korea
Prior art keywords
numerical data
digit
search
index
digits
Prior art date
Application number
KR1020070107106A
Other languages
English (en)
Other versions
KR20090041545A (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 KR1020070107106A priority Critical patent/KR100903601B1/ko
Priority to US12/251,511 priority patent/US20090113213A1/en
Publication of KR20090041545A publication Critical patent/KR20090041545A/ko
Application granted granted Critical
Publication of KR100903601B1 publication Critical patent/KR100903601B1/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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • 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
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 암호화된 데이터의 검색에 있어서, 특히 수치 데이터를 포함한 데이터를 검색하는 방법을 제공한다.
본 발명에 의한 암호화된 수치 데이터 검색 시스템은, 암호화를 위한 키를 생성하는 키 생성부; 상기 생성된 키 및 수치 데이터를 포함하는 복수의 문서로부터, 수치데이터의 각 디지트(digit) 및 각 디지트의 자릿수에 근거하여, 문서에 대한 인덱스를 생성하는 인덱스 생성부; 상기 생성된 키를 이용하여, 수치 데이터의 각 디지트 및 각 디지트의 자릿수에 대한 검색 정보를 포함하는 트랩도어를 생성하는 트랩도어 생성부; 및 검색할 수치 데이터를 입력받아, 상기 트랩도어를 이용하여 상기 인덱스를 검색하고, 상기 검색할 수치 데이터를 포함하는 문서 정보를 출력하는 문서 검색부를 포함한다.

Description

암호화된 수치 데이터 검색 시스템 및 그 방법{SEARCHING SYSTEM FOR ENCRYPTED NUMERIC DATA AND SEARCHING METHOD THEREFOR}
본 발명은 암호화된 수치 데이터의 검색 방법 및 그 시스템에 관한 것이다. 특히 본 발명은 수치데이터를 포함하는 암호화된 문서에 있어서, 와일드카드 검색 및 구간 검색을 지원하는 암호화된 수치 데이터의 검색 방법 및 그 시스템에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 유비쿼터스원천기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2005-Y-001-03, 과제명: 차세대 시큐리티 기술 개발(Developments of next generation security technology)].
일반적으로 사용자의 기밀 사항 및 프라이버시를 보호하기 위해 다량의 중요 문서를 암호화 하여 저장할 경우, 이러한 문서 내부에 존재하는 특정 내용을 검색함에 있어 여러 가지 복잡한 문제점이 발생한다. 특히, 문서 내의 특정 키워드에 대해서는 기존의 암호화 방법을 적용할 경우, 검색 자체가 불가능하다.
일반적으로, 현재의 시스템에서는, 사용자의 정보 보호를 위해 중요정보가 저장된 서버에 대한 접근제어 방식을 통해 사용권한이 있는 사람에게만 접근을 허용하는 방식을 사용하고 있다. 하지만 이런 방식은 서버 관리자, 즉 내부자의 배임행위에 대해서는 대처할 수가 없다. 내부자는 접근제어를 뚫고 들어가는 것이 용이하기 때문에 저장된 데이터에 쉽게 접근할 수 있다. 이 때 저장된 문서가 암호화되지 않은 평문이라면 쉽게 외부로 유출하여 사용하는 것이 가능하다.
이를 막기 위해 문서를 암호화하여 저장하는 방식을 생각하게 되었다. 하지만 이 경우 검색이 불가능하게 되므로 검색을 고려하여 암호화하여야 한다. 검색이 가능한 암호화 방식을 암호화된 데이터 검색(searchable encryption)이라고 하며 크게 두 가지 다른 방법으로 발전해왔다. 첫째는 공개키를 이용하는 것으로 이메일 서버들에 사용될 수 있고, 이에 대한 구현은 ID기반 암호화방식을 사용하였고 구현 프리미티브(primitive)로는 타원곡선을 이용한 Weil pairing, Tate pairing등을 이용하였다. 하지만 이 프리미티브가 효율적인 연산이 아니기 때문에 실용화에는 한계가 있다. 둘째 방식으로는 비밀키를 이용하는 방법이 있다. 비밀키의 프리미티브로 블록 암호나 해시함수를 쓰기 때문에 매우 속도가 빠르다. 하지만 업데이트 시 관련 문서에 대한 정보를 모두 수정해야 하는 번거로움이 존재한다.
종래 기술에서는, 이메일 서버 등에 저장된 암호화된 문서를 검색하기 위하여, 송신자가 수신자의 아이디를 공개키로 하여 키워드에 적합한 트랩도어를 결합하여 보내는 방법을 개시하고 있다. 이러한 방법으로, 메일 서버는 수신자가 어떤 단어로 검색했는지를 알 수 없으며, 개인 이메일에 대한 정보보호가 가능하다. 그러나, 이 논문에 제시된 기술은 공개키를 이용하는 방법으로서, 데이터에 대한 송 신자와 수신자가 다른 경우에 적용된다.
또 다른 종래기술에서는, 신뢰할 수 없는 서버에 문서를 저장하는 경우, 이를 암호화하여 검색을 행할 수 있도록 하기 위하여, 스트림 암호를 이용한 의사난수(pseudorandom) 값을 XOR 연산하여 암호문을 구성하고, 비밀키를 이용하여 검색을 행하는 기술을 개시하고 있다. 이 기술에 의하면, 비밀키를 이용하여 효율적으로 암호화된 데이터를 검색할 수 있다. 그러나, 이는 통계적 공격에 취약한 문제가 있으며, 문서 집합의 크기에 따라 검색 시간이 길어져버리는 단점이 있다.
또, 비밀키를 이용하여 암호화된 문서에 대한 인덱스와 트랩도어를 만든 후 검색을 수행하는 방법이 개시되어 있다. 이 방법에 의하면 암호화된 데이터 검색이 효율적으로 행해질 수 있다.
그러나, 상기의 기술에 의해서는 수치 데이터에 대하여 구간 검색을 행하거나, 와일드카드 검색을 행하는 등의 보다 효율적인 검색 방법이 구현되어 있지 않으며, 따라서 암호화된 데이터를 검색하는 데 있어 그 응용의 한계를 가지고 있다.
따라서, 본 발명에서는, 암호화된 데이터, 특히 수치 데이터를 포함하는 데이터를 검색하는 데 있어서, 수치 데이터에 대한 구간 검색 및 와일드카드 검색을 가능하도록 하는 암호화된 데이터 검색 방법을 제공하는 것을 그 목적으로 한다.
상기 목적을 달성하기 위하여, 본 발명의 일 형태는, 암호화를 위한 키를 생성하는 키 생성부; 상기 생성된 키 및 수치 데이터를 포함하는 복수의 문서로부터, 수치데이터의 각 디지트(digit) 및 각 디지트의 자릿수에 근거하여, 문서에 대한 인덱스를 생성하는 인덱스 생성부; 상기 생성된 키를 이용하여, 수치 데이터의 각 디지트 및 각 디지트의 자릿수에 대한 검색 정보를 포함하는 트랩도어를 생성하는 트랩도어 생성부; 및 검색할 수치 데이터를 입력받아, 상기 트랩도어를 이용하여 상기 인덱스를 검색하고, 상기 검색할 수치 데이터를 포함하는 문서 정보를 출력하는 문서 검색부를 포함하는 암호화된 수치 데이터 검색 시스템을 제공한다.
또한, 상기 검색할 수치 데이터는 디지트 및 디지트의 자릿수를 포함하며, 상기 문서 검색부는 상기 디지트 및 디지트의 자릿수에 근거하여 상기 인덱스를 검색할 수 있다.
또한, 상기 검색할 수치 데이터는, 구간 검색 또는 와일드카드 검색을 위한 와일드카드 문자를 포함할 수 있다.
또한, 상기 문서 검색부는, 상기 검색할 수치 데이터의 각 디지트 및 디지트 의 자릿수에 근거하여 인덱스를 검색하고, 각각의 검색 결과를 조합하여 구간 검색 또는 와일드카드 검색을 행할 수 있다.
또한, 상기 인덱스 생성부는, 상기 복수의 문서에 포함된 수치 데이터를 n진법(n은 2이상의 자연수)으로 표현하여 인덱스를 생성할 수 있다.
상기 인덱스 생성부는, 상기 복수의 문서에 포함된 수치 데이터를 n진법(n은 2이상의 자연수)으로 표현하여 인덱스를 생성할 수 있다.
상기 목적을 달성하기 위하여, 본 발명의 또다른 형태는, 암호화를 위한 키를 생성하는 키 생성 단계; 상기 생성된 키 및 수치 데이터를 포함하는 복수의 문서로부터, 수치데이터의 각 디지트(digit) 및 각 디지트의 자릿수에 근거하여 인덱스를 생성하는 인덱스 생성 단계; 상기 생성된 키를 이용하여, 수치 데이터의 각 디지트 및 각 디지트의 자릿수에 대한 검색 정보를 포함하는 트랩도어를 생성하는 트랩도어 생성 단계; 및 검색할 수치 데이터를 입력받아, 상기 트랩도어를 이용하여 상기 인덱스를 검색하고, 상기 검색할 수치 데이터를 포함하는 문서를 출력하는 문서 검색 단계를 포함하는 암호화된 수치 데이터 검색 방법을 제공한다.
또한, 상기 검색할 수치 데이터는 디지트 및 디지트의 자릿수를 포함하며, 상기 문서 검색 단계에서는 상기 디지트 및 디지트의 자릿수에 근거하여 상기 인덱스를 검색할 수 있다.
또한, 상기 문서 검색 단계는, 상기 검색할 수치 데이터로서 와일드카드를 포함하는 수치 데이터가 입력된 경우에, 상기 와일드카드를 제외한 수치 데이터의 각 디지트 및 디지트의 자릿수에 근거하여 검색을 행하고, 각각의 검색 결과를 조 합하여 와일드카드 검색 또는 구간검색을 행할 수 있다.
또한, 상기 인덱스 생성 단계는, 상기 복수의 문서에 포함된 수치 데이터를 n진법(n은 2이상의 자연수)으로 표현하여 인덱스를 생성하는 단계를 포함할 수 있다.
본 발명에 따른 암호화된 수치 데이터 검색 시스템에 의하면, 수치를 키워드로 하는 검색 방법에 대하여 와일드카드 검색 및 구간 검색이 가능하며, 따라서 효율적인 암호데이터의 검색이 이루어질 수 있다.
따라서 암호화되지 않은 데이터베이스의 보안 결점을 해소하여 데이터베이스 위탁에 대한 위험성을 낮추는 동시에, 수치 데이터 검색에 있어서 효율성 및 신뢰성을 높일 수 있으므로, 데이터베이스 사업에 대한 실용가능성이 더 확대될 수 있다.
본 발명에 따른 암호화된 수치 데이터 검색 시스템(1)에 대하여 도 1을 참조하여 설명한다.
먼저, 본 발명에 대한 설명을 위해 필요한 개념 및 용어에 대하여 설명한다.
기수(radix) 표현은 컴퓨터 산술에서 가장 많이 사용되고 있는 숫자 표기법이다. 기수 표현은 base β와 digit 집합
Figure 112007076091329-pat00001
를 이용하여 행해진다. 숫자 z에 대한 기수 표현은
Figure 112007076091329-pat00002
이며 이는
Figure 112007076091329-pat00003
을 의미하며 여기서 모든
Figure 112007076091329-pat00004
이다. 예를 들어 β=3이라고 하면, digit 집합
Figure 112007076091329-pat00005
가 되며
Figure 112007076091329-pat00006
이라고 표현된다.
Figure 112007076091329-pat00007
를 수치 데이터를 갖는 가능한 모든 문서라고 하고
Figure 112007076091329-pat00008
은 수치 데이터를 갖는 m개의 문서의 집합이라고 한다. 그러면
Figure 112007076091329-pat00009
으로 표현될 수 있다. id(N)은 수치 데이터를 갖는 문서 N의 식별자로서, 문서를 식별해 낼 수 있는, 예를 들면 메모리 위치 같은 스트링이다.
Figure 112007076091329-pat00010
는 사전적 순서로 배열된 리스트로서 i번째 위치에 디지트(digit) d를 포함하고 있는 문서들의 식별자를 모은 것이다.
Figure 112007076091329-pat00011
Figure 112007076091329-pat00012
에 대한 검색의 결과로 간주한다.
본 발명에 따라, 비밀키를 생성하고 암호문을 생성하는 방법에 대하여 설명한다. θ,l을 보안 파라미터라하고, (G,E,D)를 의미론적으로(semantically) 안전한 대칭키 암호 스킴(scheme)이라고 하자. G는 보안 파라미터 θ를 받아들여 비밀키 K를 생성한다. E는 키 K와 r비트 메시지 M을 받아들여 암호문 C를 생성한다. 여기서
Figure 112007076091329-pat00013
로의 함수로 생각할 수 있다. D는 키 K와 암호문 C를 이용하여 평문 M을 복구한다.
본 발명에 따른 암호화된 수치 데이터 검색 시스템(1)은 다음의 구성요소를 포함한다.
키 생성부(100) : 확률론적인 키 생성 알고리즘으로 사용자에 의해 구동되며 스킴을 셋업한다. 보안 파라미터를 받아들여 비밀키 K를 생성한다. 여기서 K의 길 이는 보안 파라미터에 의해 정해진다.
인덱스 생성부(200) : 사용자에 의해 구동되며 인덱스를 설정한다. 비밀키 K와 문서 집합 N을 받아들여 인덱스 I를 내놓는다.
트랩도어 생성부(300) : 키워드 w를 입력받아, 키워드 w와 비밀키 K로부터 트랩도어 Tw를 생성한다.
문서 검색부(400) : 서버에 의해 구동되며 w를 갖고 있는 문서를 찾아낸다. 인덱스 I와 트랩도어 Tw를 입력받아 w를 포함하는 문서 집합 N()를 출력한다.
이하에서는, 암호화된 수치 데이터의 검색을 위한 각 구성요소에서의 동작을 설명한다.
먼저, 키 생성부(100)에서는, 랜덤 키
Figure 112007076091329-pat00014
를 생성한 후 비밀키
Figure 112007076091329-pat00015
을 만들어낸다. 비밀키 K는, 이하의 다른 구성요소에서 암호화 및 복호화를 위해 사용되는 키이다.
다음으로, 인덱스 생성부(200)의 동작을 설명한다.
인덱스 생성부(200)에서는, 다음의 초기화 과정을 거친다.
(1) 기수(base) β를 선택하고 디지트 집합 ∑를 설정한다. 이는 사용자에 의하여 결정될 수도 있고, 시스템이 최적의 기수를 선택할 수도 있다.
(2) 각 문서의 수치 데이터를 기수 β와 디지트 집합 ∑을 이용하여 기수 표현으로 전환한다. 기수 표현에서의 각 자리수의 디지트를 d, 해당 디지트의 자리수를 i라는 변수로 표시한다.
(3) 모든 d와 i에 대해서
Figure 112007076091329-pat00016
를 생성한다.
Figure 112007076091329-pat00017
는, 해당 기수 β로 기수 표현된 수치 데이터의 i자릿수의 디지트가 d인 문서의 집합을 의미한다.
(4) 글로벌 카운터 ctrl=1로 초기화한다.
다음으로, 인덱스 생성부(200)에서는, 배열 A를 생성한다. 배열 A에 대해서, 주소 값 i 의 원소는 A[i]로 표기된다. 반대로, 배열 A에 있는 원소 x의 주소값은 addr(A(x))로 표현한다. 즉, A[i]=x이면, addr(A(x))=i가 된다. 배열 A에 저장된 리스트 L은 노드
Figure 112007076091329-pat00018
의 집합이다.
배열 A의 생성 과정은 다음과 같다.
Figure 112007076091329-pat00019
에 대해,
(1)
Figure 112007076091329-pat00020
을 생성한다.
(2) 노드
Figure 112007076091329-pat00021
를 생성한다.
여기서
Figure 112007076091329-pat00022
Figure 112007076091329-pat00023
의 k번째 식별자를 의미한다.
(3)
Figure 112007076091329-pat00024
를 계산, 즉 노드
Figure 112007076091329-pat00025
를 암호화한 후 배열
Figure 112007076091329-pat00026
에 저장한다.
(4) ctr=ctr+1
(5) 상기 (1) 내지 (4)의 과정을 각
Figure 112007076091329-pat00027
에 대해 반복하며, 마지막 노드에 대해서는 암호화 전에 다음 노드의 주소를 NULL로 저장한다.
(6) 상기의 과정에 모든
Figure 112007076091329-pat00028
에 대해 수행된 후,
Figure 112007076091329-pat00029
로 정의하고 m'<m의 경우, 배열 A의 나머지 m-m'개의 부분은 랜덤 값으로 채워진다.
다음으로, 인덱스 생성부(200)에서 룩업(Look-up) 테이블 T를 만드는 과정을 설명한다.
(1) 각
Figure 112007076091329-pat00030
에 대해,
Figure 112007076091329-pat00031
,
Figure 112007076091329-pat00032
로 놓는다.
(2) 만약
Figure 112007076091329-pat00033
가 N에 포함되지 않았다면, T의
Figure 112007076091329-pat00034
항은 랜덤값으로 채워넣는다.
마지막으로, 인덱스 I=(A,T)가 생성되며, 인덱스 생성부는 인덱스 I를 출력한다.
다음으로, 트랩도어 생성부(300)는,
Figure 112007076091329-pat00035
에 대해
Figure 112007076091329-pat00036
를 만들어 낸다.
여기서, f는 의사난수(pseudorandom) 함수이며 π,ψ는 의사난수 순열(permutation)이다. 각 함수의 정의는 다음과 같다.
Figure 112007076091329-pat00037
Figure 112007076091329-pat00038
Figure 112007076091329-pat00039
다음으로, 문서 검색부에서는, 다음의 과정을 수행한다.
(1)
Figure 112007076091329-pat00040
에서
Figure 112007076091329-pat00041
를 계산한 후
Figure 112007076091329-pat00042
라고 놓는다.
(2) 리스트 L에서 주소값 α에서 키 k를 이용하여 암호화되었던 노드를 복호화한다.
(3) L에 포함된 문서 식별자를 출력한다.
상기의 과정을 통하여, 본 발명에 따른 암호화된 수치 데이터 검색 시스템(1)은, 수치 데이터에 대한 인덱스를 소정의 기수 표현으로 생성하고, 이에 대한 트랩도어를 생성함으로써, 검색하고자 하는 수치 데이터를 포함하는 문서를 빠르고 효율적으로 검색할 수 있도록 한다.
상기의 암호화된 수치 데이터 검색 시스템(1)을 이용하여, 수치데이터에 대한 검색 방법을 설명한다. 도 1에서는 문서 검색부(400)가 검색할 수치 데이터를 입력받는 것으로서 도시하였으며, 이 수치 데이터는 와일드 카드를 포함할 수 있다.
예를 들면, 수 z를 포함하고 있는 문서를 검색하고자 하는 경우에는, 먼저 z에 대해 진법 전개를 행한다.
Figure 112007076091329-pat00043
라면, 진법 표현은
Figure 112007076091329-pat00044
으로 나타낼 수 있다. 진법 표현된 각각의 디지트(
Figure 112007076091329-pat00045
) 및 그 자릿수에 대하여, 문서 검색부(400)에서는
Figure 112007076091329-pat00046
를 각각 검색하고, 검색 결과로서 출력된 각각의 문서 집합을 교집합하면 수 z를 포함하는 문서 집합이 결과로서 출력된다. 예를 들면, 10이 들어간 수치데이터를 검색하고자 하는 경우, 첫째 자릿수의 값이 0이고 둘째 자리의 값이 1인 문서 인덱스를 검색한 후, 즉
Figure 112007076091329-pat00047
Figure 112007076091329-pat00048
을 검색하여 출력된 각각의 문서 집합을 교집합하면 된다.
이러한 방법을 응용하여, 와일드카드 검색 또는 구간검색을 행할 수도 있다.
와일드카드 검색을 행하는 방법을 도 2를 이용하여 설명한다. 예를 들면, 사용자가 첫째 자릿수가 2이고 셋째 자릿수가 1인 수를 검색하려고 하는 경우에, 이는 와일드카드를 포함한 문자열 “1*2”로서 표현될 수 있다. 상기 문자열을 문서 검색부에 입력하면, 문서 검색부는
Figure 112007076091329-pat00049
을 검색하여 각각에 대한 문서 집합을 구하며, 도 2에서는 예를 들면,
Figure 112007076091329-pat00050
에 대한 검색 결과로서 “101”, “102”, “111”, “112”를 포함하는 문서의 집합을 출력하고,
Figure 112007076091329-pat00051
에 대한 검색 결과로서 “102”, "112", "202", "212"를 포함하는 문서의 집합을 출력한다. 출력된 문서의 집합은 교집합 연산을 통해 문서 집합 “102”, “112”를 출력하게 되며, 이로서, 와일드카드에 대한 검색이 가능해진다.
또한, 구간 검색에 대해서도 동일한 방법이 적용될 수 있다. 예를 들면, 170cm와 180cm 사이의 사람에 대한 정보를 얻고자 하는 경우에는
Figure 112007076091329-pat00052
을 검색한 후에 각각의 결과 문서 집합을 교집합하면 되며, 170cm와 190cm 사이의 사람에 대한 정보를 얻고자 하는 경우에는
Figure 112007076091329-pat00053
Figure 112007076091329-pat00054
의 교집합을,
Figure 112007076091329-pat00055
Figure 112007076091329-pat00056
의 교집합과 합집합 연산을 행하여 원하는 결과를 얻을 수 있다. 즉, 상기의 검색 결과를 교집합 또는 합집합 연산을 행함으로써 와일드카드 검색 및 구간 검색이 가능하게 되는 것이다. 이러한 와일드 카드 검색 또는 구간 검색에 대한 검색식은 상기 예에 한정되지 않고 다양한 형태로 입력될 수 있으며, 바람직하게는, 이러한 형태로 입력된 검색식을, 파싱 등을 통하여 기본 쿼리의 합집합 및/또는 교집합의 형태로 변환하여 연산을 행하는 응용 검색부(미도시)를 더 포함되도록 상기 시스템을 구성할 수도 있다.
또한, 상기 인덱스 생성시에 기수를 달리하여 인덱스를 생성하는 경우에는, 또 다른 형태의 검색도 응용가능하다. 예를 들면, 문서 내의 수치 데이터 중 홀수 또는 짝수의 수치 데이터를 갖는 문서만을 검색하고자 할 때, 인덱스 생성시 기수를 2로 하여 2진법의 형태로 표현되도록 할 수 있으며, 이렇게 하여 상술한 바와 동일하게, 단순한 쿼리 검색을 통하여 홀수 또는 짝수의 수치 데이터를 갖는 문서만을 검색하는 것도 가능하다.
여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다.
본 발명은 상술한 실시형태에 한정되지 않으며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있음은 자명하다. 따라서 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명에 따른 암호화된 수치 데이터 검색 시스템의 구성 및 작용관계를 나타낸 도면이다.
도 2는 본 발명에 따른 암호화된 수치 데이터 검색에 있어서, 와일드카드 검색을 구현하는 방법을 예시한 도면이다.

Claims (9)

  1. 암호화를 위한 키를 생성하는 키 생성부;
    상기 생성된 키 및 수치 데이터를 포함하는 복수의 문서로부터, 수치데이터의 각 디지트(digit) 및 각 디지트의 자릿수에 근거하여, 문서에 대한 인덱스를 생성하는 인덱스 생성부;
    상기 생성된 키를 이용하여, 수치 데이터의 각 디지트 및 각 디지트의 자릿수에 대한 검색 정보를 포함하는 트랩도어를 생성하는 트랩도어 생성부; 및
    검색할 수치 데이터를 입력받아, 상기 트랩도어를 이용하여 상기 인덱스를 검색하고, 상기 검색할 수치 데이터를 포함하는 문서 정보를 출력하는 문서 검색부
    를 포함하는 암호화된 수치 데이터 검색 시스템.
  2. 청구항 1에 있어서,
    상기 검색할 수치 데이터는, 디지트 및 디지트의 자릿수를 포함하며,
    상기 문서 검색부는, 상기 디지트 및 디지트의 자릿수에 근거하여 상기 인덱스를 검색하는, 암호화된 수치 데이터 검색 시스템.
  3. 청구항 1에 있어서,
    상기 검색할 수치 데이터는, 구간 검색을 위한 수치 데이터 또는 와일드 카드를 포함하는 수치 데이터인 것을 특징으로 하는, 암호화된 수치 데이터 검색 시스템.
  4. 청구항 3에 있어서,
    상기 문서 검색부는, 상기 검색할 수치 데이터의 각 디지트 및 디지트의 자릿수에 근거하여 인덱스를 검색하고, 각각의 검색 결과를 조합하여 구간 검색 또는 와일드카드 검색을 행하는, 암호화된 수치 데이터 검색 시스템.
  5. 청구항 1에 있어서,
    상기 인덱스 생성부는, 상기 복수의 문서에 포함된 수치 데이터를 n진법(n은 2이상의 자연수)으로 표현하여 인덱스를 생성하는, 암호화된 수치 데이터 검색 시스템.
  6. 암호화를 위한 키를 생성하는 키 생성 단계;
    상기 생성된 키 및 수치 데이터를 포함하는 복수의 문서로부터, 수치데이터의 각 디지트(digit) 및 각 디지트의 자릿수에 근거하여 인덱스를 생성하는 인덱스 생성 단계;
    상기 생성된 키를 이용하여, 수치 데이터의 각 디지트 및 각 디지트의 자릿수에 대한 검색 정보를 포함하는 트랩도어를 생성하는 트랩도어 생성 단계; 및
    검색할 수치 데이터를 입력받아, 상기 트랩도어를 이용하여 상기 인덱스를 검색하고, 상기 검색할 수치 데이터를 포함하는 문서를 출력하는 문서 검색 단계
    를 포함하는 암호화된 수치 데이터 검색 방법.
  7. 청구항 6에 있어서,
    상기 검색할 수치 데이터는, 디지트 및 디지트의 자릿수를 포함하며,
    상기 문서 검색 단계에서는, 상기 디지트 및 디지트의 자릿수에 근거하여 상기 인덱스를 검색하는, 암호화된 수치 데이터 검색 방법.
  8. 청구항 6에 있어서,
    상기 문서 검색 단계는, 상기 검색할 수치 데이터로서 구간 검색을 위한 수치 데이터 또는 와일드 카드를 포함하는 수체 데이터가 입력된 경우에, 상기 와일드 카드를 제외한 수치 데이터의 각 디지트 및 디지트의 자릿수에 근거하여 검색을 행하고, 각각의 검색 결과를 조합하여 구간검색 또는 와일드카드 검색을 행하는, 암호화된 수치 데이터 검색 방법.
  9. 청구항 6에 있어서,
    상기 인덱스 생성 단계는, 상기 복수의 문서에 포함된 수치 데이터를 n진법(n은 2이상의 자연수)으로 표현하여 인덱스를 생성하는 단계를 포함하는, 암호화된 수치 데이터 검색 방법.
KR1020070107106A 2007-10-24 2007-10-24 암호화된 수치 데이터 검색 시스템 및 그 방법 KR100903601B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070107106A KR100903601B1 (ko) 2007-10-24 2007-10-24 암호화된 수치 데이터 검색 시스템 및 그 방법
US12/251,511 US20090113213A1 (en) 2007-10-24 2008-10-15 System and method for searching encrypted numerical data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070107106A KR100903601B1 (ko) 2007-10-24 2007-10-24 암호화된 수치 데이터 검색 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20090041545A KR20090041545A (ko) 2009-04-29
KR100903601B1 true KR100903601B1 (ko) 2009-06-18

Family

ID=40584438

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070107106A KR100903601B1 (ko) 2007-10-24 2007-10-24 암호화된 수치 데이터 검색 시스템 및 그 방법

Country Status (2)

Country Link
US (1) US20090113213A1 (ko)
KR (1) KR100903601B1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8738683B2 (en) * 2008-09-15 2014-05-27 Vaultive Ltd. System, apparatus and method for encryption and decryption of data transmitted over a network
US9165154B2 (en) * 2009-02-16 2015-10-20 Microsoft Technology Licensing, Llc Trusted cloud computing and services framework
US8341427B2 (en) * 2009-02-16 2012-12-25 Microsoft Corporation Trusted cloud computing and services framework
US20100318782A1 (en) * 2009-06-12 2010-12-16 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services
WO2011013463A1 (ja) * 2009-07-29 2011-02-03 日本電気株式会社 範囲検索システム、範囲検索方法、及び範囲検索用プログラム
KR101302137B1 (ko) * 2009-12-16 2013-09-16 한국전자통신연구원 대칭 키 기반 검색 가능 암호 방법
US9059851B2 (en) 2010-02-23 2015-06-16 Salesforce.Com, Inc. Method and computer program product for order preserving symbol based encryption
US8914447B2 (en) * 2010-05-18 2014-12-16 Sybase 365, Inc. System and method for feature based message routing in a dynamic modular system architecture
AU2011254219A1 (en) 2010-05-21 2012-12-13 Vaultive Ltd. System and method for controlling and monitoring access to data processing applications
KR20130085491A (ko) * 2011-12-09 2013-07-30 한국전자통신연구원 인덱스 검증과 추적이 가능한 다자간 환경에서의 검색 가능 암호 시스템 및 방법
CN104704493B (zh) * 2012-08-15 2019-06-07 维萨国际服务协会 可搜索的经加密的数据
KR20140029984A (ko) 2012-08-31 2014-03-11 한국전자통신연구원 의료정보 데이터베이스 운영 시스템의 의료정보 관리 방법
EP3256967B1 (en) 2015-02-11 2023-09-27 Visa International Service Association Increasing search ability of private, encrypted data
US10176207B1 (en) * 2015-06-09 2019-01-08 Skyhigh Networks, Llc Wildcard search in encrypted text
US10831911B2 (en) 2017-12-19 2020-11-10 Industrial Technology Research Institute Method, computer program product and processing system for generating secure alternative representation
US10984052B2 (en) * 2018-11-19 2021-04-20 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for multiple-character wildcard search over encrypted data
US10909261B2 (en) 2018-12-12 2021-02-02 Industrial Technology Research Institute Method and computer program product for generating secure alternative representation for numerical datum

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050046596A (ko) * 2003-11-14 2005-05-18 소니 가부시끼 가이샤 정보취득시스템과 정보취득방법
JP2007052698A (ja) 2005-08-19 2007-03-01 Kddi Corp 暗号化された文書のためのインデックス生成および検索方法ならびに暗号化文書検索システム
KR20080035295A (ko) * 2006-10-19 2008-04-23 고려대학교 산학협력단 암호화된 데이터베이스 검색 방법 및 그 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6763148B1 (en) * 2000-11-13 2004-07-13 Visual Key, Inc. Image recognition methods
WO2003001720A2 (en) * 2001-06-21 2003-01-03 Isc, Inc. Database indexing method and apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050046596A (ko) * 2003-11-14 2005-05-18 소니 가부시끼 가이샤 정보취득시스템과 정보취득방법
JP2007052698A (ja) 2005-08-19 2007-03-01 Kddi Corp 暗号化された文書のためのインデックス生成および検索方法ならびに暗号化文書検索システム
KR20080035295A (ko) * 2006-10-19 2008-04-23 고려대학교 산학협력단 암호화된 데이터베이스 검색 방법 및 그 시스템

Also Published As

Publication number Publication date
KR20090041545A (ko) 2009-04-29
US20090113213A1 (en) 2009-04-30

Similar Documents

Publication Publication Date Title
KR100903601B1 (ko) 암호화된 수치 데이터 검색 시스템 및 그 방법
Al-Ghamdi et al. Security enhancement of shares generation process for multimedia counting-based secret-sharing technique
Chatterjee et al. A modified lightweight PRESENT cipher for IoT security
US7995750B2 (en) Privacy-preserving concatenation of strings
Ren et al. Secure searching on cloud storage enhanced by homomorphic indexing
Liu et al. Efficient searchable symmetric encryption for storing multiple source dynamic social data on cloud
JP2008513811A (ja) 計算変換の方法及びシステム
Kissel et al. Verifiable phrase search over encrypted data secure against a semi-honest-but-curious adversary
Mariot et al. Artificial intelligence for the design of symmetric cryptographic primitives
Kumar et al. Modified block playfair cipher using random shift key generation
Booher et al. Dynamic key generation for polymorphic encryption
KR100951034B1 (ko) 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법
KR101232385B1 (ko) 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템
Gupta et al. Ensuring data security in databases using format preserving encryption
Umapathy et al. A novel symmetric cryptographic method to design block complexity for data security
Kadry et al. An improvement of RC4 cipher using vigenère cipher
CN113407966A (zh) 具有密钥更新与密文分享功能的可搜索公钥加密方法和系统
Abughazalah et al. A new authentication scheme based on monogenic semigroup
Li et al. Cycle‐walking revisited: consistency, security, and efficiency
Moon et al. Mapping character position based cryptographic algorithm with numerical conversions
Sosnovski Recent developments in Cayley hash functions
Adigun Review of pythagorean triple based cryptography system for information security
KR100959064B1 (ko) 복수의 사용자를 위한 검색 가능 암호문 생성 방법 및 그에따른 데이터 검색 방법
Borghoff Cryptanalysis of Lightweight Ciphers
KR100924796B1 (ko) 베타 전개를 이용한 순서 보존 수치 데이타 암호화 시스템및 방법

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
LAPS Lapse due to unpaid annual fee