KR102131306B1 - Apparatus for M anaging Data, Method for Managing Data, System for Managing Data - Google Patents

Apparatus for M anaging Data, Method for Managing Data, System for Managing Data Download PDF

Info

Publication number
KR102131306B1
KR102131306B1 KR1020130090463A KR20130090463A KR102131306B1 KR 102131306 B1 KR102131306 B1 KR 102131306B1 KR 1020130090463 A KR1020130090463 A KR 1020130090463A KR 20130090463 A KR20130090463 A KR 20130090463A KR 102131306 B1 KR102131306 B1 KR 102131306B1
Authority
KR
South Korea
Prior art keywords
data
user
data management
keywords
information
Prior art date
Application number
KR1020130090463A
Other languages
Korean (ko)
Other versions
KR20140133383A (en
Inventor
황용호
서재우
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20140133383A publication Critical patent/KR20140133383A/en
Application granted granted Critical
Publication of KR102131306B1 publication Critical patent/KR102131306B1/en

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/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 데이터관리장치, 데이터관리방법 및 데이터관리시스템에 관한 것으로서, 본 발명의 실시 예에 따른 데이터관리장치는 복수의 키워드를 암호화하여 저장하고, 키워드를 포함하는 데이터의 ID 정보들의 집합에 대한 블룸 필터를 암호화하여 저장하는 저장부, 사용자로부터의 요청에 근거하여 저장부에서 동일 키워드에 대응되는 열의 ID 정보들의 집합을 추출하는 제어부, 및 추출한 ID 정보들의 집합을 복호화하는 복호화부를 포함하되, 제어부는 복호화한 ID 정보에 매칭되는 데이터를 사용자에게 제공하고, ID 정보들의 집합은, 비트 정보로서 처리되는 것을 특징으로 한다.The present invention relates to a data management device, a data management method, and a data management system. The data management device according to an embodiment of the present invention encrypts and stores a plurality of keywords, and sets the ID information of the data including the keyword. A storage unit that encrypts and stores the bloom filter, a control unit that extracts a set of ID information corresponding to the same keyword from the storage unit based on a request from the user, and a decoding unit that decodes the set of extracted ID information. Is characterized in that the data matching the decoded ID information is provided to the user, and the set of ID information is processed as bit information.

Description

데이터관리장치, 데이터관리방법 및 데이터관리시스템{Apparatus for M anaging Data, Method for Managing Data, System for Managing Data}Data management device, data management method and data management system {Apparatus for M anaging Data, Method for Managing Data, System for Managing Data}

본 발명은 데이터관리장치, 데이터관리방법 및 데이터관리시스템에 관한 것으로서, 더 상세하게는 예컨대 클라우드 환경 하에서 외부 저장 공간에 데이터와 키워드를 암호화하여 저장하고, 키워드들에 대한 검색 가능한 암호문을 생성하며, 가령 검색하려는 키워드에 대한 토큰을 이용해 암호화된 키워드들로부터 해당 키워드를 포함하는 데이터의 검색 등을 가능케 하는 데이터관리장치, 데이터관리방법 및 데이터관리시스템에 관한 것이다.The present invention relates to a data management device, a data management method and a data management system, and more specifically, encrypts and stores data and keywords in an external storage space under a cloud environment, and generates a searchable ciphertext for keywords, For example, the present invention relates to a data management device, a data management method, and a data management system that enables retrieval of data including the keyword from keywords encrypted by using a token for the keyword to be searched.

암호화된 데이터들에 대해 키워드 검색을 허용하는 검색 가능 암호 시스템(Encrypted Keyword Search)은 대칭키 기반 기법과 비대칭키 기반 기법으로 나눠지는데, 대칭키 기반 기법은 데이터를 업로드하고 다운로드하는 대상이 동일하며, 비대칭키 기법은 그 대상이 서로 다르다. Encrypted Keyword Search, which allows keyword search for encrypted data, is divided into a symmetric key-based technique and an asymmetric key-based technique. The symmetric key-based technique has the same object for uploading and downloading data, The asymmetric key technique has different targets.

대칭키를 이용하는 키워드 기반 검색 가능 암호시스템에서 사용자는 외부 저장공간에 자신의 비밀키로 암호화된 데이터와 해당 인덱스를 저장한다. 인덱스는 데이터가 포함하고 있는 키워드들에 대한 정보를 암호화한 것으로, 암호화된 데이터를 키워드에 기반해서 검색할 때 사용된다. 검색시 사용자는 검색 키워드에 해당하는 토큰을 서버에 전달하고, 서버는 토큰과 인덱스를 이용하여 일련의 테스트 과정을 거친 후에 암호화된 데이터들을 사용자에게 반환한다. 그리고 사용자는 자신의 비밀키를 이용하여 데이터를 복호화한다.In a keyword-based searchable encryption system using a symmetric key, a user stores data encrypted with his secret key and its index in an external storage space. The index is an encryption of information on keywords included in the data, and is used when searching the encrypted data based on the keyword. When searching, the user passes the token corresponding to the search keyword to the server, and the server returns the encrypted data to the user after a series of test processes using the token and index. And the user decrypts the data using his/her own secret key.

대칭키를 이용한 키워드 기반 검색 암호시스템은 검색 방법에 따라 포워드 인덱스(forward index) 방식과 인버티드(inverted index) 방식으로 나누어진다. forward index 방식에서는 각 데이터가 포함하는 키워드들을 집합(set)으로 저장하며, 각 집합이 검색 키워드를 포함하는지를 검사한다. 그렇기 때문에 저장되어 있는 데이터 개수에 비례하여 검색 시간이 증가한다. 그러나 데이터마다 암호화된 키워드들의 집합이 독립적으로 존재하기 때문에 새로운 데이터를 추가하거나 저장된 데이터를 삭제하는 것이 용이하다. 반면, inverted index 방식에서는 각각의 키워드마다 그 키워드를 포함하는 데이터의 ID들을 집합으로 저장하며, 검색시 검색 키워드에 해당하는 집합에 포함되는 데이터를 반환한다. 그렇기 때문에 forward index 방식과 비교하여 검색 속도가 빠르다. 그러나 키워드에 따라 데이터의 ID들이 집합으로 저장되어 있기 때문에, 추가 및 삭제되는 데이터가 포함하고 있는 키워드에 해당하는 집합을 추가 및 삭제시 매번 업데이트해야 한다는 단점이 있다.The keyword-based search encryption system using a symmetric key is divided into a forward index method and an inverted index method according to a search method. In the forward index method, keywords included in each data are stored as a set, and it is checked whether each set includes a search keyword. Therefore, the search time increases in proportion to the number of stored data. However, it is easy to add new data or delete stored data because there is an independent set of encrypted keywords for each data. On the other hand, in the inverted index method, IDs of data including the keyword are stored as a set for each keyword, and data included in the set corresponding to the search keyword is returned when searching. Therefore, the search speed is faster than the forward index method. However, since IDs of data are stored as a set according to a keyword, there is a disadvantage that a set corresponding to a keyword included in data to be added and deleted needs to be updated every time when adding and deleting.

그런데, 종래에 알려진 키워드 기반 검색 가능 암호시스템들은 단일 키워드(single keyword) 검색에 초점을 두고 있으며, 키워드들의 교집합 검색(conjunctive search)과 키워드들의 합집합 검색(disjunctive search)을 지원하는 불리안 검색(boolean search)에 대해서는 효율적인 검색 방법을 제시하지 못하고 있다.However, conventionally known keyword-based searchable cryptosystems focus on single keyword search, and boolean supports conjunctive search of keywords and disjunctive search of keywords. search), it is not possible to propose an efficient search method.

또한 종래의 시스템들은 기존 데이터베이스(DB)의 수정 없이는 적용이 불가능하며, 데이터의 추가 및 삭제시 키워드에 해당하는 데이터의 ID들의 집합을 업데이트하기 위하여 많은 비용이 소요되는 문제가 있다.In addition, conventional systems cannot be applied without modification of an existing database (DB), and there is a problem in that a large amount of cost is required to update a set of IDs of data corresponding to keywords when adding and deleting data.

본 발명의 실시 예는 예컨대 클라우드 환경 하에서 외부 저장 공간에 데이터와 키워드를 암호화하여 저장하고, 키워드들에 대한 검색 가능한 암호문을 생성하며, 가령 검색하려는 키워드에 대한 토큰을 이용하여 암호화된 키워드들로부터 해당 키워드를 포함하는 데이터의 검색 등을 가능케 하는 데이터관리장치, 데이터 관리 방법 및 데이터 관리 시스템을 제공함에 그 목적이 있다.According to an embodiment of the present invention, data and keywords are encrypted and stored in an external storage space under a cloud environment, for example, a searchable cipher text is generated for keywords, and the corresponding keyword is encrypted using a token for a keyword to be searched. An object of the present invention is to provide a data management device, a data management method, and a data management system that enable retrieval of data including keywords.

