[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20120002729A - Search system and method in multi-user - Google Patents

Search system and method in multi-user Download PDF

Info

Publication number
KR20120002729A
KR20120002729A KR1020100063390A KR20100063390A KR20120002729A KR 20120002729 A KR20120002729 A KR 20120002729A KR 1020100063390 A KR1020100063390 A KR 1020100063390A KR 20100063390 A KR20100063390 A KR 20100063390A KR 20120002729 A KR20120002729 A KR 20120002729A
Authority
KR
South Korea
Prior art keywords
user
document
key
encrypted
user terminal
Prior art date
Application number
KR1020100063390A
Other languages
Korean (ko)
Other versions
KR101140576B1 (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 고려대학교 산학협력단
Priority to KR1020100063390A priority Critical patent/KR101140576B1/en
Publication of KR20120002729A publication Critical patent/KR20120002729A/en
Application granted granted Critical
Publication of KR101140576B1 publication Critical patent/KR101140576B1/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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6272Protecting 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 by registering files or documents with a third party

Landscapes

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

Abstract

PURPOSE: A search system between multi users for an encryption document and a method thereof are provided to search and transmit an encryption document related to a keyword of a user and decrypt the document by an encryption key, thereby preventing data tapping. CONSTITUTION: A user list managing unit(210) manages a second secret key including the identification information of a user and a first secret key. A key generating unit(230) generates a first generation key for generating a document encryption key and a second generation key for generating a keyword index generation key using a random number and the second secret key received from a user terminal. A data searching unit(240) generates the keyword index generation key based on a query value and the second secret key received from the user terminal and searches an encrypted document corresponding to the keyword index generation key.

Description

다자간 검색 시스템 및 그 방법{SEARCH SYSTEM AND METHOD IN MULTI-USER}Multi-party search system and method thereof {SEARCH SYSTEM AND METHOD IN MULTI-USER}

본 발명은 보안성이 보장되고, 효율적인 키워드 검색을 제공하는 다자간 검색 시스템 및 그 방법에 관한 것이다.The present invention relates to a multi-party retrieval system and method for ensuring security and providing efficient keyword retrieval.

최근 클라우드 컴퓨팅(cloud computing) 기술의 발달과 더불어 인터넷을 통해 자료를 공유할 수 있는 클라우드 기반 스토리지(storage) 서비스가 주목받고 있다. 스토리지 서비스를 통해 사용자 단말들은, 공공의 서버(public server)에 자신의 자료를 업로드(upload)하고, 관심있는 자료를 다운로드(download) 받을 수 있다.Recently, with the development of cloud computing technology, cloud-based storage services that can share data through the Internet have attracted attention. Through the storage service, user terminals may upload their data to a public server and download materials of interest.

그러나, 공공의 서버를 통한 자료의 공유는 사용자 단말들의 편리성을 증가시킨 반면 사용자 단말들의 프라이버시에 대한 문제점이 있다. 공공의 서버에 저장된 자료는 사용자 단말들이 아닌 서비스 제공자에 의해 관리되므로 신뢰할 수 없는 서비스 제공자에 의한 데이터 노출은 단순한 접근통제만으로 해결하기 힘들다.However, the sharing of data through a public server increases the convenience of the user terminals, but there is a problem with respect to the privacy of the user terminals. Since data stored in public servers are managed by service providers rather than user terminals, data exposure by untrusted service providers is difficult to solve by simple access control.

또한, 신뢰할 수 없는 서비스 제공자에 대한 데이터 노출을 막기 위해서 데이터를 암호화하여 저장할 수도 있으나, 이러한 데이터 암호화는 검색의 효율을 급격히 저하시킨다.In addition, although data may be encrypted and stored to prevent data exposure to untrusted service providers, such data encryption dramatically degrades the efficiency of retrieval.

이러한 검색 문제를 해결하기 위해 대칭키(symmetric key) 기반 및 공개키(public key) 기반으로 키워드를 이용하여 암호화된 문서를 검색하는 연구가 활발히 진행되고 있다. 대칭키 기반의 키워드 검색은 사용자 단말이 자신의 대칭키로 데이터를 암호화하여 서버에 저장한 후, 자신의 대칭키를 이용하여 문서를 검색하는 방법으로 데이터 암호화에 사용한 대칭키를 소유한 사용자 단말만이 검색이 가능하다.In order to solve such a search problem, researches for searching documents encrypted using keywords based on symmetric key and public key have been actively conducted. In the keyword search based on symmetric key, the user terminal encrypts the data with its symmetric key and stores it in the server, and then searches the document using its symmetric key. Search is possible.

그리고, 공개키 기반의 키워드 검색 기법은 암호화된 데이터와 함께 데이터검색 정보를 사용자 단말의 공개키로 암호화하여 서버에 저장한다. 이때, 암호화에 사용된 공개키에 대응되는 비밀키를 소유한 사람만이 검색이 가능한 기법이다. 그러나 대칭키 및 공개키 기반 검색 방법은, 특정 사용자 단말만이 검색이 가능하다. 따라서 이러한 기법은 여러 사용자 단말이 공공의 서버를 통해 데이터를 공유하는 환경에는 적합하지 않다.In addition, the public key-based keyword retrieval technique encrypts the data retrieval information with the public key of the user terminal together with the encrypted data and stores the data retrieval in the server. At this time, only the person who owns the secret key corresponding to the public key used for encryption can search. However, in a symmetric key and public key based search method, only a specific user terminal can search. Therefore, this technique is not suitable for an environment in which multiple user terminals share data through public servers.

만약 N명의 사용자 단말이 서로의 데이터를 공유하는 환경이라면 데이터를 업로드하는 사용자 단말은 N명의 사용자 단말 모두에 대해서 문서 검색이 가능하도록 같은 데이터를 N번 암호화하여 저장하여야 한다. 이는 저장량 측면에서 매우 비효율적이다.If the N user terminals share data with each other, the user terminal uploading the data must encrypt and store the same data N times so that a document can be searched for all N user terminals. This is very inefficient in terms of storage.

한편, 최근에는 다자간 데이터 공유 환경에서 사용자 단말들의 프라이버시를 보호하면서도 문서 검색이 가능한 방법이 제안되었다. 그러나, 데이터를 업로드할 수 있는 사용자 단말이 특정한 한 명뿐이어서, 데이터 업로드가 가능한 사용자 단말은 데이터를 업로드 하기 전에 먼저 데이터를 다운로드 받을 다른 사용자 단말들을 정한 후, 해당 다른 사용자 단말들만이 데이터를 다운로드 받을 수 있도록 데이터를 암호화하여 저장한다. 따라서 이러한 방법은 여러 사용자 단말들이 자신의 데이터를 업로드하는 환경에는 적합하지 않다.On the other hand, in recent years, a method for searching a document while protecting the privacy of user terminals in a multi-party data sharing environment has been proposed. However, since there is only one specific user terminal capable of uploading data, the user terminal capable of uploading data first determines other user terminals to download the data before uploading the data, and then only those other user terminals can download the data. Encrypt the data so that it can be stored. Therefore, this method is not suitable for an environment in which several user terminals upload their data.

또한 사전에 검색 가능한 사용자 단말들을 지정하기 때문에 추후 가입자나 탈퇴자가 발생하였을 경우 그에 따른 관리가 어렵다. 예를 들어, 탈퇴자 처리(revocation)를 위해 브로드캐스트 암호화(broadcast encryption)를 사용하기 때문에 탈퇴자 발생 시마다 다른 모든 사용자 단말들이 새로운 값을 갱신해야 하는 번거로움이 따른다. 또한 가입자나 탈퇴자 처리를 위해 모든 데이터에 대한 암호화된 인덱스를 수정해야 하므로 가입자나 탈퇴자 처리가 매우 비효율적이다.In addition, since the user terminals that can be searched in advance are designated, it is difficult to manage the subscribers or withdrawals in the future. For example, since broadcast encryption is used for the revocation process, every other user terminal needs to update a new value every time the withdrawal occurs. In addition, the subscriber or withdrawal process is very inefficient because the encrypted index of all data must be modified for the subscriber or withdrawal process.

그리고, 암호화된 데이터에 대해 여러 사용자 단말들이 자신의 데이터를 업로드하고 다운로드받을 수 있는 환경으로 다자간 데이터 공유 환경에 적합한 방법도 있으나, 탈퇴자의 수동적 공격(passive attack)에 대해 안전하지 못한 측면이 있다. 즉, 기존 사용자 단말이 탈퇴할 경우 문서를 검색할 수는 없으나 다른 사용자 단말이 검색하는 데이터를 도청(eavesdropping)할 경우 도청한 모든 데이터에 대한 복호화가 가능하게 된다.In addition, there are methods suitable for a multi-party data sharing environment in which various user terminals upload and download their own data with respect to the encrypted data. However, there is an insecure aspect against a passive attack of the withdrawal. That is, when the user terminal withdraws, the document cannot be searched, but when eavesdropping the data searched by another user terminal, all the eavesdropping data can be decrypted.

본 발명의 일 실시예는 다자간 보안성이 보장될 수 있고, 효율적으로 암호화된 문서를 검색할 수 있는 다자간 검색 시스템 및 그 방법을 제공하는 데에 그 목적이 있다.One embodiment of the present invention is to provide a multi-party retrieval system and method that can be guaranteed multi-party security, and can efficiently retrieve encrypted documents.

또한, 본 발명의 일 실시예는 효과적이고 편리한 탈퇴자 처리 및 암호화된 문서에 대한 키워드 검색을 요청한 사용자의 쿼리에 대해, 해당 쿼리에 포함된 키워드에 관련된 암호화된 문서를 검색하여 전송하되, 암호화된 문서를 산출된 문서 암호화키를 이용하여 복호화시킬 수 있도록 함으로써, 외부 공격자에 의한 데이터 도청 문제를 해소시키는 다자간 검색 시스템 및 그 방법을 제공하는 데에 그 목적이 있다.In addition, an embodiment of the present invention, while searching for and transmitting an encrypted document related to a keyword included in the query, for an effective and convenient withdrawal processing and a query of a user requesting a keyword search for an encrypted document, the encrypted document It is an object of the present invention to provide a multi-party retrieval system and a method for solving the problem of data eavesdropping by an external attacker by enabling the decryption using the calculated document encryption key.

또한, 본 발명의 일 실시예는 키워드로 검색하고자 하는 암호화된 문서에 대해 사용자가 정당하게 발급받은 자신의 비밀키를 이용하여 쿼리를 생성함으로써, 외부 공격자가 악의적인 목적으로 정당한 쿼리를 생성할 수 없게 하여, 쿼리에 대한 안정성이 확보될 수 있는 다자간 검색 시스템 및 그 방법을 제공하는 데에 그 목적이 있다.In addition, an embodiment of the present invention by generating a query using the private key that the user has been duly issued for the encrypted document to be searched by keyword, an external attacker can create a legitimate query for malicious purposes It is an object of the present invention to provide a multi-party retrieval system and its method, which can ensure the stability of a query.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 다자간 검색 시스템은 사용자 등록 요청에 따라, 사용자 등록을 요청한 사용자의 사용자 단말에 제 1 비밀키를 발급하고, 제 1 비밀키가 포함되도록 생성한 제 2 비밀키 및 사용자의 식별정보를 문서 관리부에 제공하는 사용자 관리부, 사용자 단말로부터 수신한 난수 및 제 2 비밀키를 이용하여, 문서를 암호화하는 문서 암호화키의 생성에 사용되는 제 1 생성키 및 문서에 대한 키워드를 암호화하는 키워드 인덱스 생성키의 생성에 사용되는 제 2 생성키를 생성하여 사용자 단말에 제공하고, 사용자 단말로부터 수신한 암호화된 문서 및 암호화된 키워드를 저장하는 문서 관리부를 포함하되, 암호화된 문서는 제 1 생성키에 기초하여 생성된 문서 암호화키에 의하여 사용자 단말에서 암호화된 것이고, 암호화된 키워드는 제 2 생성키에 기초하여 생성된 키워드 인덱스 생성키에 의하여 사용자 단말에서 암호화된 것이다.As a technical means for achieving the above technical problem, the multilateral retrieval system according to the first aspect of the present invention, according to the user registration request, issuing a first secret key to the user terminal of the user who requested the user registration, the first secret A user management unit that provides a document management unit with a second secret key generated to include a key and identification information of the user, a random number received from a user terminal, and a second secret key used to generate a document encryption key for encrypting a document. Generating a second generation key used to generate the keyword index generation key for encrypting the first generation key and the keyword for the document and providing the second generation key to the user terminal, and storing the encrypted document and the encrypted keyword received from the user terminal. Including a document management unit, the encrypted document is used by the document encryption key generated based on the first generation key The encrypted keyword is encrypted in the user terminal, and the encrypted keyword is encrypted in the user terminal by the keyword index generation key generated based on the second generation key.

여기서, 사용자 단말은 사용자의 키워드 입력에 따라 키워드, 사용자의 식별정보 및 사용자 단말의 제 1 비밀키가 포함된 쿼리값을 생성하여 문서 관리부로 전송하고, 문서 관리부로부터 수신한 암호화된 문서를 복호화한다.Here, the user terminal generates a query value including the keyword, the user's identification information, and the first secret key of the user terminal according to the user's keyword input, transmits the query value to the document manager, and decrypts the encrypted document received from the document manager. .

그리고, 문서 관리부는 사용자가 사용자 리스트에 등록된 사용자인 경우, 쿼리값 및 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 암호화된 문서 및 암호화된 문서에 대한 제 1 생성키를 사용자 단말로 전송한다.When the user is a user registered in the user list, the document manager calculates a keyword index generation key based on the query value and the user's second secret key, and searches for an encrypted document corresponding to the calculated keyword index generation key. Then, the encrypted document and the first generation key for the encrypted document are transmitted to the user terminal.

또한, 사용자 단말은 문서 관리부로부터 수신한 제 1 생성키로부터 암호화된 문서에 대한 문서 암호화키를 산출하고, 산출한 문서 암호화키에 기초하여 암호화된 문서를 복호화한다.Further, the user terminal calculates a document encryption key for the encrypted document from the first generation key received from the document management unit, and decrypts the encrypted document based on the calculated document encryption key.

또한, 문서 관리부는, 사용자 등록을 요청한 사용자의 식별정보 및 제 1 비밀키가 포함되도록 생성한 제 2 비밀키를 사용자별로 관리하는 사용자 리스트 관리부, 사용자 단말로부터 수신한 난수 및 제 2 비밀키를 이용하여 문서 암호화키의 생성에 사용되는 제 1 생성키 및 키워드 인덱스 생성키의 생성에 사용되는 제 2 생성키를 생성하는 키 생성부, 암호화된 문서 및 암호화된 키워드를 저장하는 암호화 데이터 저장부 및 쿼리값 및 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 암호화된 문서 및 암호화된 문서에 대한 제 1 생성키를 사용자 단말로 전송하는 데이터 검색부를 포함한다.The document manager may further include a user list manager that manages a second secret key generated for each user to include identification information of the user who requested user registration and a first secret key, a random number received from a user terminal, and a second secret key. A key generation unit for generating a first generation key used for generation of a document encryption key and a second generation key for generation of a keyword index generation key, an encrypted data storage unit for storing an encrypted document and an encrypted keyword, and a query Calculates a keyword index generation key based on the value and the second secret key of the user, searches for an encrypted document corresponding to the calculated keyword index generation key, and uses the first generation key for the encrypted document and the encrypted document. It includes a data search unit for transmitting to the terminal.

여기서, 사용자 리스트 관리부는, 사용자 탈퇴를 요청한 사용자의 식별정보 및 사용자 탈퇴를 요청한 사용자의 제 2 비밀키를 사용자 리스트로부터 제거한다.Here, the user list manager removes the identification information of the user who requested to withdraw the user and the second secret key of the user who requested to withdraw the user from the user list.

또한, 사용자 단말은, 문서 암호화키를 생성하여 문서 관리부에 저장할 문서를 암호화하고, 키워드 인덱스 생성키를 생성하여 문서에 대한 키워드를 암호화하는 데이터 암호화부, 사용자의 키워드 입력에 따라 키워드, 사용자의 식별정보 및 사용자 단말의 제 1 비밀키가 포함된 쿼리값을 생성하는 쿼리 생성부 및 문서 관리부로부터 수신한 제 1 생성키로부터 암호화된 문서에 대한 문서 암호화키를 산출하고, 산출한 문서 암호화키에 기초하여 암호화된 문서를 복호화하는 데이터 복호화부를 포함한다.Also, the user terminal generates a document encryption key to encrypt a document to be stored in the document management unit, and generates a keyword index generation key to encrypt a keyword for the document, a keyword according to the user's keyword input, identification of the user A document encryption key for the encrypted document is calculated from the query generation unit for generating a query value including the information and the first secret key of the user terminal and the first generation key received from the document management unit, and based on the calculated document encryption key. And a data decryption unit for decrypting the encrypted document.

또한, 사용자 관리부는, 사용자 등록을 요청한 사용자의 식별정보를 사용자 리스트로 관리하는 사용자 리스트 관리부 및 사용자 관리부의 비밀키를 이용하여 사용자 등록을 요청한 사용자의 사용자 단말에 발급할 제 1 비밀키 및 문서 관리부에 제공할 제 1 비밀키가 포함되도록 생성한 제 2 비밀키를 생성하는 키 생성부를 포함한다.In addition, the user manager may include a user list manager that manages identification information of a user who has requested user registration as a user list and a first secret key and document manager that will be issued to a user terminal of a user who has requested user registration using a private key of the user manager. And a key generator for generating a second secret key generated to include a first secret key to be provided to the.

본 발명의 제 2 측면에 따른 다자간 검색 방법은 사용자 관리장치가 사용자 등록 요청에 따라, 사용자 등록을 요청한 사용자의 사용자 단말에 제 1 비밀키를 발급하고, 제 1 비밀키가 포함되도록 생성한 제 2 비밀키 및 사용자의 식별정보를 문서 서버에 제공하는 단계, 문서 서버가 사용자 단말로부터 수신한 난수 및 제 2 비밀키를 이용하여 문서를 암호화하는 문서 암호화키의 생성에 사용되는 제 1 생성키 및 문서에 대한 키워드를 암호화하는 키워드 인덱스 생성키의 생성에 사용되는 제 2 생성키를 생성하여 사용자 단말에 제공하는 단계 및 문서 서버가 문서 암호화키를 이용하여 암호화된 문서 및 키워드 인덱스 생성키를 이용하여 암호화된 키워드를 사용자 단말로부터 수신하여 저장하는 단계를 포함하되, 문서 암호화키는 제 1 생성키에 기초하여 생성되고, 키워드 인덱스 생성키는 제 2 생성키에 기초하여 생성된 것이다.In the multi-party retrieval method according to the second aspect of the present invention, in response to a user registration request, the user management apparatus issues a first secret key to a user terminal of a user who has requested a user registration, and generates a second secret key to be included. Providing a secret key and identification information of the user to the document server; a first generating key and a document used for generating a document encryption key for encrypting a document using a random number received from the user terminal and a second secret key; Generating and providing a second generation key used to generate a keyword index generation key for encrypting a keyword to the user terminal and encrypting the document server using a document and keyword index generation key encrypted using the document encryption key And receiving the stored keyword from the user terminal, wherein the document encryption key is based on the first generation key. And gender, keywords, the index generated key is generated based on the second generation key.

여기서, 문서 서버가 사용자가 사용자 리스트에 등록된 사용자인 경우, 사용자 단말로부터 수신한 쿼리값 및 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 암호화된 문서 및 암호화된 문서에 대한 제 1 생성키를 사용자 단말로 전송하는 단계를 더 포함한다.Here, when the document server is a user registered in the user list, the document server calculates a keyword index generation key based on the query value received from the user terminal and the user's second secret key, and corresponds to the calculated keyword index generation key. Retrieving the encrypted document, and transmitting the encrypted document and a first generation key for the encrypted document to the user terminal.

이때, 사용자 단말은 사용자의 키워드 입력에 따라 키워드, 사용자의 식별정보 및 사용자 단말의 제 1 비밀키가 포함된 쿼리값을 생성한다.In this case, the user terminal generates a query value including the keyword, the user's identification information, and the first secret key of the user terminal according to the user's keyword input.

또한, 사용자 단말은 문서 서버로부터 수신한 제 1 생성키로부터 암호화된 문서에 대한 문서 암호화키를 산출하고, 산출한 문서 암호화키에 기초하여 암호화된 문서를 복호화한다.The user terminal also calculates a document encryption key for the encrypted document from the first generation key received from the document server, and decrypts the encrypted document based on the calculated document encryption key.

본 발명의 제 3 측면에 따른 다자간 검색 시스템은 사용자 등록 요청에 따라, 사용자 등록을 요청한 사용자의 사용자 단말에 제 1 비밀키를 발급하고, 제 1 비밀키가 포함되도록 생성한 제 2 비밀키 및 사용자의 식별정보를 문서 서버에 제공하는 사용자 관리장치, 문서 암호화키를 생성하여 문서 서버에 저장할 문서를 암호화하고, 키워드 인덱스 생성키를 생성하여 문서에 대한 키워드를 암호화하며, 암호화된 문서 및 암호화된 키워드를 문서 서버로 전송하는 사용자 단말, 사용자 단말로부터 수신한 난수 및 제 2 비밀키를 이용하여 문서 암호화키의 생성에 사용되는 제 1 생성키 및 키워드 인덱스 생성키의 생성에 사용되는 제 2 생성키를 생성하여 사용자 단말에 제공하고, 사용자 단말로부터 수신한 암호화된 문서 및 암호화된 키워드를 저장하는 문서 서버를 포함하되, 사용자 단말은 제 1 생성키에 기초하여 문서 암호화키를 생성하고, 제 2 생성키에 기초하여 키워드 인덱스 생성키를 생성한다.In accordance with a third aspect of the present invention, a multilateral retrieval system according to a user registration request, issues a first secret key to a user terminal of a user who has requested a user registration, and generates a second secret key and a user to include the first secret key. The user management device that provides the identification information of the document server, generates a document encryption key to encrypt the document to be stored in the document server, generates a keyword index generation key to encrypt the keyword for the document, encrypted documents and encrypted keywords Using the user terminal for transmitting the document server to the document server, the random number received from the user terminal, and the second secret key used for generating the document encryption key and the second generated key used for generating the keyword index generation key. Documents generated and provided to the user terminal and storing the encrypted document and the encrypted keyword received from the user terminal And a server, wherein the user terminal generates a document encryption key based on the first generation key, and generates a keyword index generation key based on the second generation key.

여기서, 사용자 단말은 사용자의 키워드 입력에 따라 키워드, 사용자의 식별정보 및 사용자 단말의 제 1 비밀키가 포함된 쿼리값을 생성하여 문서 서버로 전송하고, 문서 서버로부터 수신한 암호화된 문서를 복호화한다.Here, the user terminal generates a query value including the keyword, the user's identification information, and the first secret key of the user terminal according to the user's keyword input, transmits the query value to the document server, and decrypts the encrypted document received from the document server. .

그리고, 문서 서버는 사용자가 사용자 리스트에 등록된 사용자인 경우, 쿼리값 및 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 암호화된 문서 및 암호화된 문서에 대한 제 1 생성키를 사용자 단말로 전송한다.When the user is a user registered in the user list, the document server calculates a keyword index generation key based on the query value and the user's second secret key, and searches for an encrypted document corresponding to the calculated keyword index generation key. Then, the encrypted document and the first generation key for the encrypted document are transmitted to the user terminal.

또한, 사용자 단말은 문서 서버로부터 수신한 제 1 생성키로부터 암호화된 문서에 대한 문서 암호화키를 산출하고, 산출한 문서 암호화키에 기초하여 암호화된 문서를 복호화한다.The user terminal also calculates a document encryption key for the encrypted document from the first generation key received from the document server, and decrypts the encrypted document based on the calculated document encryption key.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 다자간 보안성이 보장될 수 있으며, 효율적으로 암호화된 문서를 검색할 수 있다.According to any one of the problem solving means of the present invention described above, multilateral security can be ensured, it is possible to search the encrypted document efficiently.

또한, 전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 효과적이고 편리한 탈퇴자 처리 및 암호화된 문서에 대한 키워드 검색을 요청한 사용자의 쿼리에 대해, 해당 쿼리에 포함된 키워드에 관련된 암호화된 문서를 검색하여 전송하되, 암호화된 문서를 산출된 문서 암호화키를 이용하여 복호화시킬 수 있도록 함으로써, 외부 공격자에 의한 데이터 도청 문제를 해소시킬 수 있다.In addition, according to any one of the above-described problem solving means of the present invention, with respect to the query of the user who requested an effective and convenient withdrawal processing and the keyword search for the encrypted document, the encrypted document related to the keyword included in the query is retrieved And transmit the encrypted document using the calculated document encryption key, thereby eliminating the problem of data eavesdropping by an external attacker.

또한, 전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 키워드로 검색하고자 하는 암호화된 문서에 대해 사용자가 정당하게 발급받은 자신의 비밀키를 이용하여 쿼리를 생성함으로써, 외부 공격자가 악의적인 목적으로 정당한 쿼리를 생성할 수 없게 하여, 쿼리에 대한 안정성이 확보될 수 있다.In addition, according to any one of the above problem solving means of the present invention, by generating a query using the private key that the user has duly issued for the encrypted document to be searched by the keyword, the external attacker has a malicious purpose This makes it impossible to create a valid query, so that the stability of the query can be secured.

도 1은 본 발명의 일 실시예에 따른 다자간 검색 시스템의 구성을 도시한다.
도 2는 본 발명의 일 실시예에 따른 사용자 관리장치의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 문서 서버의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 사용자 단말의 블록도이다.
도 5는 본 발명의 일 실시예에 따른 다자간 검색 시스템의 셋업, 등록, 탈퇴 과정을 나타낸다.
도 6은 본 발명의 일 실시예에 따른 다자간 검색 시스템의 저장 과정을 나타낸다.
도 7은 본 발명의 일 실시예에 따른 다자간 검색 시스템의 쿼리 및 검색 과정을 나타낸다.
도 8은 본 발명의 일 실시예에 따른 다자간 검색 방법의 순서도이다.
1 is a block diagram of a multi-party search system according to an exemplary embodiment of the present invention.
2 is a block diagram of a user management apparatus according to an embodiment of the present invention.
3 is a block diagram of a document server according to an embodiment of the present invention.
4 is a block diagram of a user terminal according to an embodiment of the present invention.
5 is a diagram illustrating a setup, registration, and withdrawal process of a multi-party search system according to an embodiment of the present invention.
6 illustrates a storage process of a multi-party search system according to an embodiment of the present invention.
7 illustrates a query and search process of a multi-party search system according to an embodiment of the present invention.
8 is a flowchart of a multi-party search method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain component, which means that it may further include other components, except to exclude other components unless otherwise stated.

도 1은 본 발명의 일 실시예에 따른 다자간 검색 시스템의 구성을 도시한다.1 is a block diagram of a multi-party search system according to an exemplary embodiment of the present invention.

도 1에 도시된 바와 같이, 다자간 검색 시스템은 사용자 관리장치(이하, “

Figure pat00001
”라고도 함)(100), 문서 서버(이하 “
Figure pat00002
”라고도 함)(200) 및 사용자 단말(이하, “
Figure pat00003
” 라고도 함)(300)를 포함한다.As shown in FIG. 1, the multi-party retrieval system has a user management apparatus (hereinafter, “
Figure pat00001
100, document server (hereinafter referred to as “
Figure pat00002
200 and user terminal (hereinafter referred to as “
Figure pat00003
300 ”.

사용자 관리장치(100)는 사용자 등록 요청에 따라, 사용자 등록을 요청한 사용자의 사용자 단말(300)에 제 1 비밀키를 발급하고, 제 1 비밀키가 포함되도록 생성한 제 2 비밀키 및 사용자의 식별정보를 문서 서버(200)에 제공한다.According to the user registration request, the user management apparatus 100 issues a first secret key to the user terminal 300 of the user who requested the user registration, and identifies the second secret key and the user generated to include the first secret key. Information is provided to the document server 200.

문서 서버(200)는 사용자 관리장치(100)로부터 수신한 사용자의 식별정보 및 제 2 비밀키를 저장한다. 또한, 문서 서버(200)는 암호화된 문서 및 해당 문서에 대한 암호화된 키워드를 포함하는 암호화된 데이터를 사용자 단말(300)로부터 수신하여 저장한다. 구체적으로, 암호화된 데이터는 다수의 속성들로 구성된

Figure pat00004
개의 데이터(
Figure pat00005
)가 암호화된 형태이며, 속성 중의 하나는 문서를 검색하기 위한 키워드를 포함할 수 있다.The document server 200 stores the identification information and the second secret key of the user received from the user management apparatus 100. In addition, the document server 200 receives and stores encrypted data including an encrypted document and an encrypted keyword for the document from the user terminal 300. Specifically, encrypted data consists of multiple attributes
Figure pat00004
Data (
Figure pat00005
) Is in encrypted form, and one of the attributes may include a keyword for searching for a document.

또한, 문서 서버(200)는 문서 암호화키를 생성하기 위한 제 1 생성키 및 문서에 대한 키워드를 암호화하는 키워드 인덱스 생성키를 생성하기 위한 제 2 생성키를 사용자 단말(300)로부터 수신한 난수 및 제 2 비밀키를 이용하여 생성하여 사용자 단말(300)로 제공할 수 있다.In addition, the document server 200 may generate a random number received from the user terminal 300 with a first generation key for generating a document encryption key and a second generation key for generating a keyword index generation key for encrypting a keyword for a document; The second secret key may be generated and provided to the user terminal 300.

또한, 문서 서버(200)는 사용자가 사용자 리스트에 등록된 사용자인 경우, 사용자 단말(300)로부터 수신한 쿼리값 및 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 암호화된 문서 및 암호화된 문서에 대한 생성키를 사용자 단말(300)로 전송한다.In addition, when the user is a user registered in the user list, the document server 200 calculates a keyword index generation key based on the query value received from the user terminal 300 and the second secret key of the user, and calculates the keyword. The encrypted document corresponding to the index generation key is searched, and the encrypted document and the generation key for the encrypted document are transmitted to the user terminal 300.

사용자 단말(300)은 문서 암호화키를 생성하여 문서 서버(200)에 저장할 문서를 암호화하고, 키워드 인덱스 생성키를 생성하여 문서에 대한 키워드를 암호화하며, 암호화된 문서 및 암호화된 키워드를 문서 서버(200)로 전송한다. 이때, 사용자 단말(300)은 문서 서버(200)로부터 수신한 제 1 생성키에 기초하여 문서 암호화키를 생성하고, 제 2 생성키에 기초하여 키워드 인덱스 생성키를 생성할 수 있다.The user terminal 300 generates a document encryption key to encrypt a document to be stored in the document server 200, generates a keyword index generation key to encrypt a keyword for the document, and converts the encrypted document and the encrypted keyword into a document server ( 200). In this case, the user terminal 300 may generate a document encryption key based on the first generation key received from the document server 200, and generate a keyword index generation key based on the second generation key.

또한, 사용자 단말(300)은 사용자의 키워드 입력에 따라 키워드, 사용자의 식별정보 및 사용자 단말(300)의 제 1 비밀키가 포함된 쿼리값을 생성하여 문서 서버(200)로 전송하고, 문서 서버(200)로부터 수신한 암호화된 문서를 복호화할 수 있다.In addition, the user terminal 300 generates a query value including the keyword, the user's identification information and the first secret key of the user terminal 300 according to the user's keyword input and transmits to the document server 200, the document server The encrypted document received from 200 may be decrypted.

여기서, 사용자 단말(300)은 암호화된 문서 및 암호화된 문서에 대한 생성키를 문서 서버(200)로부터 수신하고, 해당 생성키로부터 암호화된 문서에 대한 문서 암호화키를 산출하고, 산출한 문서 암호화키에 기초하여 암호화된 문서를 복호화할 수 있다.Here, the user terminal 300 receives the encrypted document and the generation key for the encrypted document from the document server 200, calculates a document encryption key for the encrypted document from the generation key, and calculates the document encryption key Based on the encrypted document can be decrypted.

이하, 도 2 내지 도 4를 통해 다자간 검색 시스템의 각 구성요소에 대해서 보다 자세히 설명하기로 한다.Hereinafter, each component of the multilateral search system will be described in more detail with reference to FIGS. 2 to 4.

도 2는 본 발명의 일 실시예에 따른 사용자 관리장치의 블록도이다.2 is a block diagram of a user management apparatus according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 사용자 관리장치(100)는 사용자 리스트 관리부(110) 및 키 생성부(120)를 포함한다.As shown in FIG. 2, the user management apparatus 100 includes a user list manager 110 and a key generator 120.

사용자 리스트 관리부(110)는 사용자 등록을 요청한 사용자의 식별정보를 사용자 리스트로 관리한다. 예컨대, 사용자 리스트 관리부(110)는 사용자 등록을 요청한 사용자의 식별정보를 사용자 관리장치(100)의 사용자 리스트에 포함시키거나, 사용자 탈퇴를 요청한 사용자의 식별정보를 사용자 관리장치(100)의 사용자 리스트로부터 제거할 수 있다.The user list manager 110 manages identification information of a user who has requested user registration as a user list. For example, the user list manager 110 may include identification information of a user who has requested user registration in a user list of the user management apparatus 100 or include identification information of a user who has requested to withdraw the user from the user list of the user management apparatus 100. Can be removed from.

키 생성부(120)는 사용자 관리장치(100)의 비밀키를 이용하여 사용자 등록을 요청한 사용자의 사용자 단말(300)에게 발급할 제 1 비밀키 및 문서 서버(200)에 제공할 제 1 비밀키가 포함되도록 생성한 제 2 비밀키를 생성한다.The key generation unit 120 uses the secret key of the user management apparatus 100 to provide the first secret key to be issued to the user terminal 300 of the user who has requested the user registration and the first secret key to be provided to the document server 200. Generate a second secret key generated to include.

도 3은 본 발명의 일 실시예에 따른 문서 서버의 블록도이다.3 is a block diagram of a document server according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 문서 서버(200)는 사용자 리스트 관리부(210), 암호화 데이터 저장부(220), 키 생성부(230) 및 데이터 검색부(240)를 포함한다.As shown in FIG. 3, the document server 200 includes a user list manager 210, an encrypted data storage 220, a key generator 230, and a data searcher 240.

사용자 리스트 관리부(210)는 사용자 등록을 요청한 사용자의 식별정보 및 제 1 비밀키가 포함되도록 생성한 제 2 비밀키를 사용자별로 관리한다. 여기서 사용자 리스트 관리부(210)는, 사용자 탈퇴를 요청한 사용자의 식별정보 및 사용자 탈퇴를 요청한 사용자의 제 2 비밀키를 사용자 리스트로부터 제거할 수 있다.The user list manager 210 manages a second secret key generated for each user to include identification information of the user who requested user registration and a first secret key. Here, the user list manager 210 may remove the identification information of the user who has requested to withdraw the user and the second secret key of the user who has requested to withdraw the user from the user list.

따라서, 탈퇴한 사용자의 식별정보 및 비밀키가 삭제되므로, 탈퇴한 외부 사용자로부터 문서를 안전하게 보호할 수 있다.Therefore, since the identification information and the secret key of the withdrawn user are deleted, the document can be securely protected from the withdrawn external user.

암호화 데이터 저장부(220)는 사용자 단말(300)로부터 수신한 암호화된 문서 및 암호화된 키워드를 저장한다.The encrypted data storage unit 220 stores the encrypted document and the encrypted keyword received from the user terminal 300.

키 생성부(230)는 사용자 단말(300)로부터 수신한 난수 및 제 2 비밀키를 이용하여 문서 암호화키의 생성에 사용되는 제 1 생성키 및 키워드 인덱스 생성키의 생성에 사용되는 제 2 생성키를 생성한다. The key generation unit 230 uses the random number and the second secret key received from the user terminal 300 to generate the first generation key used for generating the document encryption key and the second generation key used for generating the keyword index generation key. Create

여기서, 제 1 생성키 및 제 2 생성키는 사용자 단말(300)로 전달되어, 각각 문서를 암호화하는 문서 암호화키 및 문서에 대한 키워드를 암호화하는 키워드 인덱스 생성키를 생성하는 데에 이용될 수 있다.Here, the first generation key and the second generation key may be delivered to the user terminal 300 and used to generate a document encryption key for encrypting a document and a keyword index generation key for encrypting a keyword for the document, respectively. .

데이터 검색부(240)는 사용자 단말(300)로부터 수신한 쿼리값 및 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 검색된 암호화된 문서 및 암호화된 문서에 대한 생성키를 사용자 단말(300)로 전송한다.The data retrieval unit 240 calculates a keyword index generation key based on the query value received from the user terminal 300 and the user's second secret key, and retrieves an encrypted document corresponding to the calculated keyword index generation key. The searched encrypted document and a generation key for the encrypted document are transmitted to the user terminal 300.

여기서, 사용자 단말(300)은 검색된 암호화된 문서 및 암호화된 문서에 대한 생성키를 문서 서버(200)로부터 수신하고, 해당 생성키로부터 암호화된 문서에 대한 문서 암호화키를 산출하고, 산출한 문서 암호화키에 기초하여 암호화된 문서를 복호화할 수 있게 된다.Here, the user terminal 300 receives the retrieved encrypted document and a generation key for the encrypted document from the document server 200, calculates a document encryption key for the encrypted document from the corresponding generation key, and calculates the document encryption. It is possible to decrypt the encrypted document based on the key.

따라서, 암호화된 문서에 대한 키워드 검색을 요청한 사용자의 쿼리에 대해, 해당 쿼리에 포함된 키워드에 관련된 암호화된 문서를 검색하여 전송하되, 암호화된 문서를 산출된 문서 암호화키를 이용하여 복호화시킬 수 있도록 함으로써, 외부 공격자에 의한 데이터 도청 문제를 해소시킬 수 있게 된다.Therefore, for the query of the user who requested the keyword search for the encrypted document, the encrypted document related to the keyword included in the query is searched and transmitted, and the encrypted document can be decrypted using the calculated document encryption key. By doing so, it is possible to solve the problem of data eavesdropping by external attacker.

도 4는 본 발명의 일 실시예에 따른 사용자 단말의 블록도이다.4 is a block diagram of a user terminal according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 사용자 단말(300)는 식별정보 관리 요청부(310), 데이터 암호화부(320), 쿼리 생성부(330) 및 데이터 복호화부(340)를 포함한다.As shown in FIG. 4, the user terminal 300 includes an identification information management request unit 310, a data encryption unit 320, a query generator 330, and a data decryption unit 340.

식별정보 관리 요청부(310)는 사용자 관리장치(100)로 사용자의 식별정보를 전송하여 식별정보에 대한 등록 또는 탈퇴 요청을 수행한다.The identification information management request unit 310 transmits identification information of the user to the user management apparatus 100 to perform a request for registration or withdrawal of the identification information.

데이터 암호화부(320)는 문서 암호화키를 생성하여 문서 서버(200)에 저장할 문서를 암호화하고, 키워드 인덱스 생성키를 생성하여 문서에 대한 키워드를 암호화한다. 이때, 제 1 생성키에 기초하여 문서 암호화키를 생성하고, 제 2 생성키에 기초하여 키워드 인덱스 생성키를 생성할 수 있다.The data encryption unit 320 generates a document encryption key to encrypt a document to be stored in the document server 200, and generates a keyword index generation key to encrypt a keyword for the document. In this case, the document encryption key may be generated based on the first generation key, and the keyword index generation key may be generated based on the second generation key.

쿼리 생성부(330)는 사용자의 키워드 입력에 따라 키워드, 사용자의 식별정보 및 사용자 단말(300)의 제 1 비밀키가 포함된 쿼리값을 생성한다.The query generator 330 generates a query value including a keyword, user identification information, and a first secret key of the user terminal 300 according to a user's keyword input.

데이터 복호화부(340)는 암호화된 문서 및 암호화된 문서에 대한 생성키를 문서 서버(200)로부터 수신하고, 해당 생성키로부터 암호화된 문서에 대한 문서 암호화키를 산출하고, 산출한 문서 암호화키에 기초하여 암호화된 문서를 복호화한다.The data decryption unit 340 receives the encrypted document and the generation key for the encrypted document from the document server 200, calculates a document encryption key for the encrypted document from the generation key, and calculates the calculated document encryption key. Decrypt the encrypted document on the basis of

한편 이하의 본 발명의 실시예에서, 예컨대

Figure pat00006
표기는 집합
Figure pat00007
의 원소
Figure pat00008
를 랜덤하게 선택하는 것을 나타내며,
Figure pat00009
는 집합
Figure pat00010
의 크기를 나타낸다. 또한,
Figure pat00011
표기는 알고리즘 에서
Figure pat00013
를 출력하는 것을 나타낸다. 그리고
Figure pat00014
표기는 모든 양의 정수
Figure pat00015
에 대하여 정수
Figure pat00016
가 존재하고,
Figure pat00017
를 만족할 때 무시할 수 있을 만큼 작은 값으로 수렴하는 함수(negligible function)로 정의된다.Meanwhile, in the following embodiments of the present invention, for example,
Figure pat00006
Notation is a set
Figure pat00007
Element of
Figure pat00008
Indicates a random selection of
Figure pat00009
Set
Figure pat00010
Indicates the size. Also,
Figure pat00011
Notation Algorithm in
Figure pat00013
Outputs. And
Figure pat00014
Notation is any positive integer
Figure pat00015
Against integer
Figure pat00016
Is present,
Figure pat00017
Is defined as a negligible function that converges to a value that can be ignored when satisfying.

또한, 본 발명의 실시예에서 이용되는 의사난수 함수(pseudorandom function)는 난수 함수(random function)의 출력 값과 효율적으로 구별이 불가능한 출력 값을 가지는 함수로 정의된다. 구체적으로 의사난수 함수는

Figure pat00018
In addition, a pseudorandom function used in an embodiment of the present invention is defined as a function having an output value that cannot be efficiently distinguished from an output value of a random function. Specifically, pseudorandom functions
Figure pat00018

로 정의될 수 있으며, 여기서

Figure pat00019
는 시드(seed) 값의 비트수,
Figure pat00020
은 입력 값의 비트수,
Figure pat00021
은 출력 값의 비트수를 나타낸다. Can be defined as
Figure pat00019
Is the number of bits in the seed,
Figure pat00020
Is the number of bits in the input value,
Figure pat00021
Represents the number of bits in the output value.

또한, 본 발명의 실시예에서 이용되는 암호학적 해시 함수(예컨대, 후술될

Figure pat00022
,
Figure pat00023
)는 일반적으로 의사난수 함수로부터 모델링된다. 이때, 의사난수 함수 중에서 입력 값의 비트수와 출력 값의 비트수가 같을 경우, 이것을 의사난수 치환(pseudorandom permutation)이라고 정의한다. 구체적으로 의사난수 치환은
Figure pat00024
Further, cryptographic hash functions (e.g., described below) used in embodiments of the present invention
Figure pat00022
,
Figure pat00023
) Is usually modeled from a pseudorandom function. In this case, when the number of bits of the input value and the number of bits of the output value in the pseudo random number function are the same, this is defined as pseudorandom permutation. Specifically, pseudo random number substitution
Figure pat00024

로 정의될 수 있다. 일반적으로 안전한 대칭키 암호화 기법은 의사난수 치환을 이용하여 모델링된다. 예컨대, 후술될

Figure pat00025
가 의사 난수 치환으로,
Figure pat00026
가 의사 난수 함수로 모델링될 수 있다.It can be defined as. In general, secure symmetric key cryptography is modeled using pseudo-random substitution. For example, to be described later
Figure pat00025
Is a pseudo random number substitution,
Figure pat00026
Can be modeled as a pseudo-random function.

또한, 본 발명의 실시예에서는 겹선형 사상(bilinear maps)을 제공하는 소수 위수의 어떤 유한군을 이용한다. 예컨대

Figure pat00027
Figure pat00028
이 소수 위수
Figure pat00029
를 가지는 두 개의 군이라 하고, 겹선형 사상을
Figure pat00030
라고 하면, 이하의 (가) 내지 (다)를 만족한다.In addition, embodiments of the present invention employ some finite group of prime numbers that provide bilinear maps. for example
Figure pat00027
Wow
Figure pat00028
This decimal number
Figure pat00029
Are called two groups with
Figure pat00030
In this case, the following (a) to (c) are satisfied.

(가) 모든

Figure pat00031
와 모든
Figure pat00032
에 대해
Figure pat00033
를 만족한다. 참고로,
Figure pat00034
는 암호화에 이용되는 대칭키를 나타내고,
Figure pat00035
는 상수를 나타낸다.(A) All
Figure pat00031
And all
Figure pat00032
About
Figure pat00033
. Note that,
Figure pat00034
Represents the symmetric key used for encryption,
Figure pat00035
Represents a constant.

(나) 만약

Figure pat00036
가 군
Figure pat00037
의 생성자이면,
Figure pat00038
는 군
Figure pat00039
의 생성자이다.(B) if
Figure pat00036
Gagun
Figure pat00037
If is a constructor of,
Figure pat00038
County
Figure pat00039
Is the constructor of.

(다) 임의의 원소 에 대해

Figure pat00041
는 계산하기 쉬워야 한다.(C) arbitrary elements About
Figure pat00041
Should be easy to calculate.

또한, 본 발명의 실시예에서 이용되는 BLS 짧은 서명(short signature)은, Boneh 등에 의해 제안된 겹선형 사상에 기반을 둔 서명 기법이다. 예컨대, 후술될 BLS 짧은 서명의 변수들인

Figure pat00042
를 겹선형 사상과 동일하게 정의하고,
Figure pat00043
를 군
Figure pat00044
의 생성자, 충돌 저항성 해시 함수를
Figure pat00045
, 사용자 단말의 서명키를
Figure pat00046
, 검증키를
Figure pat00047
라고 정의한다. In addition, the BLS short signature used in the embodiment of the present invention is a signature technique based on the parallelism proposed by Boneh et al. For example, the BLS short signature variables
Figure pat00042
Defines the same as the double line mapping,
Figure pat00043
County
Figure pat00044
Constructor, collision-resistant hash function
Figure pat00045
, The signature key of the user terminal
Figure pat00046
, Validation key
Figure pat00047
It is defined as.

여기서, 메시지

Figure pat00048
에 대한 서명을
Figure pat00049
라고 하면, 이에 대한 검증은
Figure pat00050
을 통해 가능하다. BLS 짧은 서명은 CDH(Computational Diffie-Hellman) 문제의 어려움에 기반하여 랜덤 오라클 모델에서 서명 위조 불가능성을 만족한다.Where message
Figure pat00048
Sign for
Figure pat00049
If you say, the verification
Figure pat00050
It is possible through. The BLS short signature satisfies the signature forgery in the random Oracle model based on the difficulty of the Computational Diffie-Hellman problem.

이하 도 5 내지 도 7을 통해 각 과정에 따른 다자간 키워드 검색을 제공하는 다자간 검색 시스템의 동작에 대해서 구체적으로 설명하기로 한다.Hereinafter, an operation of the multiparty search system that provides multiparty keyword search according to each process will be described in detail with reference to FIGS. 5 to 7.

도 5는 본 발명의 일 실시예에 따른 다자간 검색 시스템의 셋업, 사용자 등록, 사용자 탈퇴 과정을 나타낸다.5 is a diagram illustrating a setup, user registration, and user withdrawal process of a multi-party search system according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 셋업(Setup) 과정에 있어서, 사용자 관리장치(100)는 공개 파라미터(

Figure pat00051
)와 자신의 비밀키(
Figure pat00052
)를 생성한다. As shown in FIG. 5, in the setup process, the user management apparatus 100 may display a public parameter (
Figure pat00051
) And your private key (
Figure pat00052
)

구체적으로 설명하자면, 사용자 관리장치(100)는 시큐리티 파라미터(security parameter)(예컨대

Figure pat00053
)를 이용하여 공개 파라미터(params)를 설정하고, 자신의 비밀키(
Figure pat00054
)를 랜덤하게 선택한다. Specifically, the user management apparatus 100 may include a security parameter (for example, a security parameter).
Figure pat00053
Set public parameters with your own private key (
Figure pat00054
) Is randomly selected.

그리고 안전한 대칭키 암호화 기법(

Figure pat00055
), 충돌 저항성(collision resistance) 해시함수(
Figure pat00056
), 해시함수의 시드값(
Figure pat00057
)을 랜덤하게 선택하고, 시드를 포함하는 충돌 저항성 해시함수(
Figure pat00058
)를 설정한다. 여기서
Figure pat00059
는 키들의 집합,
Figure pat00060
는 시드들의 집합,
Figure pat00061
는 키워드들의 집합을 나타낸다.And secure symmetric key cryptography (
Figure pat00055
), Collision resistance hash function (
Figure pat00056
), The seed of the hash function (
Figure pat00057
) And randomly select the collision-resistant hash function containing the seed (
Figure pat00058
). here
Figure pat00059
Is a set of keys,
Figure pat00060
Is a set of seeds,
Figure pat00061
Represents a set of keywords.

다음으로 사용자 등록(Join) 과정에 있어서, 사용자가 사용자 관리장치(100)로 사용자 등록을 요청하면, 사용자 관리장치(100)는 자신의 비밀키 값(

Figure pat00062
)을 이용하여 사용자 등록을 요청한 사용자에게 제공할 비밀키(
Figure pat00063
)를 생성하여 발급한다. Next, in the user registration (Join) process, when the user requests the user registration to the user management apparatus 100, the user management apparatus 100 has its own secret key value (
Figure pat00062
Secret key to be provided to the user who requested user registration using
Figure pat00063
) And issue it.

보다 자세히 설명하자면, 사용자 등록을 원하는 사용자가 사용자 관리장치(100)로 식별정보(

Figure pat00064
)(또는 고유정보)를 전송하면, 사용자 관리장치(100)은 해당 식별정보(
Figure pat00065
)를 사용자 관리장치측 사용자 리스트(
Figure pat00066
)에 포함시킨다. In more detail, the user who wants to register a user identification information (
Figure pat00064
(Or unique information), the user management apparatus 100 is the corresponding identification information (
Figure pat00065
) User management device side user list (
Figure pat00066
).

그리고 사용자 관리장치(100)는 사용자의 비밀키

Figure pat00067
(제 1 비밀키)를 랜덤하게 선택하고, 자신의 비밀키(
Figure pat00068
) 및 제 1 비밀키를 이용하여 문서 서버(200)에 제공할 비밀키
Figure pat00069
(제 2 비밀키)를 생성한다. 여기서, 제 2 비밀키는 사용자의 식별정보(
Figure pat00070
)에 대응된 정보일 수 있다.And the user management apparatus 100 is the user's secret key
Figure pat00067
Randomly select (the first secret key),
Figure pat00068
And a secret key to be provided to the document server 200 using the first secret key.
Figure pat00069
Create a (second secret key). Here, the second secret key is the identification information of the user (
Figure pat00070
) May correspond to information.

또한, 사용자 관리장치(100)는 사용자 단말(300)에 제 1 비밀키 및 해시함수의 시드값(

Figure pat00071
), 문서 서버(200)에 사용자의 식별정보 및 제 2 비밀키(
Figure pat00072
)를 각각 전송한다. 여기서, 문서 서버(200)는 자신의 사용자 리스트(
Figure pat00073
)에 사용자의 식별정보 및 제 2 비밀키를 포함시킨다.In addition, the user management apparatus 100 transmits the seed value of the first secret key and the hash function to the user terminal 300.
Figure pat00071
), The identification information of the user and the second secret key (
Figure pat00072
) Respectively. Here, the document server 200 has its own user list (
Figure pat00073
) Includes the user's identification information and the second secret key.

다음으로 사용자 탈퇴(Revoke) 과정에 있어서, 사용자 관리장치(100)는 사용자 탈퇴를 요청한 사용자(

Figure pat00074
)를 사용자 리스트(
Figure pat00075
)에서 제거하고, 문서 서버(200)에 해당 사용자의 식별정보(
Figure pat00076
)를 전송한다. 그러면, 문서 서버(200)는 자신의 사용자 리스트(
Figure pat00077
)에서 사용자 탈퇴를 요청한 사용자의 식별정보 및 제 2 비밀키(
Figure pat00078
)를 제거하게 된다.Next, in the user withdrawal (Revoke) process, the user management apparatus 100 is a user (requesting to withdraw the user)
Figure pat00074
) List of users (
Figure pat00075
) And the identification information of the user in the document server 200 (
Figure pat00076
). Then, the document server 200 has its own user list (
Figure pat00077
Identification information and the second private key (
Figure pat00078
) Will be removed.

도 6은 본 발명의 일 실시예에 따른 다자간 검색 시스템의 저장 과정을 나타낸다.6 illustrates a storage process of a multi-party search system according to an embodiment of the present invention.

도 6에 도시된 바와 같이, 데이터 저장(Store) 과정에 있어서, 사용자 단말(300)는 사용자 관리장치(100)로부터 수신한

Figure pat00079
(즉,
Figure pat00080
)를 이용하여 문서(
Figure pat00081
)와 상기 문서에 대한 키워드(
Figure pat00082
)를 암호화한 암호화된 데이터(
Figure pat00083
)를 문서 서버(200)로 전송한다.As shown in FIG. 6, in the data store process, the user terminal 300 receives the user management device 100 from the user management apparatus 100.
Figure pat00079
(In other words,
Figure pat00080
) To view the document (
Figure pat00081
) And keywords for these documents (
Figure pat00082
) Encrypted data (
Figure pat00083
) Is transmitted to the document server 200.

그러면, 문서 서버(200)는 해당 사용자의 식별정보(

Figure pat00084
)가 사용자 리스트(
Figure pat00085
)에 등록되었는지 여부를 검사하고,
Figure pat00086
Figure pat00087
에 저장한다. 참고로, 문서 서버(200)에
Figure pat00088
(양의 정수) 번째 저장되는 문서와 키워드를 각각
Figure pat00089
라고 하면,
Figure pat00090
를 암호화한 암호화된 데이터는
Figure pat00091
로 표기되고, 이러한
Figure pat00092
들의 집합은
Figure pat00093
로 표기된다.Then, the document server 200 identifies the user's identification information (
Figure pat00084
) List of users (
Figure pat00085
) Is registered as
Figure pat00086
To
Figure pat00087
Store in For reference, the document server 200
Figure pat00088
(Positive integer) the second stored document and keywords
Figure pat00089
Speaking of
Figure pat00090
Encrypted data is encrypted
Figure pat00091
Denoted as
Figure pat00092
Set of things
Figure pat00093
It is indicated by.

보다 구체적으로 설명하자면, 사용자 단말(300)는 문서(

Figure pat00094
)를 암호화하기 위한 문서 암호화키(
Figure pat00095
) 및 키워드(
Figure pat00096
)에 대한 키워드 인덱스 생성키(
Figure pat00097
)를 생성하기 위해, 먼저 난수(
Figure pat00098
)와 난수(
Figure pat00099
)를 랜덤하게 선택하고, 난수화된 키워드(
Figure pat00100
) 정보를 포함하는
Figure pat00101
를 생성하여 문서 서버(200)로 전송한다. 여기서,
Figure pat00102
Figure pat00103
는 난수화 값으로 각각
Figure pat00104
Figure pat00105
를 생성할 때 사용될 수 있다.More specifically, the user terminal 300 is a document (
Figure pat00094
Document encryption key (
Figure pat00095
) And keywords (
Figure pat00096
Keyword index key for)
Figure pat00097
To generate), first create a random number (
Figure pat00098
) And random numbers (
Figure pat00099
) Randomly, and randomized keywords (
Figure pat00100
) Containing information
Figure pat00101
Generate and transmit to the document server 200. here,
Figure pat00102
And
Figure pat00103
Are randomized values, respectively
Figure pat00104
And
Figure pat00105
Can be used when generating

그러면 문서 서버(200)는 해당 사용자의 식별정보(

Figure pat00106
)가 등록되어 있는지 여부를 검사하고, 문서 암호화키 및 키워드 인덱스 생성키(
Figure pat00107
Figure pat00108
)를 생성하기 위한 제 1 및 제 2 생성키 값(
Figure pat00109
Figure pat00110
)을 상술된 겹선형 사상 함수를 이용하여 아래 수학식 (1) 및 (2)와 같이 생성해서 사용자 단말(300)로 전송한다. The document server 200 then identifies the user's identification information (
Figure pat00106
) Is registered, and the document encryption key and keyword index generation key (
Figure pat00107
And
Figure pat00108
First and second generation key values () for generating
Figure pat00109
And
Figure pat00110
) Is generated as shown in the following equations (1) and (2) by using the above-described layered mapping function and transmitted to the user terminal 300.

[수학식 1][Equation 1]

Figure pat00111
Figure pat00111

[수학식 2][Equation 2]

Figure pat00112
Figure pat00112

여기서, 상술된 사용자 관리장치(100)로부터 수신한 사용자의 식별정보에 대응되는 제 2 비밀키 값(

Figure pat00113
) 및 난수화된 키워드(
Figure pat00114
) 정보를 포함하는
Figure pat00115
정보가 이용될 수 있다. Here, the second secret key value corresponding to the identification information of the user received from the user management apparatus 100 described above (
Figure pat00113
) And randomized keywords (
Figure pat00114
) Containing information
Figure pat00115
Information may be used.

그리고, 상술된 탈퇴한 사용자 단말은 해당 사용자 단말의 제 2 비밀키(

Figure pat00116
) 정보가 사용자 리스트(
Figure pat00117
)에서 삭제되어 있으므로, 근본적으로 문서를 검색하기 위한 키워드에 대한 키워드 인덱스 생성키가 생성될 수 없다.In addition, the withdrawn user terminal described above may have a second secret key (
Figure pat00116
Information in the user list (
Figure pat00117
), A keyword index generation key for a keyword for searching a document can not be generated.

그리고, 사용자 단말(300)는 문서 서버(200)로부터 수신한 제 1 및 제 2 생성키 값(

Figure pat00118
Figure pat00119
)을 이용하여 문서(
Figure pat00120
)를 암호화하기 위한 문서 암호화키(
Figure pat00121
) 및 키워드(
Figure pat00122
)에 대한 키워드 인덱스 생성키(
Figure pat00123
)를 아래 수학식 (3) 및 (4)와 같이 생성할 수 있다. 이때, 사용자 관리장치(100)로부터 수신한 제 1 비밀키가 이용될 수 있다.In addition, the user terminal 300 receives the first and second generation key values received from the document server 200 (
Figure pat00118
And
Figure pat00119
) To view the document (
Figure pat00120
Document encryption key (
Figure pat00121
) And keywords (
Figure pat00122
Keyword index key for)
Figure pat00123
) Can be generated as in Equations (3) and (4) below. In this case, the first secret key received from the user management apparatus 100 may be used.

[수학식 3]&Quot; (3) "

Figure pat00124
Figure pat00124

[수학식 4]&Quot; (4) "

Figure pat00125
Figure pat00125

여기서, 사용자 단말(300)는 저장하기 원하는 문서(

Figure pat00126
)를 문서 암호화키 값(
Figure pat00127
)을 이용하여
Figure pat00128
로 암호화하고,
Figure pat00129
를 검색하기 위한 키워드를 인덱스 생성키 값(
Figure pat00130
)을 이용하여 암호화한다. 이때, 랜덤한 난수(
Figure pat00131
)를 선택하고, 해당 난수(
Figure pat00132
) 및 키워드 인덱스 생성키 값(
Figure pat00133
)을 이용하여 암호화된 키워드(
Figure pat00134
)를 생성할 수 있다.Here, the user terminal 300 is a document that you want to save (
Figure pat00126
) Is the document encryption key value (
Figure pat00127
)
Figure pat00128
Encrypted with
Figure pat00129
Create a keyword to search for an index key value (
Figure pat00130
) To encrypt. Where random random numbers (
Figure pat00131
), Select the appropriate random number (
Figure pat00132
) And keyword index generation key values (
Figure pat00133
) Encrypted using
Figure pat00134
) Can be created.

여기서, 난수(

Figure pat00135
)를 적용시킴으로써, 같은 키워드에도 다른 인덱스 값을 생성하게 되어 외부 공격자에 의한 정보 노출의 위험을 막을 수 있게 된다.Where random number (
Figure pat00135
By applying), different index values can be generated for the same keyword, thereby preventing the risk of information disclosure by an external attacker.

다음으로, 사용자 단말(300)는 수학식 5와 같이 암호화된 데이터에 대한 집합을 생성하여 문서 서버(200)에 저장한다. 여기서, 인덱스(

Figure pat00136
)에 난수(
Figure pat00137
) 및 해당 난수가 적용된 암호화된 키워드(
Figure pat00138
)가 문서 서버(200)에 전송되어진다.Next, the user terminal 300 generates a set of encrypted data as shown in Equation 5 and stores it in the document server 200. Where index (
Figure pat00136
) To random numbers
Figure pat00137
) And encrypted keywords with their random numbers (
Figure pat00138
) Is transmitted to the document server 200.

[수학식 5][Equation 5]

Figure pat00139
Figure pat00139

도 7은 본 발명의 일 실시예에 따른 다자간 검색 시스템의 쿼리 및 검색 과정을 나타낸다.7 illustrates a query and search process of a multi-party search system according to an embodiment of the present invention.

도 7에 도시된 바와 같이, 조회(Query) 과정에 있어서, 사용자 단말(300)는 사용자의 식별정보, 키워드 및 자신의 제 1 비밀키를 이용하여, 문서 서버(200)에 요청할 쿼리(

Figure pat00140
)를 생성한다. As illustrated in FIG. 7, in the query process, the user terminal 300 requests a document server 200 to request the document server 200 by using the user's identification information, a keyword, and a first secret key thereof.
Figure pat00140
)

