KR101942763B1 - Encrypted index based range query processing method and range query processing system - Google Patents
Encrypted index based range query processing method and range query processing system Download PDFInfo
- Publication number
- KR101942763B1 KR101942763B1 KR1020160115636A KR20160115636A KR101942763B1 KR 101942763 B1 KR101942763 B1 KR 101942763B1 KR 1020160115636 A KR1020160115636 A KR 1020160115636A KR 20160115636 A KR20160115636 A KR 20160115636A KR 101942763 B1 KR101942763 B1 KR 101942763B1
- Authority
- KR
- South Korea
- Prior art keywords
- query
- encryption
- area
- cloud
- protocol
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
암호화 인덱스 기반 영역 질의 처리 방법 및 영역 질의 처리 시스템이 개시된다. 본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 방법은, 인덱스 트리를 암호화하여, 암호화 인덱스 트리를 생성하는 단계와, 상기 암호화 인덱스 트리를, 암호화 데이터베이스, 및 암호화 키를 유지하는 제1 클라우드에 보관하는 단계와, 상기 암호화 키에 대응한 복호화 키를, 상기 제1 클라우드와 상이한 제2 클라우드에 보관하는 단계, 및 인증된 단말로부터 사용자 질의가 수신되면, 선정된 암호화 연산 프로토콜을 기반으로, 상기 제1 클라우드와 상기 제2 클라우드 간에 다자간 계산(SMC, Secure Multiparty Computation)을 수행하여, 상기 사용자 질의를 처리하는 단계를 포함한다.An encryption index-based area query processing method and an area query processing system are disclosed. The encryption index-based area query processing method according to an embodiment of the present invention includes the steps of generating an encryption index tree by encrypting an index tree, encrypting the encryption index tree with an encryption database and a first cloud Storing a decryption key corresponding to the encryption key in a second cloud different from the first cloud; and transmitting, when a user query is received from the authenticated terminal, And performing a Secure Multiparty Computation (SMC) between the first cloud and the second cloud to process the user query.
Description
본 발명은 클라우드에 아웃소싱된 암호화 데이터베이스 상에서의 영역 질의 처리 알고리즘에 관한 것으로, 암호화 데이터베이스에 대한 사용자 질의를 처리하는 과정에서 노출될 우려가 있는 데이터 접근 패턴의 보호를 지원하기 위한 것이다.Field of the Invention The present invention relates to an area query processing algorithm on an outsourced cryptographic database in a cloud, and is intended to support protection of a data access pattern that may be exposed in processing a user query for an encrypted database.
최근 클라우드 컴퓨팅에 대한 관심이 고조됨에 따라, 클라우드(cloud)에 데이터베이스를 위탁하고, 위탁한 데이터베이스 상에서 사용자로부터 요청된 질의와 관련 있는 데이터를 추출해 주는 데이터 아웃소싱에 관한 연구가 활성화 되고 있다.As interest in cloud computing continues to grow in recent years, research on data outsourcing, which entrusts databases to the cloud and extracts data related to the queries requested from users on a commissioned database, is being activated.
한편, 클라우드의 접근이 비교적 자유롭다는 점에서 공격자는 클라우드에 유지된 데이터를 열람하거나 악용할 우려가 있고, 사용자가 클라우드에 전달하는 질의를 통해 사용자의 개인정보를 유추할 수 있다는 문제점에 따라, 데이터베이스와 사용자 질의의 내용이 드러나지 않도록 암호화하고, 암호화된 데이터베이스 상에서의 질의 처리를 지원하기 위한 연구가 진행되고 있다.On the other hand, the accessibility of the cloud is relatively free. As a result, the attacker may view or misuse the data held in the cloud, and the user may infer the user's personal information through the query transmitted to the cloud. Research is underway to encrypt the database and user queries so that they are not exposed, and to support query processing on encrypted databases.
그러나, 기존에 암호화된 데이터베이스 상에서 질의 처리를 수행하는 연구에서는, 사용자가 인덱스 탐색을 통해 질의와 관련이 있는 노드를 클라우드에게 요청하고 있어, 인증되지 않은 사용자에게 질의 결과의 식별자 또는 순서 정보를 노출하거나, 각 차원에서의 데이터 값에 대한 정보를 유추 가능하게 하는 등, 데이터 접근 패턴이 노출될 수 있다.However, in a research for performing query processing on an existing encrypted database, a user requests a node related to a query through an index search to the cloud, and exposes an identifier or order information of a query result to an unauthorized user , The information on the data values in each dimension can be inferred, and the data access pattern can be exposed.
이에 따라, 추가적인 정보의 노출을 방지하여 데이터 보호와 사용자 질의 보호 뿐만 아니라, 데이터 접근 패턴 보호를 모두 지원 가능한 암호화 데이터베이스 상에서의 영역 질의 처리 기술이 요구되고 있다.Accordingly, there is a demand for an area query processing technique on an encrypted database that can support both data protection and user query protection as well as data access pattern protection by preventing exposure of additional information.
본 발명의 실시예는 클라우드에 아웃소싱된 암호화 데이터베이스에 대한 인증된 사용자로부터의 영역 질의를 처리 시, 암호화 인덱스 트리를 기반으로 SBN(Secure Bit-Not) 프로토콜, SCMP(Secure Compare) 프로토콜 및 SRO(Secure Range Overlapping) 프로토콜 중 적어도 하나의 암호화 연산 프로토콜을 수행 함으로써 추가적인 정보의 노출을 방지하여, 데이터 보호와 사용자 질의 보호 뿐만 아니라, 질의 처리 과정에서의 데이터 접근 패턴 보호를 모두 지원하는 것을 목적으로 한다.The embodiments of the present invention are based on an encryption index tree, a Secure Bit-Not (SBN) protocol, an Secure SCMP (Secure Compare) protocol, and an SRO Range Overlapping) protocol, thereby protecting both data protection and user query protection as well as data access pattern protection during query processing by preventing additional information from being exposed.
본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 방법은, 인덱스 트리를 암호화하여, 암호화 인덱스 트리를 생성하는 단계와, 상기 암호화 인덱스 트리를, 암호화 데이터베이스, 및 암호화 키를 유지하는 제1 클라우드에 보관하는 단계와, 상기 암호화 키에 대응한 복호화 키를, 상기 제1 클라우드와 상이한 제2 클라우드에 보관하는 단계, 및 인증된 단말로부터 사용자 질의가 수신되면, 선정된 암호화 연산 프로토콜을 기반으로, 상기 제1 클라우드와 상기 제2 클라우드 간에 다자간 계산(SMC, Secure Multiparty Computation)을 수행하여, 상기 사용자 질의를 처리하는 단계를 포함한다.The encryption index-based area query processing method according to an embodiment of the present invention includes the steps of generating an encryption index tree by encrypting an index tree, encrypting the encryption index tree with an encryption database and a first cloud Storing a decryption key corresponding to the encryption key in a second cloud different from the first cloud; and transmitting, when a user query is received from the authenticated terminal, And performing a Secure Multiparty Computation (SMC) between the first cloud and the second cloud to process the user query.
또한, 본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 시스템은, 인덱스 트리를 암호화하여, 암호화 인덱스 트리를 생성하고, 상기 암호화 인덱스 트리를, 암호화 데이터베이스, 및 암호화 키를 유지하는 제1 클라우드에 보관하고, 상기 암호화 키에 대응한 복호화 키를, 상기 제1 클라우드와 상이한 제2 클라우드에 보관하고, 인증된 단말로부터 사용자 질의가 수신되면, 선정된 암호화 연산 프로토콜을 기반으로, 상기 제1 클라우드와 상기 제2 클라우드 간에 다자간 계산을 수행하여, 상기 사용자 질의를 처리한다.The encryption index-based area query processing system according to an embodiment of the present invention encrypts an index tree to generate an encryption index tree, and the encryption index tree is divided into an encryption database and a first cloud And stores the decryption key corresponding to the encryption key in a second cloud different from the first cloud. When a user query is received from an authenticated terminal, based on the selected encryption operation protocol, And the second cloud to process the user query.
본 발명의 일실시예에 따르면, 클라우드에 아웃소싱된 암호화 데이터베이스에 대한 인증된 사용자로부터의 영역 질의를 처리 시, 암호화 인덱스 트리를 기반으로 SBN 프로토콜, SCMP 프로토콜 및 SRO 프로토콜 중 적어도 하나의 암호화 연산 프로토콜을 수행 함으로써 추가적인 정보의 노출을 방지하여, 데이터 보호와 사용자 질의 보호 뿐만 아니라, 질의 처리 과정에서의 데이터 접근 패턴 보호를 모두 지원할 수 있다.According to one embodiment of the present invention, when processing an area query from an authenticated user for an outsourced cryptographic database in the cloud, at least one of the SBN protocol, the SCMP protocol, and the SRO protocol, based on the cryptographic index tree, By doing so, it is possible to protect both data protection and user query protection as well as data access pattern protection during query processing.
도 1은 본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 시스템을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 시스템에서, 두 영역 간에 겹침 여부를 판단하는 일례를 도시한 도면이다.
도 3은 암호화 인덱스 트리의 단말 노드와 연관된 노드 영역과, 사용자 질의와 연관된 질의 영역을 좌표평면에 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 시스템에서, 암호화 인덱스 트리를 탐색하는 과정을 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 시스템에서, 질의 영역 내 데이터를 탐색하는 과정을 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 방법의 순서를 도시한 흐름도이다.1 is a diagram illustrating a cryptographic index-based area query processing system according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating an example of determining overlap between two regions in an encryption index-based area query processing system according to an embodiment of the present invention.
3 is a diagram showing a node area associated with a terminal node of an encryption index tree and a query area associated with a user query in a coordinate plane.
FIG. 4 is a diagram illustrating a process of searching an encryption index tree in a cryptographic index-based area query processing system according to an embodiment of the present invention.
5 is a diagram illustrating a process of searching for data in a query area in an encryption index-based area query processing system according to an embodiment of the present invention.
6 is a flowchart illustrating a procedure of an encryption index-based area query processing method according to an embodiment of the present invention.
이하, 첨부된 도면들을 참조하여 본 발명의 일실시예에 따른 응용프로그램 업데이트 장치 및 방법에 대해 상세히 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, an apparatus and method for updating an application program according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.
본 발명에서 "영역 질의"는, "영역"으로 주어지는 "사용자 질의"를 지칭할 수 있다. 본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 시스템은, 암호화 인덱스 트리를 기반으로 "영역 질의" 내에 존재하는 데이터를 탐색하여 인증된 단말에 반환함으로써 암호화 데이터베이스 상에서 사용자 질의를 처리할 수 있다.In the present invention, " region query " may refer to " user query " given as " region ". The encryption index-based area query processing system according to an embodiment of the present invention can search for data existing in the " area query " based on the encryption index tree and return the data to the authenticated terminal to process the user query on the encryption database .
도 1은 본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 시스템을 도시한 도면이다. 1 is a diagram illustrating a cryptographic index-based area query processing system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 시스템(100)은, 데이터베이스(110)(T), 인덱스 트리(120), 암호화 키(130)(pk), 복호화 키(140)(sk), 제1 클라우드(150)(CA), 암호화 데이터베이스(160), 암호화 인덱스 트리(170) 및 제2 클라우드(180)(CB)를 포함하여 구성될 수 있다.1, an encryption index based area
영역 질의 처리 시스템(100)은 데이터베이스(110)에 저장된 데이터를 선정된 개수(예를 들어, F개) 단위로 분할하고, 분할된 데이터를 포함하는 단말 노드를, 복수로 가지는 인덱스 트리(120)를 구축한다.The region
일례로, 영역 질의 처리 시스템(100)은 레벨이 h이고, 총 2h-1개의 단말 노드를 가지는 인덱스 트리(120)를 데이터베이스(110)로부터 구축할 수 있으며, 각 단말 노드는 최대 F(FanOut)개의 데이터를 저장할 수 있다.For example, the area
인덱스 트리(120)의 각 단말 노드는, 자신이 담당하는 노드 영역에 관한 영역 정보와, 노드 영역 내에 포함되는 데이터에 대한 데이터ID를 평문 형태로 저장할 수 있다. 여기서, 상기 영역 정보는 노드 영역에 대한 하한점(lbz,m) 및 상한점(ubz,m)(1=z≤=numnode, 1≤j≤m)을 속성(m) 별로 포함할 수 있다.Each terminal node in the
예를 들어, 도 3을 참조하면, 인덱스 트리(120)의 단말 노드 'node 1'은, 속성 m이 1인 경우, 단말 노드 'node 1'과 연관된 노드 영역에 대한 하한점 '(lb1 ,0, lb1,1)' 및 상한점 '(ub1 ,0, ub1 ,1)'과, 상기 노드 영역에 포함되는 데이터에 대한 데이터ID 't1', 't2'를 저장할 수 있다.For example, referring to FIG. 3, when the attribute m is 1, the leaf node 'node 1' of the
영역 질의 처리 시스템(100)은 데이터베이스(110)로부터 구축한 인덱스 트리(120)를 암호화하여, 암호화 인덱스 트리(170)를 생성한다.The area
구체적으로, 영역 질의 처리 시스템(100)은 각 단말 노드와 연관된 노드 영역에 포함되는 데이터에 대한 데이터ID를, 속성 별로 더 암호화하여 암호화 인덱스 트리(170)를 생성할 수 있다.Specifically, the area
예를 들어, 영역 질의 처리 시스템(100)은 인덱스 트리(120)의 단말 노드 'node 1'에 포함되는 데이터ID 't1', 't2'를, 속성 m 별로 암호화하고, 나머지 단말 노드에 포함된 데이터ID를 속성 m 별로 암호화하여, 암호화 인덱스 트리(170)를 생성할 수 있다.For example, the area
이때, 영역 질의 처리 시스템(100)은 암호화 데이터베이스(160)의 생성 시 이용한 동일 암호화 키(130)로, 인덱스 트리(120)에 포함되는 각 단말 노드를 암호화 하여 암호화 인덱스 트리(170)를 생성할 수 있다.At this time, the area
영역 질의 처리 시스템(100)은 원본 데이터가 유지되는 데이터베이스(110)를, 패일러(Paillier) 암호화 시스템을 기반으로 암호화하여 암호화 데이터베이스(160)를 생성할 수 있다.The area
구체적으로, 영역 질의 처리 시스템(100)은 암호화 키(130)를 공개 키로 생성하고, 암호화 키(130)로 데이터베이스(110) 내의 데이터를 암호화 함으로써 데이터베이스(110)의 아웃소싱으로 인한 데이터 노출을 방지할 수 있다.Specifically, the area
여기서, 패일러(Paillier) 암호화 시스템은 복호화의 과정 없이 암호화 데이터의 합 연산(아래의 수식 (1) 참조)과 곱 연산(아래의 수식 (2) 참조)을 처리할 수 있는 대표적인 준동형 암호화 기법으로, 동일한 평문이더라도 암호화 값을 상이하게 함으로써 의미적 보안(semantic security)을 지원할 수 있다.Here, the Paillier cryptosystem is a typical cryptosystem which can process the summation of encryption data (see Equation (1) below) and multiplication (see Equation (2) below) , It is possible to support semantic security by making encryption values different even if they are the same plain text.
E(a+b) = E(a)*E(b) mod N2 (1) E (a + b) = E (a) * E (b) mod N 2 (1)
E(a*b) = E(a)b mod N2 (2)E (a * b) = E (a) b mod N 2 (2)
본 발명에서, 데이터베이스(110)는 m개('m'은 '1' 이상)의 속성(attribute) 혹은 차원(column)으로 구성되는 적어도 하나의 레코드로 구성되며, 영역 질의 처리 시스템(100)은 각 레코드의 속성 단위로 데이터베이스(110)의 암호화를 수행할 수 있다.In the present invention, the
예를 들어, 영역 질의 처리 시스템(100)은 암호화 키(130)를 이용하여, 데이터ID 't1'을 'E(t1,1),…,E(t1,m)'와 같이 암호화하고, 데이터ID 't2'를 'E(t2,1),…,E(t2,m)'와 같이 암호화하고, 데이터ID 'tn'을 'E(tn,1),…,E(tn,m)'와 같이 암호화하여, 암호화 데이터베이스(160)를 생성할 수 있다.For example, the area
이와 같이, 영역 질의 처리 시스템(100)은 데이터베이스(110)의 암호화를 통해, 외부에 아웃소싱되는 데이터베이스(110)에 유지되는 데이터의 보호를 지원할 수 있다.In this manner, the area
영역 질의 처리 시스템(100)은 서로 결탁하지 않는 (non-colluding) 제1 클라우드(150), 제2 클라우드(180)를 마련할 수 있다.The region
본 발명에서, 각 클라우드(150, 180)는 사용자 질의를 처리하기 위해 암호화 프로토콜을 수행 시, 질의 처리 과정 중에 획득한 정보를 바탕으로, 추가적인 정보를 획득하기 위해 다른 클라우드와 결탁하여 데이터 및 정보를 주고 받지 않도록 할 수 있다.In the present invention, each
영역 질의 처리 시스템(100)은 암호화 인덱스 트리(170)를, 암호화 데이터베이스(160), 및 암호화 키(130)를 유지하는 제1 클라우드(150)에 보관한다(단계 101).The region
또한, 영역 질의 처리 시스템(100)은 상기 암호화 키(130)에 대응한 복호화 키(140)를, 제1 클라우드(150)와 상이한 제2 클라우드(180)에 보관한다(단계 102).The area
다시 말해, 영역 질의 처리 시스템(100)은 암호화 인덱스 트리(170)를, 암호화 데이터베이스(160) 및 암호화 키(130)와 함께 제1 클라우드(150)에 보관하고, 비밀 키로 생성한 복호화 키(140)를, 다른 제2 클라우드(180)에 보관할 수 있다.In other words, the area
또한, 영역 질의 처리 시스템(100)은 데이터베이스(110)의 암호화 시 이용한 동일 암호화 키(130)를 인증된 단말(190)로 제공할 수 있다(단계 103). 단말(190)에서는 데이터를 획득하기 위해 제1 클라우드(150)로 질의를 요청 시, 상기 제공된 암호화 키(130)를 이용하여 사용자 질의를 암호화할 수 있다(단계 104).In addition, the area
예를 들어, 단말(190)에서는 사용자 질의와 연관된 질의 영역을 구성하는 하한점 및 상한점을, 예컨대 'E(q.lbj), E(q.ubj)(1=j≤=m)'와 같이 암호화 키(130)로 암호화하여 사용자 질의를 요청할 수 있다.For example, in the
이와 같이, 영역 질의 처리 시스템(100)은 암호화된 질의를 기반으로 서비스를 제공하여 데이터 보호 및 사용자 질의 보호를 지원할 수 있다.As described above, the area
영역 질의 처리 시스템(100)은 인증된 단말(190)로부터 사용자 질의가 수신되면, 선정된 암호화 연산 프로토콜을 기반으로, 제1 클라우드(150)와 제2 클라우드(180) 간에 다자간 계산(SMC, Secure Multiparty Computation)을 수행하여, 상기 사용자 질의를 처리한다(단계 105).The area
또한, 영역 질의 처리 시스템(100)은 제1 클라우드(150) 및 제2 클라우드(180)와 함께 사용자 질의를 처리한 결과를 단말(190)에 전송할 수 있다(단계 106).The region
여기서, 다자간 계산이란, 데이터 소유자가 보유하고 있는 원본 데이터를 노출하지 않은 채, 다른 개체(제1 클라우드(150)와 제2 클라우드(180))를 통해 프로토콜 및 연산을 안전하게 수행하는 것을 지칭할 수 있다.Here, the multiparameter calculation can refer to safely performing the protocol and the operation via another entity (the
이를 위해, 영역 질의 처리 시스템(100)은 암호화 인덱스 트리(170), 암호화 데이터베이스(160) 및 암호화 키(130)를 보관하는 제1 클라우드(150)와 다른 제2 클라우드(180)에 복호화 키(140)를 보관하고, 이를 바탕으로, 제1 클라우드(150)와 제2 클라우드(180) 간에 다자간 계산을 통해 영역 질의를 처리할 수 있다.To this end, the area
이를 통해, 영역 질의 처리 시스템(100)은 데이터 보호를 지원하면서, 암호화 인덱스 트리(170)를 기반으로, 암호화 데이터베이스(160) 상에서의 사용자 질의를 안전하게 처리할 수 있다.In this way, the area
일례로, 영역 질의 처리 시스템(100)은 SBN(Secure Bit-Not) 프로토콜, SCMP(Secure Compare) 프로토콜, SRO(Secure Range Overlapping) 프로토콜, SM(Secure Multiplication) 프로토콜, SBD(Secure Bit Decomposition) 프로토콜, 및 SMIN(Secure Minimum) 프로토콜 중 적어도 하나의 암호화 연산 프로토콜을 기반으로, 상기 사용자 질의를 처리할 수 있다.For example, the area
일례로, 영역 질의 처리 시스템(100)은 제1 클라우드(150) 단독으로 "SBN 프로토콜"을 수행하여, 1비트의 암호화 데이터 E(a)에 대해, 'Not 연산'을 수행할 수 있다. 예를 들어, 영역 질의 처리 시스템(100)은 SBN 프로토콜의 수행 결과 입력 값이 'E(0)'인 경우에는 'E(1)'을 반환하고, 입력 값이 'E(1)'인 경우에는 'E(0)'을 결과로 반환할 수 있다.In one example, the area
또한, 영역 질의 처리 시스템(100)은 "SCMP 프로토콜"을 수행하여, 두 개의 암호화 된 수(예, 'E(3)', 'E(5)') 중 첫 번째 암호화 값('E(3)')이 두 번째 암호화 값('E(5)')보다 작거나 같으면, 'E(1)'을 반환하고, 그렇지 않으면 'E(0)'을 반환할 수 있다.The area
구체적으로, 영역 질의 처리 시스템(100)은 제1 클라우드(150)에 이진수로 변환된 두 개의 암호화 데이터 [u]와 [v]가 주어진 경우, SCMP 프로토콜을 수행하여, 'u≤v'를 만족하는 경우 'E(1)'을 반환하고, 'u>v'인 경우 'E(0)'을 반환할 수 있다.Specifically, when two encrypted data [u] and [v] are converted into binary numbers in the
영역 질의 처리 시스템(100)은 점이 영역에 포함되는지를 확인하거나, 두 영역이 서로 겹치는지를 확인하기 위해 SCMP 프로토콜을 수행할 수 있다. 예를 들어, 영역 질의 처리 시스템(100)은 점 'p1(p1,x, p1,y)'이 단말 노드 'node1'의 노드 영역 '(lb1,x, lb1,y), (ub1,x, ub1,y)'에 속하는지를 확인하기 위해 SCMP 프로토콜을 수행할 수 있다.The area
영역 질의 처리 시스템(100)은 SCMP 프로토콜의 수행 결과, 점 'p1'이 4개 조건 'ⅰ) lb1,x≤p1,x, ⅱ) lb1,y≤p1,y, ⅲ) p1,x≤ub1,x, ⅳ) p1,y≤ub1,y'을 모두 만족 시, 단말 노드 'node1'의 노드 영역에 점 'p1'이 속하는 것으로 판단하고, 결과값으로 'E(1)'을 반환할 수 있다. 또는, 영역 질의 처리 시스템(100)은 하기의 4개 조건 중 어느 하나라도 만족하지 않으면, 노드 영역에 점 'p1'이 속하지 않는 것으로 판단하고, 결과값으로 'E(0)'을 반환할 수 있다.The region
이와 같이, 본 발명에서 SCMP 프로토콜은 데이터 접근 패턴 노출을 방지하는 암호화 인덱스 탐색 및 질의 처리 알고리즘 수행을 위한 핵심 프로토콜로 사용될 수 있다.As described above, in the present invention, the SCMP protocol can be used as a core protocol for performing an encryption index search and a query processing algorithm to prevent data access pattern exposure.
또한, 영역 질의 처리 시스템(100)은 SRO 프로토콜을 수행하여, 두 개의 영역이 서로 겹치면 'E(1)', 그렇지 않으면 'E(0)'을 결과값으로 반환할 수 있다. 본 발명에서, SRO 프로토콜은, 데이터 접근 패턴 노출을 방지하는 암호화 인덱스 탐색에 사용될 수 있다. 일례로, 한 영역의 하한점 및 상한점을 모두 점의 좌표로 설정하면 영역의 형태로 표현되지만 실제로는 점을 나타내기 때문에, 영역 질의 처리 시스템(100)은 SRO 프로토콜을 통해 영역 안에 점이 포함되는지 여부를 판단할 수 있다.In addition, the area
이하, 도 2를 참조하여, SRO 프로토콜을 수행하는 과정을 설명한다.Hereinafter, a process of performing the SRO protocol will be described with reference to FIG.
도 2는 본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 시스템에서, 두 영역 간에 겹침 여부를 판단하는 일례를 도시한 도면이다.FIG. 2 is a diagram illustrating an example of determining overlap between two regions in an encryption index-based area query processing system according to an embodiment of the present invention.
도 2를 참조하면, 영역 질의 처리 시스템(100)은 제1 클라우드(150)에서 SRO 프로토콜을 수행하여 두 암호화 영역(210, 220)의 상한점 및 하한점 간에 겹침 조건(230)을 모두 만족하는지 확인할 수 있다.2, the region
즉, 영역 질의 처리 시스템(100)은 암호화 영역(210)의 하한점(lb1,x, lb1,y)이, 암호화 영역(220)의 상한점(ub2,x와 ub2,y) 보다 작은지 비교하고, 암호화 영역(220)의 하한점(lb2,x, lb2,y)이 암호화 영역(210)의 상한점(ub1,x와 ub1,y) 보다 작은지 비교하여, 두 암호화 영역(210, 220)이 겹치는지 판단할 수 있다.That is, the area
영역 질의 처리 시스템(100)은 SRO 프로토콜의 수행 결과, 두 암호화 영역(210, 220)의 상한점 및 하한점 간에 겹침 조건(230)을 모두 만족하는 경우 두 암호화 영역(210, 220)이 겹치는 것으로 판단하고, 결과값으로 'E(1)'을 반환할 수 있다.The area
이때, 영역 질의 처리 시스템(100)은 겹침 조건(230) 중 어느 하나라도 만족하지 않으면, 두 암호화 영역(210, 220)이 겹치지 않는 것으로 판단하고, 결과값으로 'E(0)'을 반환할 수 있다.At this time, if any one of the overlapping
실시예에 따라, 영역 질의 처리 시스템(100)은 두 암호화 영역(210, 220)의 겹침 여부를 확인하기 위해 2×m회(m은 속성 또는 차원)의 비교 연산을 수행할 수 있다.According to the embodiment, the area
다시 말해, 영역 질의 처리 시스템(100)은 암호화 영역(210)의 하한점이 암호화 영역(220)의 상한점 보다 모든 차원에서 작은지 비교하고(m회), 또한 암호화 영역(220)의 하한점이 암호화 영역(210)의 상한점 보다 모든 차원에서 작은지 비교하여(m회), 두 암호화 영역(210, 220)이 겹치는지 판단할 수 있다.In other words, the area
영역 질의 처리 시스템(100)은 상기 SRO 프로토콜의 수행 결과로서 'E(1)'을 반환하는 단말 노드를, 질의 영역과 겹치는 제1 단말 노드로서 탐색할 수 있다.The area
일례로, 영역 질의 처리 시스템(100)은 SCMP 프로토콜을 통해 '≤' 연산을 수행한 결과를 바탕으로 SM 프로토콜을 수행하는 것에 의해 SRO 프로토콜을 수행할 수 있으며, SCMP 프로토콜의 수행 결과가 모두 'E(1)'인 경우에만 최종적으로 'E(1)' 값이 유지될 수 있다.For example, the area
여기서, SM 프로토콜은 제1 클라우드(150)에 암호화된 두 데이터 'E(a)'와 'E(b)'가 주어지는 경우, a*b의 암호화 값 E(a*b)를 계산하는 프로토콜일 수 있다.Here, the SM protocol is a protocol for calculating the encrypted value E (a * b) of a * b when two encrypted data 'E (a)' and 'E (b)' are given to the
도 1로 돌아가면, 영역 질의 처리 시스템(100)은 SBD 프로토콜을 수행하여, 단말(190)로부터 수신된 암호화된 질의 영역 및 암호화 인덱스 트리(170)의 각 단말 노드의 영역 정보(상한점 및 하한점)를, 암호화된 이진수로 변환할 수 있다.1, the area
예를 들어, 영역 질의 처리 시스템(100)은 SBD 프로토콜을 통해, 암호화된 질의 영역 'E(q) = (E(q.lbj), E(q.ubj))'를, '[q] = ([q.lbj], [q.ubj])'(1≤j≤m)로 변환할 수 있다.For example, the area
또한, 영역 질의 처리 시스템(100)은 SBD 프로토콜을 통해, 암호화 노드 영역 'E(nodez)=(E(nodez.lbj), E(nodez.ubj))'를, '[nodez] = ([nodez.lbj], [nodez.ubj])'(1≤z≤numnode, 1≤j≤m)로 변환할 수 있다. 여기서, numnode는 단말 노드의 총 수(2h-1)를 의미할 수 있다.In addition, the area
또한, 영역 질의 처리 시스템(100)은 SMIN 프로토콜을 수행하여, u, v 중 작은 수에 대한 정보를 암호문 형태로 저장하거나, u, v 중 작은 수에 대한 정보를 바탕으로, u, v 중 실제 min 값(최소값)을 추출할 수 있다.In addition, the area
이하, 도 3을 참조하여 사용자 질의를 처리하는 과정을 설명한다.Hereinafter, a process of processing a user query will be described with reference to FIG.
도 3은 암호화 인덱스 트리의 단말 노드와 연관된 노드 영역과, 사용자 질의와 연관된 질의 영역을 좌표평면에 도시한 도면이다.3 is a diagram showing a node area associated with a terminal node of an encryption index tree and a query area associated with a user query in a coordinate plane.
도 3을 참조하면, 암호화 인덱스 트리(170)는 4개의 단말 노드(node 1, node2, node3, node4)를 포함하고, 각 단말 노드는 하한점과 상한점으로 구성되는 노드 영역(310, 320, 330, 340)을 가질 수 있다.3, the
영역 질의 처리 시스템(100)은 각 노드 영역(310, 320, 330, 340) 중에서 사용자가 전송한 질의 영역(350)과 겹치는 제1 단말 노드를 탐색하고, 해당 제1 단말 노드 내에 존재하는 데이터를 접근 패턴 노출 없이 안전하게 탐색할 수 있다.The region
영역 질의 처리 시스템(100)은 사용자 질의와 겹치는 암호화 인덱스 트리(170) 내 제1 단말 노드를 탐색하고, 제1 단말 노드로부터 추출된 데이터 중, 사용자 질의와 연관된 질의 영역(350) 내에 포함되는 데이터를 탐색하고, 상기 탐색한 데이터에 기초하여, 사용자 질의에 대한 결과를 단말(190)에 반환할 수 있다.The region
이하, 도 4를 참조하여, 사용자 질의를 처리하기 위해 암호화 인덱스 트리를 탐색하는 과정을 설명한다.Hereinafter, a process of searching an encrypted index tree for processing a user query will be described with reference to FIG.
도 4는 본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 시스템에서, 암호화 인덱스 트리를 탐색하는 과정을 도시한 도면이다.FIG. 4 is a diagram illustrating a process of searching an encryption index tree in a cryptographic index-based area query processing system according to an embodiment of the present invention.
도 4를 참조하면, 영역 질의 처리 시스템(100)은, 사용자 질의와 연관된 질의 영역 및 암호화 인덱스 트리(170) 내 각 단말 노드와 연관된 노드 영역을 기반으로, SRO 프로토콜을 수행할 수 있다(단계 410).4, the region
여기서, 영역 질의 처리 시스템(100)은, 상기 질의 영역을 구성하는 제1 하한점이, 노드 영역을 구성하는 제2 상한점보다 작고, 노드 영역을 구성하는 제2 하한점이 상기 질의 영역을 구성하는 제1 상한점보다 작은 경우(겹침 조건), 상기 질의 영역과 상기 노드 영역이 겹치는 것으로 판단하고, 상기 SRO 프로토콜의 수행 결과로서 'E(1)'을 반환할 수 있다.Here, the region
영역 질의 처리 시스템(100)은, 상기 SRO 프로토콜의 수행 결과로서 'E(1)'을 반환하는 단말 노드를, 상기 질의 영역과 겹치는 제1 단말 노드로서 탐색할 수 있다.The area
이때, 영역 질의 처리 시스템(100)은, 상기 질의 영역과 상기 노드 영역이 겹치지 않는 것으로 판단되면, 상기 SRO 프로토콜의 수행 결과로서 'E(0)'을 반환할 수 있다. 영역 질의 처리 시스템(100)은, 상기 SRO 프로토콜의 수행 결과로서 'E(0)'을 반환하는 단말 노드를, 상기 질의 영역과 겹치지 않는 제2 단말 노드로서 필터링하여 상기 제1 단말 노드를 탐색할 수도 있다.At this time, the area
영역 질의 처리 시스템(100)은, 상기 SRO 프로토콜을 통해 탐색한 상기 제1 단말 노드에 저장되는 데이터를, 질의 결과 후보 'E(cand)'로서 추출할 수 있다.The area
예를 들어, 영역 질의 처리 시스템(100)은, 제1 클라우드(150)에서 SBD 프로토콜을 이용하여 단말(190)로부터 수신된 암호화된 질의 영역 'E(q)'를, 암호화된 이진수 '[q]'로 변환하고, 암호화 인덱스 트리(170)의 각 단말 노드의 영역 정보 'E(nodez)'를, '[nodez]'로 변환하고, 암호화된 이진수 '[q]'와 '[nodez]'를 기반으로 SRO 프로토콜을 수행하고, SRO 프로토콜 수행 결과 'E(α) = {E(0), E(0), E(1), E(1)}' 중에서 반환된 'E(α)'의 값이 'E(1)'인 노드를, 질의 영역과 겹치는 제1 단말 노드로 탐색할 수 있다.For example, the area
영역 질의 처리 시스템(100)은, 제1 클라우드(150)에서 순서 변경 함수 'π'를 생성하여 'E(α)'를, 'E(α') = {E(1), E(1), E(0), E(0)}'와 같이 역순으로 변환한 후 제2 클라우드(180)로 전송할 수 있다(단계 420).The region
영역 질의 처리 시스템(100)은, 제2 클라우드(180)에서 복호화 키(140)를 이용하여 'E(α')'를, 'α'={1, 1, 0, 0}'와 같이 복호화하고(단계 430), '1'의 개수(c='2')만큼의 노드 그룹을 생성한 후, 각 노드 그룹에 α'=1인 노드 1개와, α'=0인 노드 (N/c)-1개(상기 N은 전체 단말 노드 수)를 할당하고(단계 440), 할당된 노드의 순서를 임의로 변환한 후 제1 클라우드(150)로 전송할 수 있다(단계 450).The region
본 단계(430 내지 450)에서, 영역 질의 처리 시스템(100)은 제2 클라우드(180)의 관점에서 단말 노드 'node 1' 및 'node 2'가 질의 영역과 겹치는 것으로 판단하고, '노드 그룹 1 = {2, 4}', '노드 그룹 2 = {1, 3}'와 같이 두 개의 노드 그룹을 생성 후 각 노드 그룹에 α' 값에 따라 노드를 1개씩 할당하고, 각 노드 그룹을 '노드 그룹 1 = {4, 2}', '노드 그룹 2 = {1, 3}'와 같이 램덤하게 순서 변환 후 제1 클라우드(150)로 전송할 수 있다.In this
영역 질의 처리 시스템(100)은, 제1 클라우드(150)에서, 상기 순서 변경 함수의 역변경 함수 'π-1'을 이용하여 각 노드 그룹에 속한 단말 노드들의 식별 번호를 '{4, 2}→{1, 3}', '{1, 3}→{4, 2}'와 같이 역변경하고(단계 460), 노드 그룹 별 노드에 저장된 데이터 및 SRO 프로토콜을 통해 반환된 각 노드의 E(α)를 이용해 SM 프로토콜을 수행하고, SM 프로토콜을 수행한 결과를 모두 더하여, 질의와 관련된 노드 내에 존재하는 데이터를 E(cand)에 저장하고, 질의 영역과 겹치는 노드가 저장하고 있는 모든 데이터 E(cand)를, 질의 결과 후보 'E(cand)'로서 추출할 수 있다(단계 470).Range
영역 질의 처리 시스템(100)은 질의 결과 후보로서 추출한 데이터와 질의 영역을 기반으로 SRO 프로토콜을 수행하여, 질의 영역에 속하는 데이터를 탐색할 수 있다.The area
이하, 도 5를 참조하여, 사용자 질의를 처리하기 위해 질의 영역 내 데이터를 탐색하고, 최종 질의 결과를 단말(190)에 제공하는 과정을 설명한다.Hereinafter, a process of searching data in a query area to process a user query and providing a final query result to the terminal 190 will be described with reference to FIG.
도 5는 본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 시스템에서, 질의 영역 내 데이터를 탐색하는 과정을 도시한 도면이다.5 is a diagram illustrating a process of searching for data in a query area in an encryption index-based area query processing system according to an embodiment of the present invention.
도 5를 참조하면, 영역 질의 처리 시스템(100)은, 제1 클라우드(510)에서, 추출된 질의 결과 후보 'E(cand) = {E(t5), E(t6), E(t7), E(t8)}'에 대해 SBD 프로토콜을 수행하여 암호화 이진수 [cand]로 변환하고(단계 510), [cand]와 [q]를 기반으로 SRO 프로토콜을 수행하여, SRO 수행 결과 반환된 E(α)의 값이 'E(1)'인 데이터를, 질의 영역 내에 존재하는 데이터로서 탐색할 수 있다(단계 520).Referring to FIG. 5, the region
예를 들어, 영역 질의 처리 시스템(100)은 SRO 수행 결과 'E(α) = {E(0), E(1), E(1), E(0)}'으로 계산되는 경우, 'E(1)'로 반환되는 데이터 't6' 및 't7'을, 질의 영역 내에 존재하는 데이터로서 탐색할 수 있다. 여기서, SRO 수행 결과 반환된 E(α)의 값이 'E(1)'인 데이터는 사용자 질의에 대한 최종 질의 결과일 수 있다.For example, if the area
또한, 영역 질의 처리 시스템(100)은 질의 영역에 속하는 데이터와 임의의 난수를 기반으로 SRO 프로토콜을 수행한 결과값을, 임의의 순서 변경 함수에 따라 복수의 결과값으로 변경할 수 있다. 영역 질의 처리 시스템(100)은 상기 복수의 결과값 중 제1 결과값을 단말(190)로 반환하고, 복수의 결과값 중 제2 결과값을 제2 클라우드(180)로 전송하여 제2 클라우드(180)에 의해 복호화된 제2 결과값을 단말(190)로 반환할 수 있다(단계 530).In addition, the area
예를 들어, 영역 질의 처리 시스템(100)은 제1 결과값 'r'을, 순서 변경 후 단말(190)에 전송하고, 제2 결과값 'E(result+r)' 및 'E(α)'을, 제1 결과값 'r'과 동일한 방법으로 순서 변경한 후 제2 클라우드(180)로 전송할 수 있다. 이에 따라, 제2 클라우드(180)에서는 도 5의 표(501)와 같은 정보를 확인할 수 있게 된다.For example, the area
영역 질의 처리 시스템(100)은 제2 클라우드(180)에서 복호화를 통해, 'α', 'cand+r'를 획득하고, 'α=1'인 'cand+r' 및 'α'를 단말(190)로 전송할 수 있다(단계 540). 이에 따라, 단말(190)에서는 도 5의 표(502)와 같은 정보를 확인할 수 있게 된다.The region
단말(190)은 상기 제1 결과값과 상기 복호화된 제2 결과값과의 차를 이용하여 상기 사용자 질의에 대한 최종 질의 결과를 계산하여 획득할 수 있다(단계 550).The terminal 190 may calculate a final query result for the user query using the difference between the first result value and the decoded second result value (step 550).
예를 들어, 단말(190)에서는 제1 결과값과 상기 복호화된 제2 결과값과의 차('cand+r' - 'r')를 계산하여 최종 질의 결과를 도출할 수 있게 된다.For example, the terminal 190 can calculate the final query result by calculating the difference ('cand + r' - 'r') between the first resultant value and the decoded second resultant value.
이와 같이, 영역 질의 처리 시스템(100)은 단말(190)에 복호화된 질의 결과를 전송하면서도, 질의 결과가 클라우드에 모두 노출되지 않도록 방지 함으로써 단말(190)에서의 질의 처리 비용을 최소화할 수 있다.In this manner, the area
실시예에 따라, 영역 질의 처리 시스템(100)은 상기 사용자 질의와 연관된 질의 영역을 구성하는 하한점 및 상한점이, 단말(190)에 제공한 암호화키(130)로 암호화되어 단말(190)로부터 수신되면, 제1 클라우드(150)에서, 암호화 연산 프로토콜을 수행하여 암호화 인덱스 트리(170)를 탐색한 단말 노드를 제2 클라우드(180)로 전달하는 제1 단계와, 제2 클라우드(180)에서, 복호화 키(140)로 상기 단말 노드로부터 획득한 데이터에 대해 암호화 연산 프로토콜을 수행한 결과를 제1 클라우드(150)로 전달하는 제2 단계, 및 상기 사용자 질의에 대한 결과가 도출될 때까지, 상기 제1 및 제2 단계를 반복하여, 상기 사용자 질의를 처리할 수도 있다.According to an embodiment, the area
이와 같이, 본 발명의 일실시예에 따르면, 클라우드에 아웃소싱된 암호화 데이터베이스(160)에 대한 인증된 사용자로부터의 영역 질의를 처리 시, 암호화 인덱스 트리(170)를 기반으로 SBN 프로토콜, SCMP 프로토콜 및 SRO 프로토콜 중 적어도 하나의 암호화 연산 프로토콜을 수행 함으로써 추가적인 정보의 노출을 방지하여, 데이터 보호와 사용자 질의 보호 뿐만 아니라, 질의 처리 과정에서의 데이터 접근 패턴 보호를 모두 지원할 수 있다.As described above, according to one embodiment of the present invention, when processing an area query from an authenticated user for an encryption outsourced
이하, 도 6에서는 본 발명의 실시예들에 따른 영역 질의 처리 시스템(100)의 작업 흐름을 상세히 설명한다.Hereinafter, FIG. 6 illustrates in detail the operation flow of the area
도 6은 본 발명의 일실시예에 따른 암호화 인덱스 기반 영역 질의 처리 방법의 순서를 도시한 흐름도이다.6 is a flowchart illustrating a procedure of an encryption index-based area query processing method according to an embodiment of the present invention.
본 실시예에 따른 영역 질의 처리 방법은 상술한 영역 질의 처리 시스템(100)에 의해 수행될 수 있다.The region query processing method according to the present embodiment can be performed by the above-described region
도 6을 참조하면, 단계(610)에서, 영역 질의 처리 시스템(100)은 인덱스 트리(120)를 암호화하여, 암호화 인덱스 트리(130)를 생성한다.Referring to FIG. 6, in
본 단계(610)에서, 영역 질의 처리 시스템(100)은 암호화 데이터베이스(160)의 생성 시 이용한 동일 암호화 키(130)로, 인덱스 트리(120)에 포함되는 각 단말 노드를 암호화 하여 암호화 인덱스 트리(170)를 생성할 수 있다.The area
일례로, 영역 질의 처리 시스템(100)은 원본 데이터가 유지되는 데이터베이스(110)를, 패일러(Paillier) 암호화 시스템을 기반으로 암호화하여 암호화 데이터베이스(160)를 생성할 수 있으며, 이를 통해, 데이터베이스(110)의 아웃소싱으로 인한 데이터 노출을 방지할 수 있다.In one example, the area
여기서, 패일러(Paillier) 암호화 시스템은 복호화의 과정 없이 암호화 데이터의 합 연산(아래의 수식 (1) 참조)과 곱 연산(아래의 수식 (2) 참조)을 처리할 수 있는 대표적인 준동형 암호화 기법으로, 동일한 평문이더라도 암호화 값을 상이하게 함으로써 의미적 보안(semantic security)을 지원할 수 있다.Here, the Paillier cryptosystem is a typical cryptosystem which can process the summation of encryption data (see Equation (1) below) and multiplication (see Equation (2) below) , It is possible to support semantic security by making encryption values different even if they are the same plain text.
E(a+b) = E(a)*E(b) mod N2 (1) E (a + b) = E (a) * E (b) mod N 2 (1)
E(a*b) = E(a)b mod N2 (2)E (a * b) = E (a) b mod N 2 (2)
또한, 영역 질의 처리 시스템(100)은 레벨이 h이고, 총 2h-1개의 단말 노드를 가지는 인덱스 트리(120)를 데이터베이스(110)로부터 구축할 수 있으며, 인덱스 트리(120)의 각 단말 노드는, 자신이 담당하는 노드 영역에 관한 영역 정보와, 노드 영역 내에 포함되는 데이터에 대한 데이터ID를 평문 형태로 저장할 수 있다. 여기서, 상기 영역 정보는 노드 영역에 대한 하한점(lbz,m) 및 상한점(ubz,m)(1=z≤=numnode, 1≤j≤m)을 속성(m) 별로 포함할 수 있다.The area
영역 질의 처리 시스템(100)은 각 단말 노드와 연관된 노드 영역에 포함되는 데이터에 대한 데이터ID를, 속성 별로 더 암호화하여 암호화 인덱스 트리(170)를 생성할 수 있다.The area
예를 들어, 영역 질의 처리 시스템(100)은 인덱스 트리(120)의 단말 노드 'node 1'에 포함되는 데이터ID 't1', 't2'를, 속성 m 별로 암호화하고, 나머지 단말 노드에 포함된 데이터ID를 속성 m 별로 암호화하여, 암호화 인덱스 트리(170)를 생성할 수 있다.For example, the area
단계(620)에서, 영역 질의 처리 시스템(100)은 암호화 인덱스 트리(130)를, 암호화 데이터베이스(110), 및 암호화 키(130)를 유지하는 제1 클라우드(150)에 보관하고, 단계(630)에서, 영역 질의 처리 시스템(100)은 암호화 키(130)에 대응한 복호화 키(140)를, 제1 클라우드(150)와 상이한 제2 클라우드(180)에 보관한다.In
다시 말해, 영역 질의 처리 시스템(100)은 암호화 인덱스 트리(170)를, 암호화 데이터베이스(160) 및 암호화 키(130)와 함께 제1 클라우드(150)에 보관하고, 비밀 키로 생성한 복호화 키(140)를, 다른 제2 클라우드(180)에 보관 함으로써, 사용자 질의를 처리하기 위해 암호화 프로토콜을 수행 시, 질의 처리 과정 중에 획득한 정보를 바탕으로, 추가적인 정보를 획득하기 위해 다른 클라우드와 결탁하여 데이터 및 정보를 주고 받지 않도록 할 수 있다.In other words, the area
단계(640)에서, 영역 질의 처리 시스템(100)은 인증된 단말(190)로부터 사용자 질의가 수신되는지 판단한다. 본 단계(640)에서, 영역 질의 처리 시스템(100)은 인증된 단말(190)로부터, 데이터베이스(110)의 암호화 시 이용한 암호화 키(130)를 이용하여 암호화된 사용자 질의가 수신되는지 판단할 수 있다.In
영역 질의 처리 시스템(100)은 암호화 데이터베이스(160)의 생성 시 암호화 키(130)를 인증된 단말(190)로 제공 함으로써, 단말(190)에서 데이터를 획득하기 위해 제1 클라우드(150)로 질의 요청하려는 경우, 동일 암호화 키(130)를 이용하여 사용자 질의를 암호화 하도록 할 수 있다.The zone
예를 들어, 단말(190)에서는 사용자 질의와 연관된 질의 영역을 구성하는 하한점 및 상한점을, 예컨대 'E(q.lbj), E(q.ubj)(1=j≤=m)'와 같이 암호화하여 사용자 질의를 요청할 수 있다.For example, in the terminal 190, 'E (q.lb j ), E (q.ub j ) (1 = j ? = M) is set as a lower limit point and an upper limit point constituting the query area associated with the user query, 'To request a user query.
이에 따라, 영역 질의 처리 시스템(100)은 암호화된 질의를 기반으로 서비스를 제공하여 데이터 보호 및 사용자 질의 보호를 지원할 수 있다.Accordingly, the area
상기 단계(640)에서의 판단 결과, 인증된 단말(190)로부터 사용자 질의가 수신되는 경우, 단계(650)에서, 영역 질의 처리 시스템(100)은 선정된 암호화 연산 프로토콜을 기반으로, 상기 제1 클라우드(150)와 제2 클라우드(180) 간에 다자간 계산(SMC)을 수행하여, 사용자 질의를 처리한다.If the user query is received from the authenticated terminal 190 as a result of the determination in
예를 들어, 도 3을 참조하면, 암호화 인덱스 트리(170)는 4개의 단말 노드(node 1, node2, node3, node4)를 포함하고, 각 단말 노드는 하한점과 상한점으로 구성되는 노드 영역(310, 320, 330, 340)을 가질 수 있다.For example, referring to FIG. 3, the
영역 질의 처리 시스템(100)은 각 노드 영역(310, 320, 330, 340) 중에서 사용자가 전송한 질의 영역(350)과 겹치는 제1 단말 노드를 탐색하고, 해당 제1 단말 노드 내에 존재하는 데이터를 접근 패턴 노출 없이 안전하게 탐색할 수 있다.The region
영역 질의 처리 시스템(100)은, SRO 프로토콜을 수행하여, 질의 영역을 구성하는 제1 하한점이, 노드 영역을 구성하는 제2 상한점보다 작고, 노드 영역을 구성하는 제2 하한점이 상기 질의 영역을 구성하는 제1 상한점보다 작은 경우(겹침 조건), 상기 질의 영역과 상기 노드 영역이 겹치는 것으로 판단하고, 결과값으로 'E(1)'을 반환할 수 있다. 영역 질의 처리 시스템(100)은, 상기 SRO 프로토콜의 수행 결과로서 'E(1)'을 반환하는 단말 노드를, 질의 영역과 겹치는 제1 단말 노드로서 탐색할 수 있다.The region
이때, 영역 질의 처리 시스템(100)은, 상기 질의 영역과 상기 노드 영역이 겹치지 않는 것으로 판단되면, 상기 SRO 프로토콜의 수행 결과로서 'E(0)'을 반환할 수 있다. 영역 질의 처리 시스템(100)은, 상기 SRO 프로토콜의 수행 결과로서 'E(0)'을 반환하는 단말 노드를, 상기 질의 영역과 겹치지 않는 제2 단말 노드로서 필터링하여 상기 제1 단말 노드를 탐색할 수도 있다.At this time, the area
영역 질의 처리 시스템(100)은, 상기 SRO 프로토콜을 통해 탐색한 상기 제1 단말 노드에 저장되는 데이터를, 질의 결과 후보 'E(cand)'로서 추출하고, 질의 결과 후보로서 추출한 데이터와 질의 영역을 기반으로 SRO 프로토콜을 수행하여, 질의 영역에 속하는 데이터를 탐색할 수 있다.The area
예를 들어, 영역 질의 처리 시스템(100)은, 제1 클라우드(510)에서, 추출된 질의 결과 후보 'E(cand)'에 대해 SBD 프로토콜을 수행하여 암호화된 이진수로 변환하고, 이를 바탕으로 SRO 프로토콜을 수행할 수 있다. 영역 질의 처리 시스템(100)은 SRO 프로토콜 수행 결과 'E(α) = {E(0), E(1), E(1), E(0)}' 중에서 'E(1)'로 반환되는 데이터 't6' 및 't7'을, 실제로 질의 영역 내에 존재하는 데이터로서 탐색할 수 있다.For example, the area
영역 질의 처리 시스템(100)은 상기 탐색한 데이터에 기초하여, 사용자 질의에 대한 결과를 단말(190)에 반환할 수 있다.The area
이때, 영역 질의 처리 시스템(100)은 질의 영역에 속하는 데이터와 임의의 난수를 기반으로 SRO 프로토콜을 수행한 결과값을, 임의의 순서 변경 함수에 따라 복수의 결과값으로 변경하고, 복수의 결과값 중 제1 결과값을 단말(190)로 반환할 수 있다.At this time, the area
또한, 영역 질의 처리 시스템(100)은 복수의 결과값 중 제2 결과값을 제2 클라우드(180)로 전송하고, 제2 클라우드(180)에 의해 복호화된 제2 결과값을 단말(190)로 반환할 수 있다.The region
이에 따라, 단말(190)에서 제1 결과값과 복호화된 제2 결과값과의 차를 이용하여 상기 사용자 질의에 대한 최종 질의 결과를 계산하여 획득하도록 할 수 있다.Accordingly, the terminal 190 may calculate and obtain the final query result for the user query using the difference between the first result value and the decoded second result value.
이와 같이, 영역 질의 처리 시스템(100)은 단말(190)에 복호화된 질의 결과를 전송하면서도, 질의 결과가 클라우드에 모두 노출되지 않도록 방지 함으로써 단말(190)에서의 질의 처리 비용을 최소화할 수 있다.In this manner, the area
예를 들어, 영역 질의 처리 시스템(100)은 제1 결과값 'r'을, 순서 변경 후 단말(190)에 전송하고, 제2 결과값 'E(result+r)' 및 'E(α)'을, 제2 클라우드(180)로 전송할 수 있다. 이에 따라, 제2 클라우드(180)에서는 도 5의 표(501)와 같은 정보를 확인할 수 있게 된다.For example, the area
또한, 영역 질의 처리 시스템(100)은 제2 클라우드(180)에서 복호화를 통해, 'α', 'cand+r'를 획득하고, 'α=1'인 'cand+r' 및 'α'를 단말(190)로 전송할 수 있다. 이에 따라, 단말(190)에서는 도 5의 표(502)와 같은 정보를 확인할 수 있게 된다.The area
단말(190)에서는 제1 결과값과 상기 복호화된 제2 결과값과의 차('cand+r' - 'r')를 계산하여 최종 질의 결과를 도출할 수 있게 된다.The terminal 190 can calculate the final query result by calculating the difference ('cand + r' - 'r') between the first resultant value and the decoded second resultant value.
이와 같이, 영역 질의 처리 시스템(100)은 암호화 인덱스 트리(170)를 기반으로 제1 클라우드(150)와 제2 클라우드(180) 간에 암호화 연산 프로토콜을 수행 함으로써, 사용자 질의 처리 과정에서의 추가적인 정보의 노출을 방지할 수 있다.In this way, the area
이를 통해, 영역 질의 처리 시스템(100)은 암호화 데이터베이스(160) 상에서의 사용자 질의를 안전하게 처리하여, 데이터 보호 및 사용자 질의 보호와 함께, 데이터 접근 패턴 보호를 용이하게 지원할 수 있다.In this way, the area
본 발명의 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
100: 암호화 인덱스 기반 영역 질의 처리 시스템
110: 데이터베이스
120: 인덱스 트리
130: 암호화 키
140: 복호화 키
150: 제1 클라우드
160: 암호화 데이터베이스
170: 암호화 인덱스 트리
180: 제2 클라우드
190: 인증된 단말100: Encryption index based area query processing system
110: Database
120: Index Tree
130: encryption key
140: Decryption key
150: 1st cloud
160: Encryption database
170: Encryption index tree
180: Second cloud
190: Authenticated terminal
Claims (11)
상기 데이터베이스에 저장된 데이터를 선정된 개수 단위로 분할하고, 분할된 데이터를 포함하는 단말 노드를 복수로 가지는 인덱스 트리를 구축하는 단계;
상기 암호화 데이터베이스의 생성 시 이용한 암호화 키로, 상기 인덱스 트리에 포함되는 각 단말 노드를 암호화 하여, 암호화 인덱스 트리를 생성하는 단계;
상기 암호화 인덱스 트리를, 상기 암호화 데이터베이스, 및 상기 암호화 키를 유지하는 제1 클라우드에 보관하는 단계;
상기 암호화 키에 대응한 복호화 키를, 상기 제1 클라우드와 상이한 제2 클라우드에 보관하는 단계; 및
인증된 단말로부터 사용자 질의가 수신되면, 선정된 암호화 연산 프로토콜을 기반으로, 상기 제1 클라우드와 상기 제2 클라우드 간에 다자간 계산(SMC, Secure Multiparty Computation)을 수행하여, 상기 사용자 질의를 처리하는 단계
를 포함하는 암호화 인덱스 기반 영역 질의 처리 방법.Encrypting the database based on a Paillier encryption system to generate an encrypted database;
Dividing data stored in the database into a predetermined number of units, and constructing an index tree having a plurality of terminal nodes including divided data;
Encrypting each terminal node included in the index tree with an encryption key used in creating the encryption database to generate an encryption index tree;
Storing the encryption index tree in the encryption database and in a first cloud holding the encryption key;
Storing a decryption key corresponding to the encryption key in a second cloud different from the first cloud; And
(SMC, Secure Multiparty Computation) between the first cloud and the second cloud based on the selected cryptographic operation protocol when the user query is received from the authenticated terminal and processing the user query
Based on the encryption index.
상기 사용자 질의를 처리하는 단계는,
상기 사용자 질의와 겹치는 상기 암호화 인덱스 트리 내 제1 단말 노드를 탐색하는 단계;
상기 제1 단말 노드로부터 추출된 데이터 중, 상기 사용자 질의와 연관된 질의 영역 내에 포함되는 데이터를 탐색하는 단계; 및
상기 탐색한 데이터에 기초하여, 상기 사용자 질의에 대한 결과를 상기 단말에 반환하는 단계
를 포함하는 암호화 인덱스 기반 영역 질의 처리 방법.The method according to claim 1,
Wherein processing the user query comprises:
Searching for a first terminal node in the encryption index tree that overlaps the user query;
Searching data included in a query area associated with the user query from data extracted from the first terminal node; And
And returning the result of the user query to the terminal based on the searched data
Based on the encryption index.
상기 사용자 질의를 처리하는 단계는,
상기 사용자 질의와 연관된 질의 영역 및 상기 암호화 인덱스 트리 내 각 단말 노드와 연관된 노드 영역을 기반으로, SRO(Secure Range Overlapping) 프로토콜을 수행하는 단계; 및
상기 SRO 프로토콜을 통해 탐색한 상기 제1 단말 노드에 저장되는 데이터를, 질의 결과 후보로서 추출하는 단계
를 더 포함하는 암호화 인덱스 기반 영역 질의 처리 방법.3. The method of claim 2,
Wherein processing the user query comprises:
Performing a Secure Range Overlapping (SRO) protocol based on a query region associated with the user query and a node region associated with each end node in the cryptographic index tree; And
Extracting data stored in the first terminal node searched through the SRO protocol as a query result candidate
Wherein the encryption index based area query processing method further comprises:
상기 질의 영역 내에 포함되는 데이터를 탐색하는 단계는,
상기 질의 결과 후보로서 추출한 데이터와 상기 질의 영역을 기반으로 상기 SRO 프로토콜을 수행하여, 상기 질의 영역에 속하는 데이터를 탐색하는 단계
를 포함하는 암호화 인덱스 기반 영역 질의 처리 방법.The method of claim 3,
Wherein the step of searching for data included in the query area comprises:
Searching the data belonging to the query area by performing the SRO protocol based on the extracted data as the query result candidates and the query area
Based on the encryption index.
상기 사용자 질의에 대한 결과를 상기 단말에 반환하는 단계는,
상기 질의 영역에 속하는 데이터와 임의의 난수를 기반으로 SRO 프로토콜을 수행한 결과값을, 임의의 순서 변경 함수에 따라 복수의 결과값으로 변경하는 단계;
상기 복수의 결과값 중 제1 결과값을 상기 단말로 반환하고, 상기 복수의 결과값 중 제2 결과값을 상기 제2 클라우드로 전송하여 상기 제2 클라우드에 의해 복호화된 제2 결과값을 상기 단말로 반환하는 단계; 및
상기 단말에서 상기 제1 결과값과 상기 복호화된 제2 결과값과의 차를 이용하여 상기 사용자 질의에 대한 최종 질의 결과를 계산하여 획득하도록 하는 단계
를 포함하는 암호화 인덱스 기반 영역 질의 처리 방법.5. The method of claim 4,
And returning the result of the user query to the terminal,
Changing a result value obtained by performing an SRO protocol based on data belonging to the query area and an arbitrary random number to a plurality of result values according to an arbitrary order changing function;
A first result value of the plurality of result values is returned to the terminal, a second result value of the plurality of result values is transmitted to the second cloud, and a second result value decoded by the second cloud is transmitted to the terminal, ; And
Calculating and obtaining a final query result for the user query using the difference between the first result value and the decoded second result value at the terminal
Based on the encryption index.
상기 SRO 프로토콜을 수행하는 단계는,
상기 질의 영역을 구성하는 제1 하한점이, 노드 영역을 구성하는 제2 상한점보다 작고, 노드 영역을 구성하는 제2 하한점이 상기 질의 영역을 구성하는 제1 상한점보다 작은 경우,
상기 질의 영역과 상기 노드 영역이 겹치는 것으로 판단하고, 상기 SRO 프로토콜의 수행 결과로서 'E(1)'을 반환하는 단계
를 포함하는 암호화 인덱스 기반 영역 질의 처리 방법.The method of claim 3,
The step of performing the SRO protocol comprises:
If the first lower limit point constituting the query area is smaller than the second upper limit point constituting the node area and the second lower limit point constituting the node area is smaller than the first upper limit point constituting the query area,
Determining that the query region and the node region overlap with each other, and returning 'E (1)' as a result of performing the SRO protocol
Based on the encryption index.
상기 암호화 인덱스 트리 내 제1 단말 노드를 탐색하는 단계는,
상기 SRO 프로토콜의 수행 결과로서 'E(0)'을 반환하는 단말 노드를, 상기 질의 영역과 겹치지 않는 제2 단말 노드로서 필터링하여 상기 제1 단말 노드를 탐색하는 단계
를 포함하는 암호화 인덱스 기반 영역 질의 처리 방법.The method of claim 3,
Wherein the step of searching for a first terminal node in the encryption index tree comprises:
Searching the first terminal node by filtering a terminal node returning 'E (0)' as a result of the SRO protocol as a second terminal node that does not overlap the query region
Based on the encryption index.
상기 각 단말 노드와 연관된 노드 영역에 포함되는 데이터에 대한 데이터ID를, 속성 별로 더 암호화하여, 상기 암호화 인덱스 트리를 생성하는 단계
를 더 포함하는 암호화 인덱스 기반 영역 질의 처리 방법.The method according to claim 1,
Encrypting a data ID for data included in a node region associated with each terminal node by attribute, and generating the encryption index tree
Wherein the encryption index based area query processing method further comprises:
상기 사용자 질의와 연관된 질의 영역을 구성하는 하한점 및 상한점이, 상기 단말에 제공한 암호화키로 암호화되어 상기 단말로부터 수신되면,
상기 사용자 질의를 처리하는 단계는,
상기 제1 클라우드에서, 암호화 연산 프로토콜을 수행하여 상기 암호화 인덱스 트리를 탐색한 단말 노드를 상기 제2 클라우드로 전달하는 제1 단계;
상기 제2 클라우드에서, 상기 복호화 키로 상기 단말 노드로부터 획득한 데이터에 대해 암호화 연산 프로토콜을 수행한 결과를 상기 제1 클라우드로 전달하는 제2 단계; 및
상기 사용자 질의에 대한 결과가 도출될 때까지, 상기 제1 및 제2 단계를 반복하여, 상기 사용자 질의를 처리하는 단계
를 포함하는 암호화 인덱스 기반 영역 질의 처리 방법.The method according to claim 1,
When the lower limit point and the upper limit point constituting the query area associated with the user query are encrypted with the encryption key provided to the terminal and received from the terminal,
Wherein processing the user query comprises:
A first step of transmitting a terminal node searching the encryption index tree to the second cloud by performing an encryption operation protocol in the first cloud;
A second step of transmitting, in the second cloud, a result of performing an encryption operation protocol on data acquired from the terminal node with the decryption key to the first cloud; And
Repeating the first and second steps until results for the user query are derived, and processing the user query
Based on the encryption index.
상기 사용자 질의를 처리하는 단계는,
SBN(Secure Bit-Not) 프로토콜, SCMP(Secure Compare) 프로토콜, SRO(Secure Range Overlapping) 프로토콜, SM(Secure Multiplication) 프로토콜, SBD(Secure Bit Decomposition) 프로토콜, 및 SMIN(Secure Minimum) 프로토콜 중 적어도 하나의 암호화 연산 프로토콜을 기반으로, 상기 사용자 질의를 처리하는 단계
를 포함하는 암호화 인덱스 기반 영역 질의 처리 방법.The method according to claim 1,
Wherein processing the user query comprises:
At least one of a Secure Bit-Not (SBN) protocol, a Secure Compare Protocol (SCMP) protocol, a Secure Range Overlapping (SRO) protocol, a Secure Multiplication (SM) protocol, a Secure Bit Decomposition (SBD) Based on the encryption operation protocol, processing the user query
Based on the encryption index.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160115636A KR101942763B1 (en) | 2016-09-08 | 2016-09-08 | Encrypted index based range query processing method and range query processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160115636A KR101942763B1 (en) | 2016-09-08 | 2016-09-08 | Encrypted index based range query processing method and range query processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180028226A KR20180028226A (en) | 2018-03-16 |
KR101942763B1 true KR101942763B1 (en) | 2019-01-28 |
Family
ID=61910381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160115636A KR101942763B1 (en) | 2016-09-08 | 2016-09-08 | Encrypted index based range query processing method and range query processing system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101942763B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416720B (en) * | 2021-12-08 | 2024-04-30 | 西安电子科技大学 | Efficient, flexible and verifiable multi-attribute range retrieval method and system in cloud environment |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016122513A1 (en) | 2015-01-29 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Data analytics on encrypted data elements |
-
2016
- 2016-09-08 KR KR1020160115636A patent/KR101942763B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016122513A1 (en) | 2015-01-29 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Data analytics on encrypted data elements |
Non-Patent Citations (2)
Title |
---|
Y. Elmehdwi et al, "Secure k-nearest neighbor query over encrypted data in outsourced environments", 2014 IEEE 30th International Conference, pp.664-675, 2014.03.31.* |
Yanguo Peng et al, "An efficient range query model over encrypted outsourced data using secure k-d tree", 2016 International Conference, 2016.07.25.* |
Also Published As
Publication number | Publication date |
---|---|
KR20180028226A (en) | 2018-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2731046B1 (en) | Client computer for querying a database stored on a server via a network | |
KR20150052131A (en) | Secure private database querying with content hiding bloom filters | |
EP3342090A1 (en) | Method for providing encrypted data in a database and method for searching on encrypted data | |
JP7020780B2 (en) | Server equipment, data search system, search method and search program | |
JP5392439B2 (en) | ENCRYPTION SEARCH DATABASE DEVICE, ENCRYPTION SEARCH DATA ADDITION / DELETE METHOD AND ADDITION / DELETE PROGRAM | |
CN107291861B (en) | Encryption graph-oriented approximate shortest distance query method with constraints | |
CN109361644A (en) | A kind of Fog property base encryption method for supporting fast search and decryption | |
KR102421572B1 (en) | Notification service server capable of providing access notification service to harmful sites and operating method thereof | |
CN112000632B (en) | Ciphertext sharing method, medium, sharing client and system | |
CN109728904B (en) | Space network query method for protecting privacy | |
KR20130024144A (en) | Weighted keyword searching method for perserving privacy, and apparatus thereof | |
Rao et al. | R-PEKS: RBAC enabled PEKS for secure access of cloud data | |
KR20170122048A (en) | System and method for searching encrypted data using bloom filter and binary tree | |
CN105897419B (en) | A kind of multi-user's dynamic keyword word can search for encryption method | |
KR101942763B1 (en) | Encrypted index based range query processing method and range query processing system | |
KR102248756B1 (en) | Encryption system, apparatus and method for providing searchable having forward stability | |
KR102010644B1 (en) | METHOD AND SYSTEM FOR k-NN CLASSIFICATION PROCESSING BASED ON GARBLED CIRCUIT | |
KR101916228B1 (en) | METHOD AND SYSTEM FOR k-NN QUERY PROCESSING BASED ON GARBLED CIRCUIT | |
WO2017209228A1 (en) | Encrypted information matching device, encrypted information matching method, and recording medium having encrypted information matching program stored thereon | |
CN109582818B (en) | Music library cloud retrieval method based on searchable encryption | |
CN113609077A (en) | File retrieval method, system, storage medium and equipment | |
CN112632063A (en) | Restricted shortest distance query method, electronic device and readable storage medium | |
CN113158087A (en) | Query method and device for space text | |
JP4624734B2 (en) | Agent control system and method | |
Kapse et al. | Secure and Efficient Search Technique in Cloud Computing |
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 |