본 발명의 실시 예에 따른 데이터관리장치는 복수의 키워드를 암호화하여 저장하고, 상기 키워드를 포함하는 데이터의 ID 정보들의 집합을 암호화하여 저장하는 저장부, 사용자로부터의 요청에 근거하여 상기 저장부에서 동일 키워드에 대응되는 열의 상기 ID 정보들의 집합을 추출하는 제어부, 및 상기 추출한 ID 정보들의 집합을 복호화하는 복호화부를 포함하되, 상기 제어부는, 상기 복호화한 ID 정보에 매칭되는 데이터를 상기 사용자에게 제공하고, 상기 ID 정보들의 집합은, 비트(bit) 정보로서 처리된다.The data management apparatus according to an embodiment of the present invention encrypts and stores a plurality of keywords, and stores the data by encrypting and storing a set of ID information of the data including the keyword, based on a request from a user. A control unit for extracting the set of ID information in a column corresponding to the same keyword, and a decoding unit for decoding the set of extracted ID information, wherein the control unit provides data matching the decoded ID information to the user , The set of ID information is processed as bit information.

여기서, 상기 비트 정보는 블룸 필터(bloom filter) 또는 비트맵(bit map)의 형태로 표현될 수 있다.Here, the bit information may be expressed in the form of a bloom filter or a bit map.

상기 비트 정보의 개수(number)는 상기 데이터의 개수와 일치할 수 있다.The number of bit information may match the number of data.

한편, 상기 데이터관리장치는 상기 사용자가 상기 데이터의 추가 또는 삭제를 요청하는 경우, 추가되는 키워드 및 데이터를 암호화하여 상기 저장부에 저장시키는 암호화부를 더 포함할 수 있다. Meanwhile, when the user requests the addition or deletion of the data, the data management device may further include an encryption unit that encrypts the added keywords and data and stores the added keywords and data in the storage unit.

한편, 상기 사용자로부터의 토큰(token)을 수신하여 상기 데이터의 검색, 추가 또는 삭제를 요청받는 인터페이스부를 더 포함하며, 상기 토큰은 키워드와 상기 암호화 및 상기 복호화를 위한 키를 포함할 수 있다. On the other hand, by receiving a token (token) from the user further comprises an interface unit to request the search, addition or deletion of the data, the token may include a key for the keyword and the encryption and decryption.

한편, 상기 데이터관리장치는 상기 사용자가 복수의 키워드를 포함하는 상기 데이터를 요청하는 경우, 상기 복수의 키워드에 각각 해당되는 열의 ID 정보들의 집합을 논리 연산하여 연산 결과를 출력하는 연산부를 더 포함하되, 상기 제어부는, 상기 연산 결과의 비트 정보를 근거로 상기 데이터를 사용자에게 제공할 수 있다. Meanwhile, when the user requests the data including a plurality of keywords, the data management apparatus further includes an operation unit for logically calculating a set of ID information corresponding to each of the plurality of keywords to output a calculation result. , The controller may provide the data to the user based on the bit information of the operation result.

또한, 본 발명의 실시 예에 따른 데이터관리방법은 복수의 키워드를 암호화하여 저장하고, 상기 키워드를 포함하는 데이터의 ID 정보들의 집합을 암호화하여 저장부에 저장하는 단계, 사용자로부터의 요청에 근거하여 상기 저장부에서 동일 키워드에 대응되는 열의 상기 ID 정보들의 집합을 추출하는 단계, 상기 추출한 ID 정보들의 집합을 복호화하는 단계, 및 상기 복호화한 ID 정보에 매칭되는 데이터를 상기 사용자에게 제공하는 단계를 포함하되, 상기 ID 정보들의 집합은, 비트 정보로서 처리된다. In addition, in the data management method according to an embodiment of the present invention, a plurality of keywords are encrypted and stored, and a set of ID information of the data including the keywords is encrypted and stored in a storage unit, based on a request from a user Extracting the set of ID information in a column corresponding to the same keyword from the storage unit, decoding the set of extracted ID information, and providing data matching the decoded ID information to the user However, the set of ID information is processed as bit information.

여기서, 상기 비트 정보는 블룸 필터 또는 비트맵의 형태로 표현될 수 있다.Here, the bit information may be expressed in the form of a bloom filter or a bitmap.

또한 상기 비트 정보의 개수는 상기 데이터의 개수와 일치할 수 있다. Also, the number of bit information may match the number of data.

한편, 상기 데이터관리방법은, 상기 사용자가 상기 데이터의 추가 또는 삭제를 요청하는 경우, 추가되는 키워드 및 데이터를 암호화하여 상기 저장부에 저장시키는 단계를 더 포함할 수 있다. Meanwhile, when the user requests to add or delete the data, the data management method may further include encrypting the added keyword and data and storing the added keyword and data in the storage unit.

한편, 상기 사용자로부터 토큰(token)을 수신하여 상기 데이터의 검색, 추가 또는 삭제를 요청받는 단계를 더 포함하며, 상기 토큰은 키워드와 상기 암호화 및 상기 복호화를 위한 키를 포함할 수 있다. On the other hand, receiving the token (token) from the user further comprises the step of requesting the search, addition or deletion of the data, the token may include a key for the keyword and the encryption and decryption.

한편, 상기 데이터관리방법은, 상기 사용자가 복수의 키워드를 포함하는 상기 데이터를 요청하는 경우, 상기 복수의 키워드에 각각 해당되는 열의 ID 정보들의 집합을 논리 연산하여 연산 결과를 출력하는 단계를 더 포함하되, 상기 사용자에게 제공하는 단계는, 상기 연산 결과의 비트 정보를 근거로 상기 데이터를 사용자에게 제공할 수 있다.Meanwhile, the data management method further includes, when the user requests the data including a plurality of keywords, logically calculating a set of ID information corresponding to each of the plurality of keywords to output a calculation result. However, in the step of providing to the user, the data may be provided to the user based on the bit information of the operation result.

한편, 본 발명의 실시 예에 따른 데이터관리시스템은 복수의 키워드와, 상기 복수의 키워드 각각에 매칭시켜 하나의 데이터에 부가되는 ID 정보들의 집합을 암호화하여 저장하고, 사용자로부터 제공된 키워드에 근거하여 상기 암호화한 ID 정보를 비트 정보의 형태로 처리하는 제1 데이터관리장치, 및 상기 ID 정보와, 각 ID 정보에 매칭시켜 상기 데이터를 저장하고, 상기 제1 데이터관리장치에서 처리된 비트 형태의 상기 ID 정보에 근거하여 상기 저장한 데이터를 검색하여 상기 사용자에게 제공하는 제2 데이터관리장치를 포함한다.Meanwhile, the data management system according to an embodiment of the present invention encrypts and stores a set of ID information added to one data by matching a plurality of keywords and each of the plurality of keywords, and based on the keyword provided from the user. A first data management apparatus for processing the encrypted ID information in the form of bit information, and the ID information and the ID information matched with each ID information to store the data, and the ID in the form of bits processed by the first data management apparatus And a second data management device that retrieves the stored data based on information and provides it to the user.

도 1은 본 발명의 실시 예에 따른 데이터 관리 시스템의 구조를 나타내는 도면,
도 2는 도 1의 데이터관리장치 1 및 2의 인덱스 및 데이터 테이블의 예시도,
도 3은 본 발명의 실시 예에 따른 인버티드 인덱스(inverted index)의 예시도,
도 4는 도 1의 데이터관리장치 1의 구조를 나타내는 블록다이어그램,
도 5는 본 발명의 실시 예에 따른 데이터 검색 과정을 설명하기 위한 도면,
도 6은 본 발명의 실시 예에 따른 데이터 추가 과정을 설명하기 위한 도면,
도 7은 본 발명의 실시 예에 따른 데이터 삭제 과정을 설명하기 위한 도면, 그리고
도 8은 본 발명의 실시 예에 따른 데이터 관리 방법을 나타내는 흐름도이다.
1 is a view showing the structure of a data management system according to an embodiment of the present invention,
2 is an exemplary view of the index and data table of the data management apparatuses 1 and 2 of FIG. 1,
3 is an exemplary view of an inverted index according to an embodiment of the present invention,
4 is a block diagram showing the structure of the data management device 1 of FIG. 1,
5 is a view for explaining a data search process according to an embodiment of the present invention,
6 is a view for explaining a data addition process according to an embodiment of the present invention,
7 is a view for explaining a data deletion process according to an embodiment of the present invention, and
8 is a flowchart illustrating a data management method according to an embodiment of the present invention.

이하, 도면을 참조하여 본 발명의 실시 예에 대하여 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

본 발명의 실시 예는 키워드 기반 검색이 가능한 암호시스템으로서 EKS 시스템이라 명명될 수 있다. EKS 시스템은 본 발명의 실시 예에 따라 인버티드 인덱스 방식으로 블룸 필터를 적용하여 인덱스를 효율적으로 관리한다. EKS 시스템에서 사용자는 외부에 키워드 검색을 위한 인덱스 테이블과 데이터 검색을 위한 데이터 테이블을 두고, 검색(search), 추가(add) 및 삭제(delete) 요청을 통해 외부의 암호화된 데이터를 검색, 추가 및 삭제한다. 본 발명의 실시 예에서는 인덱스 테이블의 유지 대상은 Manager_1, 데이터 테이블의 유지 대상은 Manager_2라 명명할 수 있고, Manager_1 및 Manager_2는 하나의 Manager로 통합될 수 있다.An embodiment of the present invention may be called an EKS system as a keyword-based searchable encryption system. The EKS system efficiently manages the index by applying a bloom filter in an inverted index method according to an embodiment of the present invention. In the EKS system, users have an external index table for keyword search and a data table for data search, and search, add and delete external encrypted data through search, add, and delete requests. Delete it. In an embodiment of the present invention, the maintenance target of the index table may be referred to as Manager_1, the maintenance target of the data table may be referred to as Manager_2, and Manager_1 and Manager_2 may be integrated into one Manager.