즉,

Figure pat00141
을 생성하여 문서 서버(200)로 전송한다. In other words,
Figure pat00141
Create and transmit to the document server 200.

여기서, 사용자 관리장치(100)로부터 수신한 해당 사용자의 제 1 비밀키를 통해 쿼리가 생성되므로, 외부 공격자가 정당한 쿼리를 생성할 수 없게 되어, 쿼리에 대한 안정성이 확보될 수 있다.Here, since the query is generated through the first private key of the user received from the user management apparatus 100, the external attacker can not generate a valid query, the stability of the query can be secured.

검색(Search) 과정에 있어서, 사용자 단말(300)는 문서 서버에 쿼리(

Figure pat00142
)를 전송하고 그에 대응되는 응답 데이터(
Figure pat00143
)를 수신한다. 그리고, 사용자 단말(300)는 응답 데이터로부터 암호화된 문서를 복호화하게 된다.In the search process, the user terminal 300 queries a document server (
Figure pat00142
) And the corresponding response data (
Figure pat00143
). In addition, the user terminal 300 decrypts the encrypted document from the response data.

보다 구체적으로 설명하자면, 사용자 단말(300)로부터 쿼리(

Figure pat00144
)를 수신한 문서 서버(200)는, 사용자 리스트(
Figure pat00145
)에 해당 식별정보가 등록되어 있는지 여부를 확인하고, 만약 등록된 정보가 존재하지 않으면 정당한 사용자 단말이 아니므로 종료한다. 만약 해당 사용자에 대한 등록된 정보가 존재할 경우, 문서 서버(200)는 사용자 단말(300)로부터 수신한 쿼리값 및 해당 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키(
Figure pat00146
)를 다음과 같이 산출한다.In more detail, the query from the user terminal 300 (
Figure pat00144
), The document server 200 receives the user list (
Figure pat00145
Check whether the corresponding identification information is registered, and if the registered information does not exist, the terminal is terminated because it is not a valid user terminal. If there is registered information on the user, the document server 200 generates a keyword index generation key based on the query value received from the user terminal 300 and the second secret key of the user.
Figure pat00146
) Is calculated as follows.

Figure pat00147
Figure pat00147

그리고 문서 서버(200)는,And document server 200,

Figure pat00148
Figure pat00148

의 집합(

Figure pat00149
)중에서 키워드 인덱스 생성키에 대응되는 암호화된 문서를 검색한다. Set of
Figure pat00149
), The encrypted document corresponding to the keyword index generation key is retrieved.

그리고, 검색된 암호화된 문서(

Figure pat00150
) 및 암호화된 문서에 대한 제 1 생성키(
Figure pat00151
)을 생성하여 사용자 단말(300)로 전송한다. Then, the retrieved encrypted document (
Figure pat00150
) And the first generation key for the encrypted document (
Figure pat00151
) Is generated and transmitted to the user terminal 300.

그러면, 사용자 단말(300)는 제 1 생성키를 이용하여 암호화된 문서에 대한 문서 암호화키(

Figure pat00152
)를 아래와 같이 산출하고, 산출한 문서 암호화키에 기초하여 암호화된 문서를 복호화하게 된다.Then, the user terminal 300 is a document encryption key for the document encrypted using the first generation key (
Figure pat00152
) Is calculated as follows, and the encrypted document is decrypted based on the calculated document encryption key.

Figure pat00153
Figure pat00153

도 8은 본 발명의 일 실시예에 따른 다자간 검색 방법의 순서도이다.8 is a flowchart of a multi-party search method according to an embodiment of the present invention.