도 1은 본 발명의 실시 예에 따른 데이터관리시스템의 구조를 나타내는 도면이고, 도 2는 도 1의 데이터관리장치 1 및 2의 인덱스 및 데이터 테이블의 예시도이며, 도 3은 본 발명의 실시 예에 따른 인버티드 인덱스의 예시도이다.1 is a diagram showing the structure of a data management system according to an embodiment of the present invention, Figure 2 is an exemplary view of the index and data table of the data management apparatus 1 and 2 of Figure 1, Figure 3 is an embodiment of the present invention It is an example of an inverted index according to.

도 1에 도시된 바와 같이, 본 발명의 실시 예에 따른 데이터관리시스템(90)은 사용자 장치(100), 통신망(110), 데이터관리장치 1(Manager 1)(120_1) 및 데이터관리장치 2(Manager 2)(120_2)의 일부 또는 전부를 포함한다.As shown in FIG. 1, the data management system 90 according to an embodiment of the present invention includes a user device 100, a communication network 110, a data management device 1 (Manager 1) 120_1, and a data management device 2 ( Some or all of Manager 2) 120_2.

여기서, 데이터관리장치 2(120_2)는 DB가 될 수 있으며, 일부 또는 전부를 포함한다는 것은 데이터관리장치 1(120_1) 및 데이터관리장치 2(120_2)가 통합되어 하나의 데이터관리장치(혹은 클라우드 장치)가 될 수 있고, 통신망(110)과 결합하여 클라우드 망을 형성할 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.Here, the data management device 2 (120_2) may be a DB, and includes some or all of the data management device 1 (120_1) and data management device 2 (120_2) are integrated into one data management device (or cloud device) ), and means to be able to form a cloud network by combining with the communication network 110, and is described as including everything to help the understanding of the invention.

사용자 장치(100)는 사용자가 데이터 생성 작업을 수행하기 위한 장치에 해당된다. 예를 들어, 사용자 장치(100)는 문서 작업을 수행하기 위한 랩탑 및 데스크탑 컴퓨터가 될 수 있고, 사진 및 동영상과 같은 촬영 데이터를 생성하기 위한 휴대폰 및 녹화장치 등이 될 수 있다. 본 발명의 실시 예에 따라 사용자 장치(100)는 작업이 완료되면 생성된 데이터를 통신망(110)을 경유하여 데이터관리장치 1(120_1) 또는 데이터관리장치 2(120)에 저장하는 것이 바람직하다. 이때 사용자 장치(100)는 통신망(110)에 도 1에서와 같은 유선 통신이 아닌 무선 통신으로도 접속하여 데이터를 처리할 수 있을 것이다.The user device 100 corresponds to a device for a user to perform data generation. For example, the user device 100 may be a laptop and a desktop computer for performing document work, or a mobile phone and a recording device for generating photographing data such as photos and videos. According to an embodiment of the present invention, the user device 100 preferably stores the generated data in the data management device 1 120_1 or the data management device 2 120 via the communication network 110 when the operation is completed. At this time, the user device 100 may be able to process data by accessing the communication network 110 by wireless communication as well as by wired communication as in FIG. 1.

예컨대 사용자 장치(100)는 생성한 데이터를 저장하기 위하여 데이터와 함께 키워드 혹은 키워드를 대신할 수 있는 토큰(이하, 키워드로 설명함)을 생성하여 데이터관리장치 1(120_1)로 제공하고, 이후 키워드를 이용하여 자신이 데이터관리장치 1(120_1) 또는 데이터관리장치 2(120_2), 더 정확하게는 데이터관리장치 2(120_2)에 저장한 데이터를 불러올 수 있다. 여기서 키워드는 다양한 유형의 정보로 표현될 수 있으며, 토큰은 그 정보와 암호화 및 복호화를 위한 키를 결합한 형태로 이해해도 좋을 것이다.For example, the user device 100 generates a keyword or a token that can replace a keyword (hereinafter referred to as a keyword) along with the data to store the generated data and provides it to the data management device 1 (120_1). Using it, data stored in the data management device 1 (120_1) or the data management device 2 (120_2), or more accurately, the data management device 2 (120_2) may be loaded. Here, the keyword may be expressed as various types of information, and the token may be understood as a combination of the information and a key for encryption and decryption.

이러한 과정을 통해 사용자 장치(100)는 추가로 생성한 데이터를 데이터관리장치 2(120_2)에 저장하여 데이터를 갱신할 수 있을 뿐 아니라, 키워드를 통해 기저장된 데이터를 삭제할 수도 있을 것이다. 다시 말해, 사용자 장치(100)는 데이터를 업/다운로드하고, 검색, 추가 및 삭제에 대한 쿼리를 토큰을 통하여 데이터관리장치 1(120_1)에 요청하게 된다. 기타 위의 검색, 추가 및 삭제 과정과 관련해서는 이후에 다시 자세히 다루기로 한다.Through this process, the user device 100 may not only update the data by storing the additionally generated data in the data management device 2 (120_2), but also delete pre-stored data through keywords. In other words, the user device 100 uploads/downloads data and requests a query for search, addition, and deletion to the data management device 1 120_1 through a token. Other search, addition, and deletion processes will be described in detail later.

통신망(110)은 유무선 통신망을 모두 포함한다. 여기서 유선망은 케이블망이나 공중 전화망(PSTN)과 같은 인터넷망을 포함하는 것이고, 무선 통신망은 CDMA, WCDMA, GSM, EPC(Evolved Packet Core), LTE(Long Term Evolution), 와이브로 망 등을 포함하는 의미이다. 따라서 통신망(110)이 유선 통신망인 경우 액세스포인트는 전화국의 교환국 등에 접속할 수 있지만, 무선 통신망인 경우에는 통신사에서 운용하는 SGSN 또는 GGSN(Gateway GPRS Support Node)에 접속하여 데이터를 처리하거나, BTS(Base Station Transmission), NodeB, e-NodeB 등의 다양한 중계기에 접속하여 데이터를 처리할 수 있다.The communication network 110 includes both wired and wireless communication networks. Here, the wired network includes an Internet network such as a cable network or a public telephone network (PSTN), and the wireless communication network includes CDMA, WCDMA, GSM, Evolved Packet Core (EPC), Long Term Evolution (LTE), and WiBro network. to be. Therefore, when the communication network 110 is a wired communication network, the access point can access a switching center of a telephone station or the like, but in the case of a wireless communication network, it can process data by accessing a SGSN or a Gateway GPRS Support Node (GGSN) operated by a communication company or processing a BTS (Base). Station Transmission), NodeB, e-NodeB, and other repeaters to process data.

데이터관리장치 1 및 2(120_1, 120_2)는 일종의 서버로서, 실질적으로 데이터관리장치 2(120_2)는 DB일 수 있지만, 도 1에서와 같이 서로 독립적인 장치로 구성되어 서로 연동할 수 있다. 이러한 독립적인 2개의 장치는 서로 통합되어 하나의 클라우딩 장치를 형성할 수 있는데, 하나의 장치를 구성하는 경우, 데이터관리장치 1 및 2(120_1, 120_2)는 각각 정보처리부 1 및 2로 명명될 수 있다.The data management devices 1 and 2 (120_1, 120_2) are a kind of server, and the data management device 2 (120_2) may be a DB, but are configured as independent devices as shown in FIG. 1 to interlock with each other. These independent two devices can be integrated with each other to form a single clouding device. When configuring one device, data management devices 1 and 2 (120_1, 120_2) will be referred to as information processing units 1 and 2, respectively. Can.

데이터관리장치 1(120_1)은 효율적인 검색 및 인덱스 관리를 위해서 블룸 필터를 사용한다. 블룸 필터는 특정 집합 S={x1, x2, ..., xn}의 원소들을 고정된 크기의 배열에 표현할 수 있는 자료 구조로 가령 membership test 알고리즘으로 사용되며 주어진 입력이 특정 집합에 포함되는지 여부를 true/false로 반환한다. 본 발명의 실시 예에서 특정 집합 S={x1, x2, ..., xn}에 대한 블룸 필터를 BF_S로 표현하며, member xi에 대한 블룸 필터는 bf_xi로 표현한다. BF_S=∑i=1 n bf_xi이며, 이때 '+' 연산은 블룸 필터의 member accumulation 과정을 의미하며, '-'는 블룸 필터의 member elimination 과정을 의미한다. 그리고 '∧'는 블룸 필터의 set intersection을 의미하며, BF_S∧BF_S'은 집합 S와 S'의 교집합에 대한 블룸 필터가 된다. 블룸 필터의 set intersection은 bitwise AND 연산으로 구현이 가능하다.The data management device 1 120_1 uses a bloom filter for efficient search and index management. Bloom filter is a data structure that can express elements of a specific set S={x 1 , x 2 , ..., x n } in a fixed-size array, for example, used as a membership test algorithm, and given input is included in a specific set Returns true/false. And a bloom filter representation for a particular set S = {x 1, x 2 , ..., x n} in the embodiment of the present invention to BF_S, and Bloom filter member for x i is represented as i bf_x. BF_S=∑ i=1 n bf_xi, where'+' operation means member accumulation process of bloom filter, and'-' means member elimination process of bloom filter. And'∧' means the set intersection of bloom filters, and BF_S∧BF_S' becomes the bloom filter for the intersection of sets S and S'. Set intersection of bloom filters can be implemented by bitwise AND operation.