사용자 단말(300)이 사용자 관리장치(100)에 사용자 등록 요청을 수행한다(S801).The user terminal 300 performs a user registration request to the user management apparatus 100 (S801).

다음으로, 사용자 관리장치(100)가 사용자 등록 요청에 따라, 사용자 등록을 요청한 사용자의 사용자 단말(300)에 제 1 비밀키를 발급한다(S802).Next, in response to the user registration request, the user management apparatus 100 issues a first secret key to the user terminal 300 of the user who requested the user registration (S802).

그리고, 제 1 비밀키가 포함되도록 생성한 제 2 비밀키 및 사용자의 식별정보를 문서 서버(200)에 제공한다(S803).Then, the second secret key generated to include the first secret key and the identification information of the user are provided to the document server 200 (S803).

다음으로, 사용자 단말(300)이 사용자 관리장치(100)에 난수를 전송한다(S804).Next, the user terminal 300 transmits a random number to the user management apparatus 100 (S804).

다음으로, 문서 서버(200)가 사용자 단말(300)로부터 수신한 난수 및 제 2 비밀키를 이용하여 문서 암호화키의 생성에 사용되는 제 1 생성키 및 키워드 인덱스 생성키의 생성에 사용되는 제 2 생성키를 생성하여 사용자 단말(300)에 제공한다(S805).Next, the document server 200 uses the random number and the second secret key received from the user terminal 300 to generate the first generation key and the keyword index generation key used to generate the document encryption key. A generation key is generated and provided to the user terminal 300 (S805).

다음으로, 사용자 단말(300)이 제 1 생성키에 기초하여 문서 암호화키를 생성하고, 제 2 생성키에 기초하여 키워드 인덱스 생성키를 생성한다(S806).Next, the user terminal 300 generates a document encryption key based on the first generation key, and generates a keyword index generation key based on the second generation key (S806).

그리고, 사용자 단말(300)이 제 1 생성키에 기초하여 생성된 문서 암호화키를 이용하여 문서를 암호화하고, 제 2 생성키에 기초하여 생성된 키워드 인덱스 생성키를 이용하여 키워드를 암호화하여 문서 서버(200)로 전송한다(S807, S808).The user terminal 300 encrypts the document using the document encryption key generated based on the first generation key, and encrypts the keyword using the keyword index generation key generated based on the second generation key. In step S807, S808.

다음으로, 문서 서버(200)가 암호화된 문서 및 암호화된 키워드를 사용자 단말(300)로부터 수신하여 저장한다(S809).Next, the document server 200 receives and stores the encrypted document and the encrypted keyword from the user terminal 300 (S809).

다음으로, 사용자 단말(300)이 쿼리값을 생성하여 문서 서버(200)에 전송한다(S810, S811). 여기서, 사용자 단말(300)은 사용자의 키워드 입력에 따라 키워드, 사용자의 식별정보 및 사용자 단말(300)의 제 1 비밀키가 포함된 쿼리값을 생성할 수 있다.Next, the user terminal 300 generates a query value and transmits it to the document server 200 (S810 and S811). Here, the user terminal 300 may generate a query value including a keyword, user identification information, and a first secret key of the user terminal 300 according to a user's keyword input.