데이터관리장치 1(120_1)은 사용자로부터 쿼리를 처리한다. 인덱스 테이블은 도 2의 (a) 및 도 3에서와 같이 2개의 칼럼(column)으로 구성되어 있는데, 칼럼 1에는 키워드 wi에 대한 암호화된 키워드가 저장되며, 칼럼 2에는 키워드 wi를 포함하는 데이터의 ID들의 집합에 대한 블룸 필터(BF_wi)가 암호화되어 저장된다. 가령 적용되는 암호 알고리즘은 결정 암호화 알고리즘(deterministic encryption algorithm)으로 동일한 입력에 대해서 동일한 결과를 출력한다. 그리고, K_s와 K_wi는 사용자의 마스터 키(=K)로부터 계산이 가능한 암호화/복호화 키를 나타낸다.Data management device 1 (120_1) processes the query from the user. The index table is composed of two columns, as shown in FIGS. 2(a) and 3, where the encrypted keyword for the keyword wi is stored in column 1, and the column 2 contains data of the keyword wi. The bloom filter (BF_wi) for the set of IDs is encrypted and stored. For example, the applied encryption algorithm is a deterministic encryption algorithm, and outputs the same result for the same input. And, K_s and K_wi represent encryption/decryption keys that can be calculated from the user's master key (=K).

좀더 살펴보면, 데이터관리장치 1(120_1)은 사용자가 생성한 데이터와 키워드들을 결합하여 블룸 필터의 자료 구조 형태로 저장한다. 즉 인덱스 테이블을 생성한다. 다시 말해, 데이터관리장치 1(120_1)은 도 3에서와 같이 복수의 키워드를 저장하고, 각 키워드에 매칭시켜 해당 키워드를 포함하는 데이터들의 ID 정보를 집합 형태로 구성하고 이를 암호화하여 저장한다. 이때 ID들의 집합을 비트 정보로 표현할 수 있다. 예를 들어, 데이터관리장치 2(120_2)에 저장된 데이터가 모두 7개인 경우, 집합 형태의 ID 정보는 7비트 정보로 표현될 수 있다. 가령, 7개의 데이터 중 첫 번째 데이터만 키워드 1(w1)을 갖는 경우, 7비트 정보는 "1000000"으로 표현되고, 7번째 데이터만 키워드 1(w1)을 갖는 경우, 7비트 정보는 또한 "0000001"로 표현된다.Looking more closely, the data management device 1 (120_1) combines the data and keywords generated by the user and stores it in the form of a data structure of a bloom filter. That is, an index table is created. In other words, the data management device 1 (120_1) stores a plurality of keywords, as shown in FIG. 3, matches each keyword, configures the ID information of the data including the keyword in a set form, and stores it by encrypting it. At this time, a set of IDs may be expressed as bit information. For example, when all the data stored in the data management apparatus 2 (120_2) is seven, the ID information in the form of aggregation may be represented as 7-bit information. For example, if only the first data among 7 data has keyword 1 (w1), 7-bit information is expressed as "1000000", and only the 7th data has keyword 1 (w1), 7-bit information is also "0000001 Is expressed as ".

따라서, 데이터관리장치 1(120_1)은 사용자 장치(100)에서 생성된 데이터에 대한 키워드가 없는 경우, 새로운 키워드와 함께 그 키워드에 매칭되는 집합 형태의 ID 정보를 생성해 주게 되는 것이다. 만약 새로운 데이터에 대하여 키워드가 존재하는 경우에는 해당 키워드의 집합 형태의 ID 정보만을 갱신해 주면 된다. 반면 특정 키워드에 대하여 데이터의 삭제 요청이 있는 경우에는, 집합 형태의 ID 정보에서 삭제 요청이 있는 데이터의 ID를 삭제해 주게 된다.Accordingly, when there is no keyword for the data generated by the user device 100, the data management device 1 120_1 generates ID information in the form of a set matching the keyword together with the new keyword. If a keyword exists for new data, only ID information in the form of a set of the keyword needs to be updated. On the other hand, when there is a request to delete data for a specific keyword, the ID of the data having the deletion request is deleted from the set type ID information.

또한, 데이터관리장치 1(120_1)은 사용자가 복수의 키워드에 대하여 논리 조합하는 형태로 정보를 제공한 경우, 가령 키워드 1(w1)과 키워드 2(w2)를 AND 즉 모두 갖는 데이터를 검색하고자 할 때, 데이터관리장치 1(120_1)은 집합의 비트 정보를 이용하여 새로운 비트 정보를 산출하고, 이를 데이터관리장치 2(120_2)로 제공한다. 예컨대 키워드 1(w1)을 갖는 집합의 7비트 정보가 "1000000"이고, 키워드 2(w2)를 갖는 집합의 7비트 정보도 "1000000"이었다면 두 정보를 AND 연산함으로써 "1000000"을 산출하고, 그 결과를 데이터관리장치 2(120_2)로 제공할 수 있다.In addition, the data management device 1 (120_1), when the user provides information in the form of a logical combination of a plurality of keywords, for example, to search for data having both keyword 1 (w1) and keyword 2 (w2) AND At this time, the data management device 1 (120_1) calculates new bit information using the set of bit information, and provides it to the data management device 2 (120_2). For example, if the 7-bit information of the set having the keyword 1 (w1) is "1000000", and the 7-bit information of the set having the keyword 2 (w2) is also "1000000", AND operation is performed on the two information to calculate "1000000". The result can be provided to the data management device 2 (120_2).

데이터관리장치 2(120_2)는 데이터관리장치 1(120_1)에 연동하는 일종의 DB일 수 있는데, 데이터관리장치 2(120_2)는 암호화된 데이터를 저장하고, 데이터 관리장치 1(120_1)이 요구하는 데이터들의 집합을 반환한다. 도 2의 (b)에서와 같이, 데이터 테이블은 암호화된 데이터(E(Datai))와 해당 bf_IDi(=블룸 필터 번호)를 저장하고 있으며, 데이터관리장치 1(120_1)로부터 제공되는 블룸 필터를 만족하는 bf_IDi에 한해서 암호화된 데이터를 데이터관리장치 1(120_1)로 반환한다. 데이터 Datai를 암호화하는 암호 알고리즘을 가령 EKS 시스템과 별도로 선택될 수 있다.The data management device 2 (120_2) may be a kind of DB interlocked with the data management device 1 (120_1). The data management device 2 (120_2) stores encrypted data, and the data required by the data management device 1 (120_1) Returns a set of As shown in (b) of FIG. 2, the data table stores encrypted data (E(Datai)) and the corresponding bf_IDi (=bloom filter number), and satisfies the bloom filter provided from the data management device 1 (120_1). Only for bf_IDi, the encrypted data is returned to the data management device 1 (120_1). The encryption algorithm for encrypting data Datai can be selected separately from the EKS system, for example.

예를 들어, 위의 경우에서 데이터관리장치 1(120_1)이 단독이든, 아니면 논리 연산에 의해서든 가령 7비트 정보 ""1000000"을 제공하였다면, 데이터관리장치 2(120_2)는 이를 인식하여 첫 번째 비트열에 해당되는 데이터 1을 반환하게 되는 것이다. 만약 첫 번째 비트열에 해당되는 데이터가 데이터 7인 경우에는 데이터 7을 반환한다. 이와 같이 각 비트열에 대응되는 데이터는 다양하게 변경하여 매칭시킬 수 있으므로 본 발명의 실시 예에서는 그것에 특별히 한정하지는 않을 것이다.For example, in the above case, if the data management device 1 (120_1) is alone or by logical operation, for example, if the 7-bit information ""1000000" is provided, the data management device 2 (120_2) recognizes this and is the first It will return the data 1 corresponding to the bit string.If the data corresponding to the first bit string is data 7, it returns the data 7. In this way, the data corresponding to each bit string can be changed and matched in various ways. In the embodiment of the invention, it will not be particularly limited.

상기의 구성 결과, 본 발명의 실시 예에 따른 데이터 관리 시스템(90) 즉 EKS 시스템은 외부 저장 공간에 암호화되어 저장되는 데이터들에 대해 키워드 검색 기능을 제공함으로써 사용자에 대한 개인 정보 유출을 방지하면서도 사용자 편의성을 확보할 수 있다.As a result of the above configuration, the data management system 90, that is, the EKS system according to an embodiment of the present invention provides a keyword search function for data encrypted and stored in an external storage space, thereby preventing leakage of personal information to the user while Convenience can be secured.

또한, EKS 시스템은 종래 데이터베이스의 변경 없이도 적용이 가능하며, 블룸 필터를 이용하여 효율적인 불리안 검색 기능 및 인덱스 관리 기능을 제공할 수 있다. 이에 따라 외부에 데이터 저장을 지원하는 클라우드 저장 서비스에서 유용하게 활용될 수 있다.In addition, the EKS system can be applied without changing the conventional database, and an efficient Boolean search function and index management function can be provided using a bloom filter. Accordingly, it can be usefully used in cloud storage services that support data storage outside.