다음으로, 문서 서버(200)가 해당 사용자가 사용자 리스트에 등록된 사용자인지 여부를 판단한다(S812). Next, the document server 200 determines whether the corresponding user is a user registered in the user list (S812).

다음으로, 사용자가 사용자 리스트에 등록된 사용자인 경우, 문서 서버(200)가 사용자 단말(300)로부터 수신한 쿼리값 및 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색한다(S813).Next, when the user is a user registered in the user list, the document server 200 calculates a keyword index generation key based on the query value received from the user terminal 300 and the user's second secret key, and calculated The encrypted document corresponding to the keyword index generation key is retrieved (S813).

다음으로, 문서 서버(200)가 암호화된 문서 및 암호화된 문서에 대한 제 1 생성키를 사용자 단말(300)로 전송한다(S814).Next, the document server 200 transmits the encrypted document and the first generation key for the encrypted document to the user terminal 300 (S814).

다음으로, 사용자 단말(300)은 문서 서버(200)로부터 수신한 제 1 생성키로부터 암호화된 문서에 대한 문서 암호화키를 산출하고, 산출한 문서 암호화키에 기초하여 암호화된 문서를 복호화한다(S815).Next, the user terminal 300 calculates a document encryption key for the encrypted document from the first generation key received from the document server 200, and decrypts the encrypted document based on the calculated document encryption key (S815). ).

이후, 문서 서버(200)는 사용자 단말(300)로부터 사용자 탈퇴 요청을 수신한 경우에는, 사용자 탈퇴를 요청한 사용자의 식별정보 및 사용자 탈퇴를 요청한 사용자의 제 2 비밀키를 사용자 리스트로부터 제거하게 된다.Subsequently, when the document server 200 receives the user withdrawal request from the user terminal 300, the document server 200 removes the identification information of the user who requested to withdraw the user and the second secret key of the user who requested to withdraw the user from the user list.

상술된 과정(S801~S809)를 이용하여, 예를 들어, 다른 정당한 사용자(

Figure pat00154
)가 동일한 키워드(
Figure pat00155
)를 이용하여 생성한 쿼리By using the above-described processes (S801 to S809), for example, other legitimate users (
Figure pat00154
) Have the same keyword (
Figure pat00155
Generated using)

즉,

Figure pat00156
을 문서 서버(200)로 전송하면, 문서 서버(200)는 In other words,
Figure pat00156
To the document server 200, the document server 200