도 4는 도 1의 데이터관리장치 1의 구조를 나타내는 블록다이어그램이다.4 is a block diagram showing the structure of the data management device 1 of FIG. 1.

도 4를 도 1과 함께 참조하면, 본 발명의 실시 예에 따른 데이터관리장치 1(120_1)는 인터페이스부(400), 저장부(410), 제어부(420), 연산부(430) 및 암/복호화부(440)의 일부 또는 전부를 포함할 수 있다. 여기서, 일부 또는 전부를 포함한다는 것은 위에서의 의미와 동일하다.Referring to FIG. 4 together with FIG. 1, the data management device 1 120_1 according to an embodiment of the present invention includes an interface unit 400, a storage unit 410, a control unit 420, an operation unit 430, and encryption/decryption. A part or all of the part 440 may be included. Here, the inclusion of part or all is the same as the meaning above.

인터페이스부(400)는 도 1의 통신망(110)을 경유하여 사용자 장치(100) 및 데이터관리장치 2(120_2)와 통신을 수행하기 위한 통신모듈을 포함한다. 인터페이스부(400)는 이러한 통신 과정에서 정보 변환 등의 과정을 수행할 수 있다. 가령 압축된 정보를 디코딩하는 등의 과정을 수행할 수 있다.The interface unit 400 includes a communication module for performing communication with the user device 100 and the data management device 2 120_2 via the communication network 110 of FIG. 1. The interface unit 400 may perform a process such as information conversion in the communication process. For example, a process such as decoding the compressed information may be performed.

저장부(410)는 인덱스 테이블 형태로서, 복수의 키워드를 암호화하여 저장하고, 그 각각의 키워드에 매칭시켜 데이터에 대한 ID 정보들의 집합을 암호화하여 저장한다. 이때 저장된 정보는 사용자의 요청에 따라 추가 또는 삭제되어 인덱스 테이블을 갱신할 수 있다.The storage unit 410, in the form of an index table, encrypts and stores a plurality of keywords, matches each of the keywords, and encrypts and stores a set of ID information for data. At this time, the stored information may be added or deleted according to a user's request to update the index table.

제어부(420)는 데이터관리장치 1(120_1) 내의 인터페이스부(400), 저장부(410), 연산부(430) 및 암/복호화부(440)의 전반적인 동작을 제어한다. 예를 들어, 사용자가 키워드 1(w1)을 포함하는 토큰을 제공한 경우, 제어부(420)는 해당 토큰에 매칭되는 열의 정보를 저장부(410)에서 읽어내어 암/복호화부(440)에서 복호화하고, 복호화된 ID 정보들의 집합 즉 비트 정보를 인터페이스부(400)를 통해 출력하도록 제어할 수 있다. 또한, 복수의 키워드가 제공되는 경우에는 복호화 과정에서 얻은 2개의 비트 정보를 연산부(430)를 통해 연산함으로써 산출된 새로운 비트 정보를 출력하도록 인터페이스부(400)를 제어할 수 있다.The control unit 420 controls the overall operation of the interface unit 400, the storage unit 410, the operation unit 430, and the encryption/decryption unit 440 in the data management device 1 120_1. For example, when the user provides a token including the keyword 1 (w1), the control unit 420 reads the information of the column matching the token from the storage unit 410 and decrypts it in the encryption/decryption unit 440 And, it can be controlled to output a set of decoded ID information, that is, bit information through the interface unit 400. In addition, when a plurality of keywords are provided, the interface unit 400 may be controlled to output new bit information calculated by calculating the two bit information obtained in the decoding process through the operation unit 430.

연산부(430)는 사용자가 가령 2개의 키워드가 포함된 데이터를 제공받고자 할 때, 2개의 키워드에 대한 ID 정보들의 집합을 암/복호화부(440)에서 복호화한 비트 정보들을 논리 연산할 수 있다. 예컨대 연산부(430)는 구체적으로 AND 연산이나 OR 연산을 수행할 수 있는데, 이와 관련해서는 앞서 충분히 설명하였으므로 더 이상의 설명은 생략한다.When the user wants to receive data including two keywords, for example, the operation unit 430 may logically operate the bit information decoded by the encryption/decryption unit 440 with a set of ID information for the two keywords. For example, the operation unit 430 may specifically perform an AND operation or an OR operation. In this regard, further explanation is omitted, since it has been sufficiently described above.

암/복호화부(440)는 가령 사용자가 새로운 키워드를 포함하는 데이터를 추가하거나 삭제하여 데이터관리장치 1(120_1)의 인덱스 테이블을 갱신하고자 할 때, 인덱스 테이블의 정보들이 암호화되어 저장부(410)에 저장되도록 한다. 또한, 암호화되어 저장된 정보를 추출하여 복호화함으로써 복호화된 정보, 예컨대 ID 정보들의 집합을 비트 정보로 표현한 정보들이 연산부(430)로 제공될 수 있도록 한다.The encryption/decryption unit 440, for example, when the user wants to update the index table of the data management device 1 (120_1) by adding or deleting data including a new keyword, the information of the index table is encrypted and the storage unit 410 To be stored in. In addition, by extracting and decrypting the encrypted and stored information, it is possible to provide decrypted information, for example, information representing a set of ID information as bit information, to the operation unit 430.

도 5는 본 발명의 실시 예에 따른 데이터 검색 과정을 설명하기 위한 도면이다.5 is a view for explaining a data search process according to an embodiment of the present invention.