Figure pat00157
을 생성한다.
Figure pat00157
.

그러면,

Figure pat00158
이므로, 다른 사용자는 사용자가 저장한 데이터를 암호화된 상태로 전송받을 수 있다. 그리고, 다른 사용자는 문서 서버(200)로부터 전송받은
Figure pat00159
로부터
Figure pat00160
를 생성하고,
Figure pat00161
이므로, 다른 사용자는 사용자가 저장한 암호화된 문서를 정당하게 복호화할 수 있게 된다.then,
Figure pat00158
Therefore, the other user can receive the data stored by the user in an encrypted state. And, the other user received from the document server 200
Figure pat00159
from
Figure pat00160
Creates a,
Figure pat00161
Therefore, another user can just decrypt the encrypted document stored by the user.

따라서, 다수의 사용자들이 안전하고 효율적으로 암호화된 문서에 대한 검색을 수행할 수 있게 된다.Thus, a large number of users can securely and efficiently search for encrypted documents.

한편, 상술된 사용자 관리장치(100) 및 문서 서버(200)는 다자간 검색 시스템에 각각 모듈로 구현될 수 있음은 물론이다. 예컨대, 사용자 관리장치(100)는 사용자 관리부, 문서 서버(200)는 문서 관리부로 다자간 검색 시스템에 구성요소로 포함될 수 있다.On the other hand, the user management apparatus 100 and the document server 200 described above can be implemented in a module, respectively, in the multi-party search system. For example, the user management apparatus 100 may be a user manager, and the document server 200 may be a document manager.

또한, 상술된 도 3의 암호화 데이터 저장부(220)는 캐쉬, ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 및 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자 또는 RAM(Random Access Memory)과 같은 휘발성 메모리 소자 또는 하드디스크 드라이브(HDD, Hard Disk Drive), CD-ROM과 같은 저장 매체 중 적어도 하나로 구현될 수 있으나 이에 한정되지는 않는다. In addition, the above-described encrypted data storage unit 220 of FIG. 3 includes a cache, a read only memory (ROM), a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), and a flash memory (Flash memory). Or a volatile memory device such as a random access memory (RAM) or a storage medium such as a hard disk drive (HDD) or a CD-ROM, but is not limited thereto. .

그리고 도 2 내지 도 4에서 도시된 각각의 구성요소는 일종의 '모듈'로 구성될 수 있다. 상기 '모듈'은 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(ASIC, Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 구성요소들과 모듈들에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다.And each component shown in Figures 2 to 4 may be composed of a kind of 'module'. The term 'module' refers to a hardware component such as software or a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), and the module performs certain roles. However, modules are not meant to be limited to software or hardware. A module may be configured to reside on an addressable storage medium and may be configured to execute one or more processors. The functionality provided by the components and modules may be combined into a smaller number of components and modules or further separated into additional components and modules.

또한 전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.In addition, the above description of the present invention is intended for illustration, and those skilled in the art may understand that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. There will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

그리고 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.And the scope of the present invention is represented by the appended claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts are included in the scope of the present invention. Should be.

100: 사용자 관리장치 110: 사용자 리스트 관리부
120: 키 생성부 200: 문서 서버
210: 사용자 리스트 관리부 220: 암호화 데이터 저장부
230: 키 생성부 240: 데이터 검색부
300: 사용자 단말 310: 식별정보 관리 요청부
320: 데이터 암호화부 330: 쿼리 생성부
340: 데이터 복호화부
100: user management device 110: user list management unit
120: key generation unit 200: document server
210: user list management unit 220: encrypted data storage unit
230: key generation unit 240: data search unit
300: user terminal 310: identification information management request unit
320: data encryption unit 330: query generation unit
340: data decoder

Claims (17)

다자간 검색 시스템에 있어서,
사용자 등록 요청에 따라, 상기 사용자 등록을 요청한 사용자의 사용자 단말에 제 1 비밀키를 발급하고, 상기 제 1 비밀키가 포함되도록 생성한 제 2 비밀키 및 상기 사용자의 식별정보를 문서 관리부에 제공하는 사용자 관리부 및
상기 사용자 단말로부터 수신한 난수 및 상기 제 2 비밀키를 이용하여, 문서를 암호화하는 문서 암호화키의 생성에 사용되는 제 1 생성키 및 상기 문서에 대한 키워드를 암호화하는 키워드 인덱스 생성키의 생성에 사용되는 제 2 생성키를 생성하여 상기 사용자 단말에 제공하고, 상기 사용자 단말로부터 수신한 상기 암호화된 문서 및 암호화된 키워드를 저장하는 문서 관리부를 포함하되,
상기 암호화된 문서는 상기 제 1 생성키에 기초하여 생성된 문서 암호화키에 의하여 상기 사용자 단말에서 암호화된 것이고, 상기 암호화된 키워드는 상기 제 2 생성키에 기초하여 생성된 키워드 인덱스 생성키에 의하여 상기 사용자 단말에서 암호화된 것인 다자간 검색 시스템.
In the multiparty retrieval system,
In response to a user registration request, issuing a first private key to a user terminal of the user who requested the user registration, and providing a second secret key generated to include the first private key and identification information of the user to a document manager; User management and
Using the random number received from the user terminal and the second secret key, the first generation key used to generate the document encryption key for encrypting the document and the keyword index generation key for encrypting the keyword for the document is used. Generating a second generation key to be provided to the user terminal and storing the encrypted document and the encrypted keyword received from the user terminal;
The encrypted document is encrypted in the user terminal by a document encryption key generated based on the first generation key, and the encrypted keyword is generated by the keyword index generation key generated based on the second generation key. Multi-party retrieval system that is encrypted in the user terminal.
제 1 항에 있어서,
상기 사용자 단말은 사용자의 키워드 입력에 따라 상기 키워드, 상기 사용자의 식별정보 및 상기 사용자 단말의 제 1 비밀키가 포함된 쿼리값을 생성하여 상기 문서 관리부로 전송하고, 상기 문서 관리부로부터 수신한 암호화된 문서를 복호화하는 것인 다자간 검색 시스템.
The method of claim 1,
The user terminal generates a query value including the keyword, the identification information of the user, and the first secret key of the user terminal according to a user's keyword input, and transmits the query value to the document manager, and receives the encrypted message received from the document manager. A multiparty retrieval system for decrypting a document.
제 2 항에 있어서,
상기 문서 관리부는 상기 사용자가 사용자 리스트에 등록된 사용자인 경우, 상기 쿼리값 및 상기 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 상기 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 상기 암호화된 문서 및 상기 암호화된 문서에 대한 제 1 생성키를 상기 사용자 단말로 전송하는 것인 다자간 검색 시스템.
The method of claim 2,
When the user is a user registered in the user list, the document manager calculates a keyword index generation key based on the query value and the second secret key of the user, and encrypts the corresponding keyword index generation key. Retrieving a document, and transmitting the encrypted document and a first generation key for the encrypted document to the user terminal.
제 3 항에 있어서,
상기 사용자 단말은 상기 문서 관리부로부터 수신한 상기 제 1 생성키로부터 상기 암호화된 문서에 대한 문서 암호화키를 산출하고, 상기 산출한 문서 암호화키에 기초하여 상기 암호화된 문서를 복호화하는 것인 다자간 검색 시스템.
The method of claim 3, wherein
The user terminal calculates a document encryption key for the encrypted document from the first generation key received from the document management unit, and decrypts the encrypted document based on the calculated document encryption key. .
제 3 항에 있어서,
상기 문서 관리부는,
상기 사용자 등록을 요청한 사용자의 식별정보 및 상기 제 1 비밀키가 포함되도록 생성한 상기 제 2 비밀키를 사용자별로 관리하는 사용자 리스트 관리부,
상기 사용자 단말로부터 수신한 난수 및 상기 제 2 비밀키를 이용하여 상기 문서 암호화키의 생성에 사용되는 제 1 생성키 및 상기 키워드 인덱스 생성키의 생성에 사용되는 제 2 생성키를 생성하는 키 생성부,
상기 암호화된 문서 및 암호화된 키워드를 저장하는 암호화 데이터 저장부 및
상기 쿼리값 및 상기 사용자의 제 2 비밀키에 기초하여 상기 키워드 인덱스 생성키를 산출하고, 상기 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 상기 암호화된 문서 및 상기 암호화된 문서에 대한 제 1 생성키를 상기 사용자 단말로 전송하는 데이터 검색부를 포함하는 다자간 검색 시스템.
The method of claim 3, wherein
The document management unit,
A user list manager which manages the second secret key generated to include the identification information of the user who has requested the user registration and the first secret key for each user;
A key generation unit generating a first generation key used for generating the document encryption key and a second generation key used for generating the keyword index generation key using the random number received from the user terminal and the second secret key ,
An encrypted data storage unit for storing the encrypted document and the encrypted keyword;
The keyword index generation key is calculated based on the query value and the second secret key of the user, and an encrypted document corresponding to the calculated keyword index generation key is searched for. And a data retrieval unit for transmitting the first generation key to the user terminal.
제 5 항에 있어서,
상기 사용자 리스트 관리부는,
사용자 탈퇴를 요청한 사용자의 식별정보 및 상기 사용자 탈퇴를 요청한 사용자의 제 2 비밀키를 상기 사용자 리스트로부터 제거하는 것인 다자간 검색 시스템.
The method of claim 5, wherein
The user list management unit,
And removing the identification information of the user who requested to withdraw the user and the second secret key of the user who requested to withdraw the user from the user list.
제 3 항에 있어서,
상기 사용자 단말은,
상기 문서 암호화키를 생성하여 상기 문서 관리부에 저장할 문서를 암호화하고, 상기 키워드 인덱스 생성키를 생성하여 상기 문서에 대한 키워드를 암호화하는 데이터 암호화부,
상기 사용자의 키워드 입력에 따라 상기 키워드, 상기 사용자의 식별정보 및 상기 사용자 단말의 제 1 비밀키가 포함된 상기 쿼리값을 생성하는 쿼리 생성부 및
상기 문서 관리부로부터 수신한 상기 제 1 생성키로부터 상기 암호화된 문서에 대한 문서 암호화키를 산출하고, 상기 산출한 문서 암호화키에 기초하여 상기 암호화된 문서를 복호화하는 데이터 복호화부를 포함하는 다자간 검색 시스템.
The method of claim 3, wherein
The user terminal,
A data encryption unit generating the document encryption key to encrypt a document to be stored in the document management unit, and generating the keyword index generation key to encrypt a keyword for the document;
A query generator configured to generate the query value including the keyword, identification information of the user, and a first secret key of the user terminal according to a keyword input of the user;
And a data decryption unit for calculating a document encryption key for the encrypted document from the first generation key received from the document manager, and for decrypting the encrypted document based on the calculated document encryption key.
제 1 항에 있어서,
상기 사용자 관리부는,
상기 사용자 등록을 요청한 사용자의 식별정보를 사용자 리스트로 관리하는 사용자 리스트 관리부 및
상기 사용자 관리부의 비밀키를 이용하여 상기 사용자 등록을 요청한 사용자의 사용자 단말에 발급할 상기 제 1 비밀키 및 상기 문서 관리부에 제공할 상기 제 1 비밀키가 포함되도록 생성한 상기 제 2 비밀키를 생성하는 키 생성부를 포함하는 다자간 검색 시스템.
The method of claim 1,
The user management unit,
A user list manager for managing identification information of a user who has requested the user registration as a user list;
Generating the second secret key generated to include the first secret key to be issued to the user terminal of the user who requested the user registration and the first secret key to be provided to the document manager using the secret key of the user manager. Multi-party retrieval system including a key generation unit.
다자간 검색 방법에 있어서,
사용자 관리장치가 사용자 등록 요청에 따라, 상기 사용자 등록을 요청한 사용자의 사용자 단말에 제 1 비밀키를 발급하고, 상기 제 1 비밀키가 포함되도록 생성한 제 2 비밀키 및 상기 사용자의 식별정보를 문서 서버에 제공하는 단계,
상기 문서 서버가 상기 사용자 단말로부터 수신한 난수 및 상기 제 2 비밀키를 이용하여, 문서를 암호화하는 문서 암호화키의 생성에 사용되는 제 1 생성키 및 상기 문서에 대한 키워드를 암호화하는 키워드 인덱스 생성키의 생성에 사용되는 제 2 생성키를 생성하여 상기 사용자 단말에 제공하는 단계 및
상기 문서 서버가 상기 문서 암호화키를 이용하여 암호화된 문서 및 상기 키워드 인덱스 생성키를 이용하여 암호화된 키워드를 상기 사용자 단말로부터 수신하여 저장하는 단계를 포함하되,
상기 문서 암호화키는 상기 제 1 생성키에 기초하여 생성되고, 상기 키워드 인덱스 생성키는 상기 제 2 생성키에 기초하여 생성된 것인
다자간 검색 방법.
In the multiparty search method,
In response to a user registration request, a user management device issues a first secret key to a user terminal of a user who has requested the user registration, and documents a second secret key generated to include the first secret key and identification information of the user. Providing the server,
A first generation key used to generate a document encryption key for encrypting a document and a keyword index generation key for encrypting a keyword for the document using the random number received from the user terminal and the second secret key by the document server Generating and providing a second generation key used for generation of the terminal to the user terminal; and
And receiving, by the document server, a document encrypted using the document encryption key and a keyword encrypted using the keyword index generation key from the user terminal.
The document encryption key is generated based on the first generation key, and the keyword index generation key is generated based on the second generation key.
Multiparty search method.
제 9 항에 있어서,
상기 문서 서버가 상기 사용자가 사용자 리스트에 등록된 사용자인 경우, 상기 사용자 단말로부터 수신한 쿼리값 및 상기 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 상기 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 상기 암호화된 문서 및 상기 암호화된 문서에 대한 제 1 생성키를 상기 사용자 단말로 전송하는 단계를 더 포함하는 다자간 검색 방법.
The method of claim 9,
If the document server is a user registered in the user list, the document server calculates a keyword index generation key based on the query value received from the user terminal and the second secret key of the user, and calculates the keyword index generation key. Retrieving an encrypted document corresponding to and transmitting the encrypted document and a first generation key for the encrypted document to the user terminal.
제 10 항에 있어서,
상기 사용자 단말은 사용자의 키워드 입력에 따라 상기 키워드, 상기 사용자의 식별정보 및 상기 사용자 단말의 제 1 비밀키가 포함된 상기 쿼리값을 생성하는 것인 다자간 검색 방법.
The method of claim 10,
And the user terminal generates the query value including the keyword, identification information of the user, and a first secret key of the user terminal according to a user's keyword input.
제 10 항에 있어서,
상기 사용자 단말은 상기 문서 서버로부터 수신한 상기 제 1 생성키로부터 상기 암호화된 문서에 대한 문서 암호화키를 산출하고, 상기 산출한 문서 암호화키에 기초하여 상기 암호화된 문서를 복호화하는 것인 다자간 검색 방법.
The method of claim 10,
The user terminal calculates a document encryption key for the encrypted document from the first generation key received from the document server, and decrypts the encrypted document based on the calculated document encryption key. .
제 9 항에 있어서,
상기 문서 서버가 사용자 탈퇴를 요청한 사용자의 식별정보 및 상기 사용자 탈퇴를 요청한 사용자의 제 2 비밀키를 사용자 리스트로부터 제거하는 단계를 더 포함하는 다자간 검색 방법.
The method of claim 9,
And removing, by the document server, identification information of a user who has requested to withdraw from the user and a second secret key of the user who has requested to withdraw from the user from the user list.
다자간 검색 시스템에 있어서,
사용자 등록 요청에 따라, 상기 사용자 등록을 요청한 사용자의 사용자 단말에 제 1 비밀키를 발급하고, 상기 제 1 비밀키가 포함되도록 생성한 제 2 비밀키 및 상기 사용자의 식별정보를 문서 서버에 제공하는 사용자 관리장치,
문서 암호화키를 생성하여 상기 문서 서버에 저장할 문서를 암호화하고, 키워드 인덱스 생성키를 생성하여 상기 문서에 대한 키워드를 암호화하며, 상기 암호화된 문서 및 상기 암호화된 키워드를 상기 문서 서버로 전송하는 사용자 단말 및
상기 사용자 단말로부터 수신한 난수 및 상기 제 2 비밀키를 이용하여 상기 문서 암호화키의 생성에 사용되는 제 1 생성키 및 상기 키워드 인덱스 생성키의 생성에 사용되는 제 2 생성키를 생성하여 상기 사용자 단말에 제공하고, 상기 사용자 단말로부터 수신한 상기 암호화된 문서 및 암호화된 키워드를 저장하는 문서 서버를 포함하되,
상기 사용자 단말은 상기 제 1 생성키에 기초하여 상기 문서 암호화키를 생성하고, 상기 제 2 생성키에 기초하여 상기 키워드 인덱스 생성키를 생성하는 것인 다자간 검색 시스템.
In the multiparty retrieval system,
In response to a user registration request, issuing a first secret key to a user terminal of the user who requested the user registration, and providing a document server with a second secret key generated to include the first secret key and identification information of the user; User management device,
A user terminal generating a document encryption key to encrypt a document to be stored in the document server, generating a keyword index generation key to encrypt a keyword for the document, and transmitting the encrypted document and the encrypted keyword to the document server. And
The user terminal is generated by using the random number received from the user terminal and the second secret key to generate a first generation key used to generate the document encryption key and a second generation key used to generate the keyword index generation key. And providing a document server for storing the encrypted document and the encrypted keyword received from the user terminal,
And the user terminal generates the document encryption key based on the first generation key, and generates the keyword index generation key based on the second generation key.
제 14 항에 있어서,
상기 사용자 단말은 사용자의 키워드 입력에 따라 상기 키워드, 상기 사용자의 식별정보 및 상기 사용자 단말의 제 1 비밀키가 포함된 쿼리값을 생성하여 상기 문서 서버로 전송하고, 상기 문서 서버로부터 수신한 암호화된 문서를 복호화하는 것인 다자간 검색 시스템.
The method of claim 14,
The user terminal generates a query value including the keyword, the identification information of the user, and the first secret key of the user terminal according to a keyword input of the user, transmits the query value to the document server, and receives the encrypted message received from the document server. A multiparty retrieval system for decrypting a document.
제 15 항에 있어서,
상기 문서 서버는 상기 사용자가 사용자 리스트에 등록된 사용자인 경우, 상기 쿼리값 및 상기 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 상기 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 상기 암호화된 문서 및 상기 암호화된 문서에 대한 제 1 생성키를 상기 사용자 단말로 전송하는 것인 다자간 검색 시스템.
The method of claim 15,
When the user is a user registered in the user list, the document server calculates a keyword index generation key based on the query value and the second secret key of the user, and encrypts the corresponding keyword index generation key. Retrieving a document, and transmitting the encrypted document and a first generation key for the encrypted document to the user terminal.
제 16 항에 있어서,
상기 사용자 단말은 상기 문서 서버로부터 수신한 상기 제 1 생성키로부터 상기 암호화된 문서에 대한 문서 암호화키를 산출하고, 상기 산출한 문서 암호화키에 기초하여 상기 암호화된 문서를 복호화하는 것인 다자간 검색 시스템.
17. The method of claim 16,
And the user terminal calculates a document encryption key for the encrypted document from the first generation key received from the document server, and decrypts the encrypted document based on the calculated document encryption key. .
KR1020100063390A 2010-07-01 2010-07-01 Multi?user search system and method of encrypted document KR101140576B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100063390A KR101140576B1 (en) 2010-07-01 2010-07-01 Multi?user search system and method of encrypted document

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100063390A KR101140576B1 (en) 2010-07-01 2010-07-01 Multi?user search system and method of encrypted document