도 5를 도 1과 함께 참조하면, 본 발명의 실시 예에 따른 데이터관리시스템(90), 가령 EKS 시스템에서 키워드 w2를 포함하는 데이터를 검색하고자 하는 경우, 사용자는 w2에 대한 Token = {E_k_s(w2), K_w2}을 생성하고, 데이터관리장치 1(120_1)로 전달한다.Referring to FIG. 5 together with FIG. 1, when searching for data including the keyword w2 in the data management system 90 according to an embodiment of the present invention, for example, the EKS system, the user has Token for w2 = {E_k_s( w2) and K_w2' are generated and transmitted to the data management device 1 (120_1).

그러면 데이터관리장치 1(120_1)은 E_k_s(w2)를 포함하는 열(row)에서 K_w2를 이용하여 BF_w2를 복구하고, BF_w2를 데이터관리장치 2(120_2)로 전달한다.Then, the data management device 1 (120_1) recovers BF_w2 using K_w2 in a row including E_k_s(w2), and transfers BF_w2 to the data management device 2 (120_2).

데이터관리장치 2(120_2)는 각 Datai의 bf_IDi가 BF_w2의 member인지를 테스트하고, True를 반환하는 bf_IDi의 E(Datai)를 데이터관리장치 1(120_1)에게 반환한다.Data management device 2 (120_2) tests whether bf_IDi of each Datai is a member of BF_w2, and returns E (Datai) of bf_IDi, which returns True, to data management device 1 (120_1).

이의 과정에서 가령, 키워드 w1과 w2의 교집합 검색의 경우, 토큰을 이용하여 데이터관리장치 1(120_1)이 BF_w1과 BF_w2를 복구하고 (BF_w1∧BF_w2)를 데이터관리장치 2(120_2)로 전달한다. 그리고 데이터관리장치 2(120_2)는 (BF_w1∧BF_w2)에 포함되는 bf_IDi만을 반환한다.In the process of this, for example, in the case of the intersection search of the keywords w1 and w2, the data management device 1 (120_1) recovers BF_w1 and BF_w2 using the token and transmits (BF_w1∧BF_w2) to the data management device 2 (120_2). And the data management device 2 (120_2) returns only bf_IDi included in (BF_w1∧BF_w2).

만약 키워드 w1과 w2의 합집합 검색의 경우, 토큰을 이용하여 데이터관리장치 1(120_1)이 BF_w1과 BF_w2를 복구하고, (BF_w1 + BF_w2)를 데이터관리장치 2(120_2)로 전달한다. 그리고 데이터관리장치 2(120_2)는 (BF_w1 + BF_w2)에 포함되는 bf_IDi만을 반환하게 된다.In the case of a union search of keywords w1 and w2, the data management device 1 (120_1) recovers BF_w1 and BF_w2 using a token, and transmits (BF_w1 + BF_w2) to the data management device 2 (120_2). In addition, the data management device 2 (120_2) returns only bf_IDi included in (BF_w1 + BF_w2).

도 6은 본 발명의 실시 예에 따른 데이터 추가 과정을 설명하기 위한 도면이다.6 is a view for explaining a data addition process according to an embodiment of the present invention.

도 6을 도 1과 함께 참조하면, 본 발명의 실시 예에 따른 데이터관리시스템(90) 즉 EKS 시스템에서 키워드 w2, w5를 포함하는 Data 8을 추가할 때, 사용자는 Data 8에 대한 암호문 E(Data8)을 생성하고, w2와 w5에 대한 EK _S(w2)와 EK _S(w5)를 계산한다. 그리고 Bloom filter member bf_ID8을 계산한다. 추가에 대한 토큰은 <관계식 1>과 같다.Referring to FIG. 6 together with FIG. 1, when data 8 including keywords w2 and w5 is added in the data management system 90 according to an embodiment of the present invention, that is, the EKS system, the user is prompted for an encrypted text E ( Data8), and calculates E K _S (w2) and E K _S (w5) for w2 and w5. Then, Bloom filter member bf_ID8 is calculated. The token for addition is as shown in <Relationship 1>.

[관계식 1][Relationship 1]

Token = {EK _S(w2), EK _S(w5), K_w2, K_w5, bf_ID8, E(Data8)}Token = {E K _S (w2), E K _S (w5), K_w2, K_w5, bf_ID8, E(Data8)}

상기 과정에서 가령 사용자가 Data 8에 대한 ID, 즉 Bloom filter member bf_ID8을 알지 못할 경우, 사용자는 Bloom filter member bf_ID8을 EKS 시스템, 가령 데이터관리장치 1(120_1)로부터 해당 ID 정보를 수신하거나, 사용자 자신이 직접 지정할 수도 있을 것이다. 이의 경우, <관계식 1>에서 bf_ID8은 생략될 수 있으며, bf_08의 생성 방식에 따라 변경이 얼마든지 가능할 수 있다.In the above process, for example, if the user does not know the ID for Data 8, that is, the Bloom filter member bf_ID8, the user receives the ID information from the Bloom filter member bf_ID8 from the EKS system, for example, the data management device 1 (120_1), or the user himself. You could also specify this yourself. In this case, bf_ID8 may be omitted from <Relational Formula 1>, and any number of changes may be possible depending on the generation method of bf_08.

이어, 데이터관리장치 1(120_1)은 EK _s(w2)를 포함하는 열에서 K_w2를 이용하여 BF_w2를 복구하고 bf_ID8을 accumulation(BF_w2=BF_w2+bf_ID8)한다. 그리고 새로운 키워드 w5에 대해서 EK _S(w5)와 EK _ w5(BF_w5=bf_ID8)를 인덱스 테이블에 새로운 열로 추가하고, {bf_ID8, E(Data8)}을 데이터관리장치 2(120_2)로 전달한다.Subsequently, the data management device 1 120_1 recovers BF_w2 using K_w2 in the column containing E K s (w2) and accumulates (BF_w2=BF_w2+bf_ID8) bf_ID8. Then, for the new keyword w5, E K _S (w5) and E K _ w5 (BF_w5=bf_ID8) are added to the index table as new columns, and {bf_ID8, E(Data8)} is transferred to the data management device 2 (120_2). .

또한, 데이터관리장치 2(120_2)는 bf_ID8와 E(Data8)를 데이터 테이블에 저장한다.In addition, the data management device 2 (120_2) stores bf_ID8 and E (Data8) in a data table.

한편, 위에서와 같이 비트 정보가 블룸 필터의 형태가 아니라, 비트 정보의 개수가 데이터의 개수와 일치하는 비트맵(bitmap)일 경우, 상기 과정에서 BF_w2와 BF_w5를 암/복호화하는 과정은 생략 가능하며, bf_ID8을 BF_w2와 BF_w5의 암호문들에 bitwise EX-OR 연산함으로써 accumulation할 수 있다. 다시 말해, 비트 정보가 블룸 필터의 형태로 표현될 때, 데이터를 추가하기 위하여는 암호화된 BF_w2와 BF_w5를 복호화한 후, 관련 정보를 추가하고 나서 다시 암호화하는 과정을 갖는다면, 비트맵의 경우에는 이러한 과정을 생략하는 것이 가능할 수 있다. 이에 따라 <관계식 1>에서 K_w2, K_w5는 생략될 수 있다.On the other hand, if the bit information is not in the form of a bloom filter as described above, and the number of bit information is a bitmap that matches the number of data, the process of encrypting/decoding BF_w2 and BF_w5 in the above process can be omitted. , bf_ID8 can be accumulated by bitwise EX-OR operation on the ciphertexts of BF_w2 and BF_w5. In other words, when the bit information is expressed in the form of a bloom filter, in order to add data, after decrypting the encrypted BF_w2 and BF_w5, and then adding the relevant information and then encrypting it again, in the case of a bitmap, It may be possible to omit this process. Accordingly, K_w2 and K_w5 may be omitted in <Relational Formula 1>.

도 7은 본 발명의 실시 예에 따른 데이터 삭제 과정을 설명하기 위한 도면이다.7 is a view for explaining a data deletion process according to an embodiment of the present invention.

도 7을 도 1과 함께 참조하면, 본 발명의 실시 예에 따른 데이터관리시스템(90) 즉 EKS 시스템에서 키워드 w2, w5를 포함하는 Data 8을 삭제할 때, 사용자는 w2와 w5에 대한 EK _S(w2)와 EK _S(w5)를 계산한다. 그리고 Bloom filter member bf_ID8을 계산한다. 삭제에 대한 Token은 <관계식 2>와 같다.Referring to FIG. 7 together with FIG. 1, when data 8 including keywords w2 and w5 is deleted from the data management system 90 according to an embodiment of the present invention, that is, the EKS system, the user can use E K _S for w2 and w5. Calculate (w2) and E K _S (w5). Then, Bloom filter member bf_ID8 is calculated. Token for deletion is as in <Equation 2>.

[관계식 2][Relationship 2]

Token = {EK _S(w2), EK _S(w5), K_w2, K_w5, bf_ID8}Token = {E K _S (w2), E K _S (w5), K_w2, K_w5, bf_ID8}

데이터관리장치 1(120_1)은 EK _s(w2)와 EK _S(w5)를 포함하는 열에서 K_w2와 K_w5를 이용하여 BF_w2와 BF_w5를 복구하고, BF_w2=BF_w2-bf_ID8와 BF_w5=BF_w5-bf_ID8을 계산한다. 이때 BF_wi가 0이 되는 열은 인덱스 테이블에서 제거한다. 그리고 bf_ID8을 데이터관리장치 2(120_2)로 전달한다.Data management device 1 (120_1) recovers BF_w2 and BF_w5 using K_w2 and K_w5 from the columns containing E K _s (w2) and E K _S (w5), and BF_w2=BF_w2-bf_ID8 and BF_w5=BF_w5-bf_ID8 To calculate At this time, the column where BF_wi becomes 0 is removed from the index table. Then, bf_ID8 is transferred to the data management device 2 (120_2).

이어 데이터관리장치 2(120_2)는 bf_ID8과 E(Data8)를 데이터 테이블에서 삭제한다.Subsequently, the data management apparatus 2 (120_2) deletes bf_ID8 and E (Data8) from the data table.

한편, 비트 정보의 개수가 데이터의 개수와 일치하는 비트맵일 경우, 상기 과정에서 BF_w2와 BF_w5를 암/복호화하는 과정은 생략 가능하며, bf_ID8을 BF_w2와 BF_w5의 암호문들에 bitwise EX-OR 연산을 수행함으로써 extraction할 수 있다. 이에 따라 <관계식 1>에서 K_w2, K_w5는 생략될 수 있다.On the other hand, if the number of bit information is a bitmap that matches the number of data, the process of encrypting/decrypting BF_w2 and BF_w5 in the above process can be omitted, and bitwise EX-OR operation is performed on bf_ID8 to the ciphertexts of BF_w2 and BF_w5. Can be extracted. Accordingly, K_w2 and K_w5 may be omitted in <Relational Formula 1>.

도 8은 본 발명의 실시 예에 따른 데이터 관리 방법을 나타내는 흐름도이다.8 is a flowchart illustrating a data management method according to an embodiment of the present invention.

설명의 편의상 도 8을 도 4와 함께 참조하면, 본 발명의 실시 예에 따른 데이터관리장치 1(120_1)은 2개의 칼럼으로 구성하여 칼럼 1에는 키워드 wi에 대한 암호화된 키워드를 저장하고, 칼럼 2에는 키워드 wi를 포함하는 데이터의 ID 정보들의 집합에 대한 블룸 필터(BF_wi)를 암호화하여 저장한다(S800). 이때 ID 정보들의 집합은 비트 정보로서 처리되는 것이 바람직하다. 가령 비트 정보는 데이터 1 내지 데이터 7에 대하여, 7비트 정보로 나타낼 수 있다.Referring to FIG. 8 together with FIG. 4 for convenience of description, the data management device 1 (120_1) according to an embodiment of the present invention includes two columns to store the encrypted keywords for the keyword wi in column 1, and column 2 In the Bloom filter (BF_wi) for a set of ID information of data including the keyword wi is encrypted and stored (S800). At this time, the set of ID information is preferably processed as bit information. For example, the bit information may be expressed as 7-bit information for data 1 to data 7.

물론 본 발명의 실시 예에서는 바람직하게는 데이터 1 내지 데이터 7에 대하여 순차적으로 비트 정보를 표현하는 것이지만, 순서를 혼합하여 비트 정보를 표현하는 것도 얼마든지 가능할 수 있다. 예컨대, 데이터 1, 데이터 2 및 데이터 3의 순서대로 비트를 표현하는 것이 아니라, 데이터 1, 데이터 3 및 데이터 2와 같은 순서대로 순차적이지 않게 비트를 표현할 수도 있다. 이때, 데이터관리장치 1(120_1)만이 두 번째 ID 정보 즉 비트 정보가 데이터 3에 대한 것임을 알 수 있게 된다. 나아가 데이터가 7개 존재하더라도 이를 반드시 7 비트로 매칭시켜 비트 정보를 처리하는 것이 아니라, 어떠한 함수 관계를 설정하여 4 비트 정보 또는 그 이외의 정보로 표현하는 것도 얼마든지 가능할 수 있을 것이다.Of course, in the embodiment of the present invention, preferably, the bit information is sequentially expressed with respect to the data 1 to 7, but the bit information may be expressed by mixing the order. For example, rather than expressing bits in the order of data 1, data 2, and data 3, bits may be expressed in a non-sequential order in the same order as data 1, data 3, and data 2. At this time, only the data management device 1 (120_1) can know that the second ID information, that is, the bit information is for the data 3. Furthermore, even if there are seven data, it is not necessarily processed by matching them with 7 bits, but it may be possible to set any function relationship and express it as 4-bit information or other information.

또한, 데이터관리장치 1(120_1)은 사용자로부터의 요청에 근거하여 저장부(410)에서 동일 키워드에 해당되는 열의 ID 정보들의 집합을 추출한다(S810). 이때 요청은 토큰에 해당되며, ID 정보들은 비트 정보이다.In addition, the data management device 1 (120_1) extracts a set of ID information of the column corresponding to the same keyword in the storage unit 410 based on the request from the user (S810). At this time, the request corresponds to the token, and the ID information is bit information.

이어 데이터관리장치 1(120_1)은 추출한 ID 정보들의 집합을 복호화하여 출력한다(S820). 이의 과정에서 데이터관리장치 1(120_1)은 복호화를 위하여 토큰에 포함되는 복호화 키를 사용할 수 있다.Subsequently, the data management device 1 (120_1) decodes and outputs the set of extracted ID information (S820). In the process of this, the data management device 1 120_1 may use a decryption key included in the token for decryption.

이후 데이터관리장치 1(120_1)은 복호화된 ID 정보에 매칭되는 데이터를 사용자에게 제공한다(S830). 이와 같은 데이터의 제공은 도 1에서와 같이 연동하는 데이터관리장치 2(120_2)로부터 제공받아 사용자에게 전달할 수 있지만, 별도의 데이터베이스를 구축하는 경우에는 데이터베이스의 검색에 의해 추출된 데이터를 사용자에게 제공할 수 있을 것이다.Thereafter, the data management device 1 (120_1) provides data matching the decrypted ID information to the user (S830). The provision of such data can be provided to the user by receiving data from the interlocked data management device 2 (120_2) as shown in FIG. 1, but in the case of constructing a separate database, data extracted by searching the database is provided to the user. Will be able to.

기타, 복수의 키워드를 포함하는 데이터의 검색이나, 특정 키워드들을 포함하는 데이터의 추가 및 삭제 등과 관련해서는 앞서서의 도 5 내지 도 7을 참조하여 충분히 설명하였으므로 그 내용들로 대신하고자 한다.In addition, the description of the data including a plurality of keywords or the addition and deletion of data including specific keywords has been sufficiently described with reference to FIGS. 5 to 7 above, and thus the contents thereof will be replaced.

도 9는 본 발명의 다른 실시예에 따른 데이터 추가 과정을 나타내는 흐름도로서, 비트 정보가 비트맵의 형태로 표현되는 경우를 가정한 것이다.9 is a flowchart illustrating a process of adding data according to another embodiment of the present invention, and assumes that bit information is expressed in the form of a bitmap.

설명의 편의상 도 9를 도 1과 함께 참조하면, 본 발명의 실시예에 따른 데이터관리장치 1(120_1)은 데이터의 추가를 목적으로 하는 사용자로부터 복수의 키워드를 포함하는 데이터에 대한 암호문과 키워드들에 대한 암호문들을 포함한 토큰을 수신한다(S900).Referring to FIG. 9 together with FIG. 1 for convenience of description, the data management device 1 (120_1) according to an embodiment of the present invention provides ciphertexts and keywords for data including a plurality of keywords from a user for the purpose of adding data. Tokens including ciphertexts are received (S900).

이어, 데이터관리장치 1(120_1)은 수신된 토큰이 포함하고 있는 키워드 암호문에 해당하는 열의 ID 정보들에서 추가하는 데이터의 ID 정보를 추가한다(S910).Subsequently, the data management apparatus 1 (120_1) adds ID information of data added from ID information of a column corresponding to the keyword ciphertext included in the received token (S910).

이후, 가령 데이터관리장치 2(120_2)는 추가되는 데이터의 암호문과 해당 ID를 저장부에 저장하게 된다(S920).Thereafter, for example, the data management device 2 (120_2) stores the encrypted text and the corresponding ID of the data to be added to the storage unit (S920).

도 10은 본 발명의 다른 실시예에 따른 데이터 삭제 과정을 나타내는 흐름도로서, 비트 정보가 비트맵의 형태로 표현되는 경우를 가정한 것이다.10 is a flowchart illustrating a data deletion process according to another embodiment of the present invention, and assumes that bit information is expressed in the form of a bitmap.

설명의 편의상 도 10을 도 1과 함께 참조하면, 본 발명의 실시예에 따른 데이터관리장치 1(120_1)은 데이터 삭제를 목적으로 하는 사용자로부터 삭제하고자 하는 데이터가 포함하고 있는 키워드들에 대한 암호문들을 포함한 토큰을 수신한다(S1000).For convenience of description, referring to FIG. 10 together with FIG. 1, the data management device 1 120_1 according to an embodiment of the present invention provides ciphertexts for keywords included in data to be deleted from a user for the purpose of data deletion. The included token is received (S1000).

이어, 데이터관리장치 1(120_1)은 수신된 토큰이 포함하고 있는 키워드 암호문에 해당하는 열의 ID 정보들에서 삭제하려는 데이터의 ID 정보를 삭제한다(S1010).Subsequently, the data management device 1 (120_1) deletes the ID information of the data to be deleted from the column ID information corresponding to the keyword ciphertext included in the received token (S1010).

이후, 데이터관리장치 2(120_2)는 삭제하는 데이터의 암호문과 해당 ID를 저장부에서 삭제할 수 있다(S1020).Thereafter, the data management device 2 (120_2) may delete the encrypted text and the corresponding ID of the data to be deleted from the storage unit (S1020).

한편, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 비일시적 저장매체(non-transitory computer readable media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다. On the other hand, that all components constituting the embodiments of the present invention are described as being combined or operated as one, the present invention is not necessarily limited to these embodiments. That is, within the scope of the present invention, all of the constituent elements may be selectively combined and operated. In addition, although all of the components may be implemented as one independent hardware, a part or all of the components are selectively combined to perform a part or all of functions combined in one or a plurality of hardware. It may be implemented as a computer program having a. The codes and code segments constituting the computer program can be easily deduced by those skilled in the art of the present invention. Such a computer program is stored in a computer-readable non-transitory computer readable media, and read and executed by a computer, thereby implementing an embodiment of the present invention.

여기서 비일시적 판독 가능 기록매체란, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라, 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로, 상술한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리 카드, ROM 등과 같은 비일시적 판독가능 기록매체에 저장되어 제공될 수 있다. Here, the non-transitory readable recording medium means a medium that stores data semi-permanently and that can be read by a device, rather than a medium that stores data for a short moment, such as a register, a cache, or a memory. Specifically, the above-described programs may be stored and provided on a non-transitory readable recording medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and it is usually in the technical field to which the present invention pertains without departing from the gist of the present invention as claimed in the claims. Of course, various modifications can be implemented by a person having knowledge of these, and these modifications should not be individually understood from the technical idea or prospect of the present invention.

100: 사용자 장치 110: 통신망
120_1: 데이터관리장치 1 120_2: 데이터관리장치 2
400: 인터페이스부 410: 저장부
420: 제어부 430: 연산부
440: 암/복호화부
100: user device 110: communication network
120_1: Data management device 1 120_2: Data management device 2
400: interface unit 410: storage unit
420: control unit 430: operation unit
440: cancer/decryption unit

Claims (13)

데이터관리장치에 있어서,
복수의 키워드를 암호화하여 저장하고, 상기 복수의 키워드 각각에 대응되는 ID의 집합을 암호화하여 저장하는 저장부;
상기 저장부에서 사용자 요청에 대응되는 ID의 집합을 추출하는 제어부; 및
상기 추출한 ID의 집합을 복호화하는 복호화부;를 포함하되,
상기 제어부는,
상기 복호화한 ID에 매칭되는 데이터를 상기 사용자에게 제공하고,
상기 ID의 집합은,
비트(bit) 정보로서 처리되고,
상기 비트 정보의 개수(number)는 저장된 데이터의 개수와 일치하는 것을 특징으로 하는 데이터관리장치.
In the data management device,
A storage unit for encrypting and storing a plurality of keywords, and encrypting and storing a set of IDs corresponding to each of the plurality of keywords;
A control unit for extracting a set of IDs corresponding to a user request from the storage unit; And
Includes; a decoder for decoding the set of extracted ID;
The control unit,
Provide data to the user matching the decrypted ID,
The set of IDs,
Processed as bit information,
The number information of the bit information (number) is a data management device, characterized in that the number of stored data.
제1항에 있어서,
상기 비트 정보는 블룸 필터(bloom filter) 또는 비트맵(bit map)의 형태로 표현되는 것을 특징으로 하는 데이터관리장치.
According to claim 1,
The bit information is a data filter, characterized in that it is expressed in the form of a bloom filter (bloom filter) or a bit map (bit map).
삭제delete 제1항에 있어서,
상기 사용자가 데이터의 추가를 요청하는 경우, 추가되는 키워드 및 데이터를 암호화하여 상기 저장부에 저장시키는 암호화부;를 더 포함하는 것을 특징으로 하는 데이터관리장치.
According to claim 1,
And an encryption unit that encrypts the keywords and data to be added and stores them in the storage unit when the user requests the addition of data.
제4항에 있어서,
상기 사용자로부터의 토큰(token)을 수신하여 데이터의 검색, 추가 또는 삭제를 요청받는 인터페이스부;를 더 포함하며,
상기 토큰은 키워드와 암호화 및 복호화를 위한 키를 포함하는 것을 특징으로 하는 데이터관리장치.
According to claim 4,
It further includes an interface unit that receives a token from the user and is requested to search, add, or delete data.
The token comprises a keyword and a key for encryption and decryption.
제1항에 있어서,
상기 사용자가 적어도 두개의 키워드를 포함하는 데이터를 요청하는 경우, 상기 적어도 두개의 키워드에서 각 키워드에 대응되는 ID의 집합을 논리 연산하여 연산 결과를 출력하는 연산부;를 더 포함하되,
상기 제어부는,
상기 연산 결과의 비트 정보를 근거로 상기 데이터를 사용자에게 제공하는 것을 특징으로 하는 데이터관리장치.
According to claim 1,
Further comprising, when the user requests data including at least two keywords, the at least two keywords to perform a logical operation on a set of IDs corresponding to each keyword to output a calculation result;
The control unit,
Data management device characterized in that it provides the data to the user based on the bit information of the calculation result.
복수의 키워드를 암호화하여 저장하고, 상기 복수의 키워드 각각에 대응되는 ID의 집합을 암호화하여 저장부에 저장하는 단계;
상기 저장부에서 사용자 요청에 대응되는 ID의 집합을 추출하는 단계;
상기 추출한 ID의 집합을 복호화하는 단계; 및
상기 복호화한 ID에 매칭되는 데이터를 상기 사용자에게 제공하는 단계;를 포함하되,
상기 ID의 집합은,
비트(bit) 정보로서 처리되고,
상기 비트 정보의 개수(number)는 저장된 데이터의 개수와 일치하는 것을 특징으로 하는 데이터관리방법.
Encrypting and storing a plurality of keywords, and storing a set of IDs corresponding to each of the plurality of keywords by storing them in a storage unit;
Extracting a set of IDs corresponding to a user request from the storage unit;
Decoding the set of extracted IDs; And
Including; providing data matching the decrypted ID to the user;
The set of IDs,
Processed as bit information,
The number information of the bit information (number) is a data management method characterized in that it matches the number of stored data.
제7항에 있어서,
상기 비트 정보는 블룸 필터(bloom filter) 또는 비트맵(bit map)의 형태로 표현되는 것을 특징으로 하는 데이터관리방법.
The method of claim 7,
The bit information is a data management method characterized in that it is expressed in the form of a bloom filter (bloom filter) or a bit map (bit map).
삭제delete 제7항에 있어서,
상기 사용자가 데이터의 추가를 요청하는 경우, 추가되는 키워드 및 데이터를 암호화하여 상기 저장부에 저장시키는 단계;를 더 포함하는 것을 특징으로 하는 데이터관리방법.
The method of claim 7,
And when the user requests the addition of data, encrypting the keywords and data to be added and storing the data in the storage unit.
제10항에 있어서,
상기 사용자로부터의 토큰(token)을 수신하여 상기 데이터의 검색, 추가 또는 삭제를 요청받는 단계;를 더 포함하며,
상기 토큰은 키워드와 암호화 및 복호화를 위한 키를 포함하는 것을 특징으로 하는 데이터관리방법.
The method of claim 10,
The method further includes receiving a token from the user and requesting to search, add, or delete the data;
The token comprises a keyword and a key for encryption and decryption.
제7항에 있어서,
상기 사용자가 적어도 두개의 키워드를 포함하는 데이터를 요청하는 경우, 상기 적어도 두개의 키워드에서 각 키워드에 대응되는 ID의 집합을 논리 연산하여 연산 결과를 출력하는 단계;를 더 포함하되,
상기 사용자에게 제공하는 단계는,
상기 연산 결과의 비트 정보를 근거로 상기 데이터를 사용자에게 제공하는 것을 특징으로 하는 데이터관리방법.
The method of claim 7,
Further comprising, when the user requests data including at least two keywords, logically calculating a set of IDs corresponding to each keyword from the at least two keywords and outputting a calculation result;
The step of providing to the user,
A data management method characterized by providing the data to the user based on the bit information of the result of the calculation.
복수의 키워드와, 상기 복수의 키워드 각각에 대응되는 ID 의 집합을 암호화하여 저장하고, 사용자의 요청에 대응되는 ID를 비트(bit) 정보의 형태로 처리하는 제1 데이터 관리장치; 및
상기 ID와 데이터를 매칭시켜 각각 저장하고, 상기 제1 데이터관리장치에서 처리된 비트 형태의 ID에 근거하여 상기 저장한 데이터를 검색하여 상기 사용자에게 상기 사용자의 요청에 대응되는 데이터를 제공하는 제2 데이터관리장치;를 포함하고,
상기 비트 정보의 개수(number)는 상기 저장된 데이터의 개수와 일치하는 것을 특징으로 하는 데이터관리시스템.
A first data management apparatus for encrypting and storing a plurality of keywords and a set of IDs corresponding to each of the plurality of keywords, and processing IDs corresponding to a user's request in the form of bit information; And
A second that matches and stores the ID and data, and retrieves the stored data based on the bit-type ID processed by the first data management device and provides the user with data corresponding to the user's request. It includes a data management device;
The data management system, characterized in that the number of bit information (number) matches the number of stored data.
KR1020130090463A 2013-05-09 2013-07-30 Apparatus for M anaging Data, Method for Managing Data, System for Managing Data KR102131306B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130052758 2013-05-09
KR1020130052758 2013-05-09

Publications (2)

Publication Number Publication Date
KR20140133383A KR20140133383A (en) 2014-11-19
KR102131306B1 true KR102131306B1 (en) 2020-07-07

Family

ID=52454063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130090463A KR102131306B1 (en) 2013-05-09 2013-07-30 Apparatus for M anaging Data, Method for Managing Data, System for Managing Data

Country Status (1)

Country Link
KR (1) KR102131306B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169321A1 (en) 2008-12-30 2010-07-01 Nec (China)Co., Ltd. Method and apparatus for ciphertext indexing and searching
WO2012095973A1 (en) * 2011-01-13 2012-07-19 三菱電機株式会社 Data processing device and data archiving device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100839220B1 (en) * 2006-10-19 2008-06-19 고려대학교 산학협력단 Method for searching encrypted database and System thereof
KR101190059B1 (en) * 2008-12-12 2012-10-16 한국전자통신연구원 Method for data encryption and method for conjunctive keyword search of encrypted data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169321A1 (en) 2008-12-30 2010-07-01 Nec (China)Co., Ltd. Method and apparatus for ciphertext indexing and searching
WO2012095973A1 (en) * 2011-01-13 2012-07-19 三菱電機株式会社 Data processing device and data archiving device

Also Published As

Publication number Publication date
KR20140133383A (en) 2014-11-19

Similar Documents

Publication Publication Date Title
US8533489B2 (en) Searchable symmetric encryption with dynamic updating
CN110768787B (en) Data encryption and decryption method and device
US20160344707A1 (en) Encrypted query-based access to data
CN105678189B (en) Data file encryption storage and retrieval system and method
US9021259B2 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
CN104765848B (en) What support result efficiently sorted in mixing cloud storage symmetrically can search for encryption method
Salam et al. Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage
JP4958246B2 (en) Method, apparatus and system for fast searchable encryption
US9147079B2 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
KR102449816B1 (en) Apparatus for encryption and search and method thereof
CN104780161A (en) Searchable encryption method supporting multiple users in cloud storage
CN107533813B (en) Database system and database processing method
US20170262546A1 (en) Key search token for encrypted data
WO2016045641A2 (en) Data block storage method, data query method and data modification method
CN110765469B (en) Efficient and robust dynamic searchable symmetric encryption method and system
EP2778953A1 (en) Encoded-search database device, method for adding and deleting data for encoded search, and addition/deletion program
WO2014141802A1 (en) Information processing device, information processing system, information processing method, and program
CN108777685B (en) Method and apparatus for processing information
CN111026788A (en) Homomorphic encryption-based multi-keyword ciphertext sorting and retrieving method in hybrid cloud
KR101979267B1 (en) Encryption systems based on cloud storage and method thereof
CN104992124A (en) Document safety access method for cloud storage environment
Lee et al. A secure index management scheme for providing data sharing in cloud storage
US20190158269A1 (en) Secure order preserving string compression
CN105279198A (en) Data table storage method, data table modification method, data table query method and data table statistical method
KR20170122048A (en) System and method for searching encrypted data using bloom filter and binary tree

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