Publications (2)

Publication Number Publication Date
KR20120002729A true KR20120002729A (en) 2012-01-09
KR101140576B1 KR101140576B1 (en) 2012-05-02

Family

ID=45609952

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100063390A KR101140576B1 (en) 2010-07-01 2010-07-01 Multi?user search system and method of encrypted document

Country Status (1)

Country Link
KR (1) KR101140576B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180082671A (en) * 2017-01-09 2018-07-19 순천향대학교 산학협력단 Apparatus and method for data encryption and decryption of web storage
CN110166466A (en) * 2019-05-28 2019-08-23 湖南大学 It is a kind of efficiently the multi-user of renewal authority to can search for encryption method and system
KR102278158B1 (en) * 2020-11-20 2021-07-16 주식회사 아이콘루프 Medical information management system and method with enhanced privacy
KR20220068153A (en) * 2020-11-18 2022-05-25 (주)한국아이티평가원 System and method for non-identification of voice signals
WO2022108217A1 (en) * 2020-11-18 2022-05-27 (주)한국아이티평가원 System and method for de-identification of voice signal

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101116607B1 (en) * 2005-04-07 2012-03-15 삼성전자주식회사 Printing apparatus having security funcition and method for the same
KR100899450B1 (en) * 2007-09-21 2009-05-27 고려대학교 산학협력단 Method of similarity string matching from ciphertext, Recording medium and System using by the same

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180082671A (en) * 2017-01-09 2018-07-19 순천향대학교 산학협력단 Apparatus and method for data encryption and decryption of web storage
CN110166466A (en) * 2019-05-28 2019-08-23 湖南大学 It is a kind of efficiently the multi-user of renewal authority to can search for encryption method and system
CN110166466B (en) * 2019-05-28 2020-02-21 湖南大学 Multi-user searchable encryption method and system capable of efficiently updating permissions
KR20220068153A (en) * 2020-11-18 2022-05-25 (주)한국아이티평가원 System and method for non-identification of voice signals
WO2022108217A1 (en) * 2020-11-18 2022-05-27 (주)한국아이티평가원 System and method for de-identification of voice signal
KR102278158B1 (en) * 2020-11-20 2021-07-16 주식회사 아이콘루프 Medical information management system and method with enhanced privacy
US12100489B2 (en) 2020-11-20 2024-09-24 Iconloop Inc. System and method for managing medical information with enhanced personal information protection

Also Published As

Publication number Publication date
KR101140576B1 (en) 2012-05-02

Similar Documents

Publication Publication Date Title
US11381398B2 (en) Method for re-keying an encrypted data file
CN108494768B (en) Ciphertext searching method and system supporting access control
JP5562687B2 (en) Securing communications sent by a first user to a second user
CN103731432B (en) Multi-user supported searchable encryption method
CN106254324B (en) A kind of encryption method and device of storage file
Samanthula et al. A secure data sharing and query processing framework via federation of cloud computing
US10354084B2 (en) System and a method for management of confidential data
Salam et al. Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage
KR20130085491A (en) Multi-user searchable encryption system with index validation and tracing and method thereof
US20230254126A1 (en) Encrypted search with a public key
JP6770075B2 (en) Encrypted message search method, message sending / receiving system, terminal, program
WO2017033843A1 (en) Searchable cryptograph processing system
Ma et al. CP‐ABE‐Based Secure and Verifiable Data Deletion in Cloud
Bhandari et al. A framework for data security and storage in Cloud Computing
CN110610102A (en) Data access method, device and system
KR101140576B1 (en) Multi?user search system and method of encrypted document
KR20210058313A (en) Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment
Tian et al. An efficient scheme of cloud data assured deletion
Chen et al. Password-authenticated searchable encryption
Suveetha et al. Ensuring confidentiality of cloud data using homomorphic encryption
KR101422759B1 (en) Secure method for data store and share in data outsourcing
Yan et al. Secure and efficient big data deduplication in fog computing
CN108920968B (en) File searchable encryption method based on connection keywords
KR20220011449A (en) Data access control system based anonymous user attribute and method thereof
Kumar et al. AMulti-Stage Cloud Security for Cloud Datausing Amalgamate Data Security

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160225

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170403

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190411

Year of fee payment: 8