KR101140576B1 - Multi?user search system and method of encrypted document - Google Patents
Multi?user search system and method of encrypted document Download PDFInfo
- Publication number
- KR101140576B1 KR101140576B1 KR1020100063390A KR20100063390A KR101140576B1 KR 101140576 B1 KR101140576 B1 KR 101140576B1 KR 1020100063390 A KR1020100063390 A KR 1020100063390A KR 20100063390 A KR20100063390 A KR 20100063390A KR 101140576 B1 KR101140576 B1 KR 101140576B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- document
- key
- encrypted
- user terminal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6272—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database 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
다자간 검색 시스템은 사용자 등록 요청에 따라, 사용자 등록을 요청한 사용자의 사용자 단말에 제 1 비밀키를 발급하고, 제 1 비밀키가 포함되도록 생성한 제 2 비밀키 및 사용자의 식별정보를 문서 관리부에 제공하는 사용자 관리부, 사용자 단말로부터 수신한 난수 및 제 2 비밀키를 이용하여, 문서를 암호화하는 문서 암호화키의 생성에 사용되는 제 1 생성키 및 문서에 대한 키워드를 암호화하는 키워드 인덱스 생성키의 생성에 사용되는 제 2 생성키를 생성하여 사용자 단말에 제공하고, 사용자 단말로부터 수신한 암호화된 문서 및 암호화된 키워드를 저장하는 문서 관리부를 포함하되, 암호화된 문서는 제 1 생성키에 기초하여 생성된 문서 암호화키에 의하여 사용자 단말에서 암호화된 것이고, 암호화된 키워드는 제 2 생성키에 기초하여 생성된 키워드 인덱스 생성키에 의하여 사용자 단말에서 암호화된 것이다.The multiparty retrieval system issues a first secret key to a user terminal of a user who has requested a user registration in response to a user registration request, and provides the document management unit with a second secret key generated to include the first secret key and identification information of the user. 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. A document management unit for generating and providing a second generation key to be used to the user terminal and storing the encrypted document and the encrypted keyword received from the user terminal, wherein the encrypted document is generated based on the first generation key. The encryption key is encrypted at the user terminal by an encryption key, and the encrypted keyword is a key generated based on the second generation key. It encrypted to the user terminal by de index generation key.
Description
본 발명은 보안성이 보장되고, 효율적인 키워드 검색을 제공하는 다자간 검색 시스템 및 그 방법에 관한 것이다.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 referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part 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에 도시된 바와 같이, 다자간 검색 시스템은 사용자 관리장치(이하, “”라고도 함)(100), 문서 서버(이하 “”라고도 함)(200) 및 사용자 단말(이하, “” 라고도 함)(300)를 포함한다.As shown in FIG. 1, the multi-party retrieval system has a user management apparatus (hereinafter, “ 100, document server (hereinafter referred to as “ 200 and user terminal (hereinafter referred to as “ 300 ”.
사용자 관리장치(100)는 사용자 등록 요청에 따라, 사용자 등록을 요청한 사용자의 사용자 단말(300)에 제 1 비밀키를 발급하고, 제 1 비밀키가 포함되도록 생성한 제 2 비밀키 및 사용자의 식별정보를 문서 서버(200)에 제공한다.According to the user registration request, the
문서 서버(200)는 사용자 관리장치(100)로부터 수신한 사용자의 식별정보 및 제 2 비밀키를 저장한다. 또한, 문서 서버(200)는 암호화된 문서 및 해당 문서에 대한 암호화된 키워드를 포함하는 암호화된 데이터를 사용자 단말(300)로부터 수신하여 저장한다. 구체적으로, 암호화된 데이터는 다수의 속성들로 구성된 개의 데이터()가 암호화된 형태이며, 속성 중의 하나는 문서를 검색하기 위한 키워드를 포함할 수 있다.The
또한, 문서 서버(200)는 문서 암호화키를 생성하기 위한 제 1 생성키 및 문서에 대한 키워드를 암호화하는 키워드 인덱스 생성키를 생성하기 위한 제 2 생성키를 사용자 단말(300)로부터 수신한 난수 및 제 2 비밀키를 이용하여 생성하여 사용자 단말(300)로 제공할 수 있다.In addition, the
또한, 문서 서버(200)는 사용자가 사용자 리스트에 등록된 사용자인 경우, 사용자 단말(300)로부터 수신한 쿼리값 및 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 암호화된 문서 및 암호화된 문서에 대한 생성키를 사용자 단말(300)로 전송한다.In addition, when the user is a user registered in the user list, the
사용자 단말(300)은 문서 암호화키를 생성하여 문서 서버(200)에 저장할 문서를 암호화하고, 키워드 인덱스 생성키를 생성하여 문서에 대한 키워드를 암호화하며, 암호화된 문서 및 암호화된 키워드를 문서 서버(200)로 전송한다. 이때, 사용자 단말(300)은 문서 서버(200)로부터 수신한 제 1 생성키에 기초하여 문서 암호화키를 생성하고, 제 2 생성키에 기초하여 키워드 인덱스 생성키를 생성할 수 있다.The
또한, 사용자 단말(300)은 사용자의 키워드 입력에 따라 키워드, 사용자의 식별정보 및 사용자 단말(300)의 제 1 비밀키가 포함된 쿼리값을 생성하여 문서 서버(200)로 전송하고, 문서 서버(200)로부터 수신한 암호화된 문서를 복호화할 수 있다.In addition, the
여기서, 사용자 단말(300)은 암호화된 문서 및 암호화된 문서에 대한 생성키를 문서 서버(200)로부터 수신하고, 해당 생성키로부터 암호화된 문서에 대한 문서 암호화키를 산출하고, 산출한 문서 암호화키에 기초하여 암호화된 문서를 복호화할 수 있다.Here, the
이하, 도 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
사용자 리스트 관리부(110)는 사용자 등록을 요청한 사용자의 식별정보를 사용자 리스트로 관리한다. 예컨대, 사용자 리스트 관리부(110)는 사용자 등록을 요청한 사용자의 식별정보를 사용자 관리장치(100)의 사용자 리스트에 포함시키거나, 사용자 탈퇴를 요청한 사용자의 식별정보를 사용자 관리장치(100)의 사용자 리스트로부터 제거할 수 있다.The
키 생성부(120)는 사용자 관리장치(100)의 비밀키를 이용하여 사용자 등록을 요청한 사용자의 사용자 단말(300)에게 발급할 제 1 비밀키 및 문서 서버(200)에 제공할 제 1 비밀키가 포함되도록 생성한 제 2 비밀키를 생성한다.The
도 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
사용자 리스트 관리부(210)는 사용자 등록을 요청한 사용자의 식별정보 및 제 1 비밀키가 포함되도록 생성한 제 2 비밀키를 사용자별로 관리한다. 여기서 사용자 리스트 관리부(210)는, 사용자 탈퇴를 요청한 사용자의 식별정보 및 사용자 탈퇴를 요청한 사용자의 제 2 비밀키를 사용자 리스트로부터 제거할 수 있다.The
따라서, 탈퇴한 사용자의 식별정보 및 비밀키가 삭제되므로, 탈퇴한 외부 사용자로부터 문서를 안전하게 보호할 수 있다.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
키 생성부(230)는 사용자 단말(300)로부터 수신한 난수 및 제 2 비밀키를 이용하여 문서 암호화키의 생성에 사용되는 제 1 생성키 및 키워드 인덱스 생성키의 생성에 사용되는 제 2 생성키를 생성한다. The
여기서, 제 1 생성키 및 제 2 생성키는 사용자 단말(300)로 전달되어, 각각 문서를 암호화하는 문서 암호화키 및 문서에 대한 키워드를 암호화하는 키워드 인덱스 생성키를 생성하는 데에 이용될 수 있다.Here, the first generation key and the second generation key may be delivered to the
데이터 검색부(240)는 사용자 단말(300)로부터 수신한 쿼리값 및 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 검색된 암호화된 문서 및 암호화된 문서에 대한 생성키를 사용자 단말(300)로 전송한다.The
여기서, 사용자 단말(300)은 검색된 암호화된 문서 및 암호화된 문서에 대한 생성키를 문서 서버(200)로부터 수신하고, 해당 생성키로부터 암호화된 문서에 대한 문서 암호화키를 산출하고, 산출한 문서 암호화키에 기초하여 암호화된 문서를 복호화할 수 있게 된다.Here, the
따라서, 암호화된 문서에 대한 키워드 검색을 요청한 사용자의 쿼리에 대해, 해당 쿼리에 포함된 키워드에 관련된 암호화된 문서를 검색하여 전송하되, 암호화된 문서를 산출된 문서 암호화키를 이용하여 복호화시킬 수 있도록 함으로써, 외부 공격자에 의한 데이터 도청 문제를 해소시킬 수 있게 된다.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
식별정보 관리 요청부(310)는 사용자 관리장치(100)로 사용자의 식별정보를 전송하여 식별정보에 대한 등록 또는 탈퇴 요청을 수행한다.The identification information
데이터 암호화부(320)는 문서 암호화키를 생성하여 문서 서버(200)에 저장할 문서를 암호화하고, 키워드 인덱스 생성키를 생성하여 문서에 대한 키워드를 암호화한다. 이때, 제 1 생성키에 기초하여 문서 암호화키를 생성하고, 제 2 생성키에 기초하여 키워드 인덱스 생성키를 생성할 수 있다.The
쿼리 생성부(330)는 사용자의 키워드 입력에 따라 키워드, 사용자의 식별정보 및 사용자 단말(300)의 제 1 비밀키가 포함된 쿼리값을 생성한다.The
데이터 복호화부(340)는 암호화된 문서 및 암호화된 문서에 대한 생성키를 문서 서버(200)로부터 수신하고, 해당 생성키로부터 암호화된 문서에 대한 문서 암호화키를 산출하고, 산출한 문서 암호화키에 기초하여 암호화된 문서를 복호화한다.The
한편 이하의 본 발명의 실시예에서, 예컨대 표기는 집합 의 원소 를 랜덤하게 선택하는 것을 나타내며, 는 집합 의 크기를 나타낸다. 또한, 표기는 알고리즘 에서 를 출력하는 것을 나타낸다. 그리고 표기는 모든 양의 정수 에 대하여 정수 가 존재하고, 를 만족할 때 무시할 수 있을 만큼 작은 값으로 수렴하는 함수(negligible function)로 정의된다.Meanwhile, in the following embodiments of the present invention, for example, Notation is a set Element of Indicates a random selection of Set Indicates the size. Also, Notation Algorithm in Outputs. And Notation is any positive integer Against integer Is present, Is defined as a negligible function that converges to a value that can be ignored when satisfying.
또한, 본 발명의 실시예에서 이용되는 의사난수 함수(pseudorandom function)는 난수 함수(random function)의 출력 값과 효율적으로 구별이 불가능한 출력 값을 가지는 함수로 정의된다. 구체적으로 의사난수 함수는 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
로 정의될 수 있으며, 여기서 는 시드(seed) 값의 비트수, 은 입력 값의 비트수, 은 출력 값의 비트수를 나타낸다. Can be defined as Is the number of bits in the seed, Is the number of bits in the input value, Represents the number of bits in the output value.
또한, 본 발명의 실시예에서 이용되는 암호학적 해시 함수(예컨대, 후술될 , )는 일반적으로 의사난수 함수로부터 모델링된다. 이때, 의사난수 함수 중에서 입력 값의 비트수와 출력 값의 비트수가 같을 경우, 이것을 의사난수 치환(pseudorandom permutation)이라고 정의한다. 구체적으로 의사난수 치환은 Further, cryptographic hash functions (e.g., described below) used in embodiments of the present invention , ) 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
로 정의될 수 있다. 일반적으로 안전한 대칭키 암호화 기법은 의사난수 치환을 이용하여 모델링된다. 예컨대, 후술될 가 의사 난수 치환으로, 가 의사 난수 함수로 모델링될 수 있다.It can be defined as. In general, secure symmetric key cryptography is modeled using pseudo-random substitution. For example, to be described later Is a pseudo random number substitution, Can be modeled as a pseudo-random function.
또한, 본 발명의 실시예에서는 겹선형 사상(bilinear maps)을 제공하는 소수 위수의 어떤 유한군을 이용한다. 예컨대 와 이 소수 위수 를 가지는 두 개의 군이라 하고, 겹선형 사상을 라고 하면, 이하의 (가) 내지 (다)를 만족한다.In addition, embodiments of the present invention employ some finite group of prime numbers that provide bilinear maps. for example Wow This decimal number Are called two groups with In this case, the following (a) to (c) are satisfied.
(가) 모든 와 모든 에 대해 를 만족한다. 참고로, 는 암호화에 이용되는 대칭키를 나타내고, 는 상수를 나타낸다.(A) All And all About . Note that, Represents the symmetric key used for encryption, Represents a constant.
(나) 만약 가 군 의 생성자이면, 는 군 의 생성자이다.(B) if Gagun If is a constructor of, County Is the constructor of.
(다) 임의의 원소 에 대해 는 계산하기 쉬워야 한다.(C) arbitrary elements About Should be easy to calculate.
또한, 본 발명의 실시예에서 이용되는 BLS 짧은 서명(short signature)은, Boneh 등에 의해 제안된 겹선형 사상에 기반을 둔 서명 기법이다. 예컨대, 후술될 BLS 짧은 서명의 변수들인 를 겹선형 사상과 동일하게 정의하고, 를 군 의 생성자, 충돌 저항성 해시 함수를 , 사용자 단말의 서명키를 , 검증키를 라고 정의한다. 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 Defines the same as the double line mapping, County Constructor, collision-resistant hash function , The signature key of the user terminal , Validation key It is defined as.
여기서, 메시지 에 대한 서명을 라고 하면, 이에 대한 검증은 을 통해 가능하다. BLS 짧은 서명은 CDH(Computational Diffie-Hellman) 문제의 어려움에 기반하여 랜덤 오라클 모델에서 서명 위조 불가능성을 만족한다.Where message Sign for If you say, the verification 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)는 공개 파라미터()와 자신의 비밀키()를 생성한다. As shown in FIG. 5, in the setup process, the
구체적으로 설명하자면, 사용자 관리장치(100)는 시큐리티 파라미터(security parameter)(예컨대 )를 이용하여 공개 파라미터(params)를 설정하고, 자신의 비밀키()를 랜덤하게 선택한다. Specifically, the
그리고 안전한 대칭키 암호화 기법(), 충돌 저항성(collision resistance) 해시함수(), 해시함수의 시드값()을 랜덤하게 선택하고, 시드를 포함하는 충돌 저항성 해시함수()를 설정한다. 여기서 는 키들의 집합, 는 시드들의 집합, 는 키워드들의 집합을 나타낸다.And secure symmetric key cryptography ( ), Collision resistance hash function ( ), The seed of the hash function ( ) And randomly select the collision-resistant hash function containing the seed ( ). here Is a set of keys, Is a set of seeds, Represents a set of keywords.
다음으로 사용자 등록(Join) 과정에 있어서, 사용자가 사용자 관리장치(100)로 사용자 등록을 요청하면, 사용자 관리장치(100)는 자신의 비밀키 값()을 이용하여 사용자 등록을 요청한 사용자에게 제공할 비밀키()를 생성하여 발급한다. Next, in the user registration (Join) process, when the user requests the user registration to the
보다 자세히 설명하자면, 사용자 등록을 원하는 사용자가 사용자 관리장치(100)로 식별정보()(또는 고유정보)를 전송하면, 사용자 관리장치(100)은 해당 식별정보()를 사용자 관리장치측 사용자 리스트()에 포함시킨다. In more detail, the user who wants to register a user identification information ( (Or unique information), the
그리고 사용자 관리장치(100)는 사용자의 비밀키 (제 1 비밀키)를 랜덤하게 선택하고, 자신의 비밀키() 및 제 1 비밀키를 이용하여 문서 서버(200)에 제공할 비밀키 (제 2 비밀키)를 생성한다. 여기서, 제 2 비밀키는 사용자의 식별정보()에 대응된 정보일 수 있다.And the
또한, 사용자 관리장치(100)는 사용자 단말(300)에 제 1 비밀키 및 해시함수의 시드값(), 문서 서버(200)에 사용자의 식별정보 및 제 2 비밀키()를 각각 전송한다. 여기서, 문서 서버(200)는 자신의 사용자 리스트()에 사용자의 식별정보 및 제 2 비밀키를 포함시킨다.In addition, the
다음으로 사용자 탈퇴(Revoke) 과정에 있어서, 사용자 관리장치(100)는 사용자 탈퇴를 요청한 사용자()를 사용자 리스트()에서 제거하고, 문서 서버(200)에 해당 사용자의 식별정보()를 전송한다. 그러면, 문서 서버(200)는 자신의 사용자 리스트()에서 사용자 탈퇴를 요청한 사용자의 식별정보 및 제 2 비밀키()를 제거하게 된다.Next, in the user withdrawal (Revoke) process, the
도 6은 본 발명의 일 실시예에 따른 다자간 검색 시스템의 저장 과정을 나타낸다.6 illustrates a storage process of a multi-party search system according to an embodiment of the present invention.
도 6에 도시된 바와 같이, 데이터 저장(Store) 과정에 있어서, 사용자 단말(300)는 사용자 관리장치(100)로부터 수신한 (즉, )를 이용하여 문서()와 상기 문서에 대한 키워드()를 암호화한 암호화된 데이터()를 문서 서버(200)로 전송한다.As shown in FIG. 6, in the data store process, the
그러면, 문서 서버(200)는 해당 사용자의 식별정보()가 사용자 리스트()에 등록되었는지 여부를 검사하고, 를 에 저장한다. 참고로, 문서 서버(200)에 (양의 정수) 번째 저장되는 문서와 키워드를 각각 라고 하면, 를 암호화한 암호화된 데이터는 로 표기되고, 이러한 들의 집합은 로 표기된다.Then, the
보다 구체적으로 설명하자면, 사용자 단말(300)는 문서()를 암호화하기 위한 문서 암호화키() 및 키워드()에 대한 키워드 인덱스 생성키()를 생성하기 위해, 먼저 난수()와 난수()를 랜덤하게 선택하고, 난수화된 키워드() 정보를 포함하는 를 생성하여 문서 서버(200)로 전송한다. 여기서, 및 는 난수화 값으로 각각 및 를 생성할 때 사용될 수 있다.More specifically, the
그러면 문서 서버(200)는 해당 사용자의 식별정보()가 등록되어 있는지 여부를 검사하고, 문서 암호화키 및 키워드 인덱스 생성키(및 )를 생성하기 위한 제 1 및 제 2 생성키 값(및 )을 상술된 겹선형 사상 함수를 이용하여 아래 수학식 (1) 및 (2)와 같이 생성해서 사용자 단말(300)로 전송한다. The
[수학식 1][Equation 1]
[수학식 2][Equation 2]
여기서, 상술된 사용자 관리장치(100)로부터 수신한 사용자의 식별정보에 대응되는 제 2 비밀키 값() 및 난수화된 키워드() 정보를 포함하는 정보가 이용될 수 있다. Here, the second secret key value corresponding to the identification information of the user received from the
그리고, 상술된 탈퇴한 사용자 단말은 해당 사용자 단말의 제 2 비밀키() 정보가 사용자 리스트()에서 삭제되어 있으므로, 근본적으로 문서를 검색하기 위한 키워드에 대한 키워드 인덱스 생성키가 생성될 수 없다.In addition, the withdrawn user terminal described above may have a second secret key ( Information in the user list ( ), A keyword index generation key for a keyword for searching a document can not be generated.
그리고, 사용자 단말(300)는 문서 서버(200)로부터 수신한 제 1 및 제 2 생성키 값(및 )을 이용하여 문서()를 암호화하기 위한 문서 암호화키() 및 키워드()에 대한 키워드 인덱스 생성키()를 아래 수학식 (3) 및 (4)와 같이 생성할 수 있다. 이때, 사용자 관리장치(100)로부터 수신한 제 1 비밀키가 이용될 수 있다.In addition, the
[수학식 3]&Quot; (3) "
[수학식 4]&Quot; (4) "
여기서, 사용자 단말(300)는 저장하기 원하는 문서()를 문서 암호화키 값()을 이용하여 로 암호화하고, 를 검색하기 위한 키워드를 인덱스 생성키 값()을 이용하여 암호화한다. 이때, 랜덤한 난수()를 선택하고, 해당 난수() 및 키워드 인덱스 생성키 값()을 이용하여 암호화된 키워드()를 생성할 수 있다.Here, the
여기서, 난수()를 적용시킴으로써, 같은 키워드에도 다른 인덱스 값을 생성하게 되어 외부 공격자에 의한 정보 노출의 위험을 막을 수 있게 된다.Where random number ( 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)에 저장한다. 여기서, 인덱스()에 난수() 및 해당 난수가 적용된 암호화된 키워드()가 문서 서버(200)에 전송되어진다.Next, the
[수학식 5][Equation 5]
도 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)에 요청할 쿼리()를 생성한다. As illustrated in FIG. 7, in the query process, the
즉, 을 생성하여 문서 서버(200)로 전송한다. In other words, Create and transmit to the
여기서, 사용자 관리장치(100)로부터 수신한 해당 사용자의 제 1 비밀키를 통해 쿼리가 생성되므로, 외부 공격자가 정당한 쿼리를 생성할 수 없게 되어, 쿼리에 대한 안정성이 확보될 수 있다.Here, since the query is generated through the first private key of the user received from the
검색(Search) 과정에 있어서, 사용자 단말(300)는 문서 서버에 쿼리()를 전송하고 그에 대응되는 응답 데이터()를 수신한다. 그리고, 사용자 단말(300)는 응답 데이터로부터 암호화된 문서를 복호화하게 된다.In the search process, the
보다 구체적으로 설명하자면, 사용자 단말(300)로부터 쿼리()를 수신한 문서 서버(200)는, 사용자 리스트()에 해당 식별정보가 등록되어 있는지 여부를 확인하고, 만약 등록된 정보가 존재하지 않으면 정당한 사용자 단말이 아니므로 종료한다. 만약 해당 사용자에 대한 등록된 정보가 존재할 경우, 문서 서버(200)는 사용자 단말(300)로부터 수신한 쿼리값 및 해당 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키()를 다음과 같이 산출한다.In more detail, the query from the user terminal 300 ( ), The
그리고 문서 서버(200)는,And
의 집합()중에서 키워드 인덱스 생성키에 대응되는 암호화된 문서를 검색한다. Set of ), The encrypted document corresponding to the keyword index generation key is retrieved.
그리고, 검색된 암호화된 문서() 및 암호화된 문서에 대한 제 1 생성키()을 생성하여 사용자 단말(300)로 전송한다. Then, the retrieved encrypted document ( ) And the first generation key for the encrypted document ( ) Is generated and transmitted to the
그러면, 사용자 단말(300)는 제 1 생성키를 이용하여 암호화된 문서에 대한 문서 암호화키()를 아래와 같이 산출하고, 산출한 문서 암호화키에 기초하여 암호화된 문서를 복호화하게 된다.Then, the
도 8은 본 발명의 일 실시예에 따른 다자간 검색 방법의 순서도이다.8 is a flowchart of a multi-party search method according to an embodiment of the present invention.
사용자 단말(300)이 사용자 관리장치(100)에 사용자 등록 요청을 수행한다(S801).The
다음으로, 사용자 관리장치(100)가 사용자 등록 요청에 따라, 사용자 등록을 요청한 사용자의 사용자 단말(300)에 제 1 비밀키를 발급한다(S802).Next, in response to the user registration request, the
그리고, 제 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
다음으로, 문서 서버(200)가 사용자 단말(300)로부터 수신한 난수 및 제 2 비밀키를 이용하여 문서 암호화키의 생성에 사용되는 제 1 생성키 및 키워드 인덱스 생성키의 생성에 사용되는 제 2 생성키를 생성하여 사용자 단말(300)에 제공한다(S805).Next, the
다음으로, 사용자 단말(300)이 제 1 생성키에 기초하여 문서 암호화키를 생성하고, 제 2 생성키에 기초하여 키워드 인덱스 생성키를 생성한다(S806).Next, the
그리고, 사용자 단말(300)이 제 1 생성키에 기초하여 생성된 문서 암호화키를 이용하여 문서를 암호화하고, 제 2 생성키에 기초하여 생성된 키워드 인덱스 생성키를 이용하여 키워드를 암호화하여 문서 서버(200)로 전송한다(S807, S808).The
다음으로, 문서 서버(200)가 암호화된 문서 및 암호화된 키워드를 사용자 단말(300)로부터 수신하여 저장한다(S809).Next, the
다음으로, 사용자 단말(300)이 쿼리값을 생성하여 문서 서버(200)에 전송한다(S810, S811). 여기서, 사용자 단말(300)은 사용자의 키워드 입력에 따라 키워드, 사용자의 식별정보 및 사용자 단말(300)의 제 1 비밀키가 포함된 쿼리값을 생성할 수 있다.Next, the
다음으로, 문서 서버(200)가 해당 사용자가 사용자 리스트에 등록된 사용자인지 여부를 판단한다(S812). Next, the
다음으로, 사용자가 사용자 리스트에 등록된 사용자인 경우, 문서 서버(200)가 사용자 단말(300)로부터 수신한 쿼리값 및 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색한다(S813).Next, when the user is a user registered in the user list, the
다음으로, 문서 서버(200)가 암호화된 문서 및 암호화된 문서에 대한 제 1 생성키를 사용자 단말(300)로 전송한다(S814).Next, the
다음으로, 사용자 단말(300)은 문서 서버(200)로부터 수신한 제 1 생성키로부터 암호화된 문서에 대한 문서 암호화키를 산출하고, 산출한 문서 암호화키에 기초하여 암호화된 문서를 복호화한다(S815).Next, the
이후, 문서 서버(200)는 사용자 단말(300)로부터 사용자 탈퇴 요청을 수신한 경우에는, 사용자 탈퇴를 요청한 사용자의 식별정보 및 사용자 탈퇴를 요청한 사용자의 제 2 비밀키를 사용자 리스트로부터 제거하게 된다.Subsequently, when the
상술된 과정(S801~S809)를 이용하여, 예를 들어, 다른 정당한 사용자()가 동일한 키워드()를 이용하여 생성한 쿼리By using the above-described processes (S801 to S809), for example, other legitimate users ( ) Have the same keyword ( Generated using)
즉, 을 문서 서버(200)로 전송하면, 문서 서버(200)는 In other words, To the
을 생성한다. .
그러면, 이므로, 다른 사용자는 사용자가 저장한 데이터를 암호화된 상태로 전송받을 수 있다. 그리고, 다른 사용자는 문서 서버(200)로부터 전송받은 로부터 를 생성하고, 이므로, 다른 사용자는 사용자가 저장한 암호화된 문서를 정당하게 복호화할 수 있게 된다.then, Therefore, the other user can receive the data stored by the user in an encrypted state. And, the other user received from the
따라서, 다수의 사용자들이 안전하고 효율적으로 암호화된 문서에 대한 검색을 수행할 수 있게 된다.Thus, a large number of users can securely and efficiently search for encrypted documents.
한편, 상술된 사용자 관리장치(100) 및 문서 서버(200)는 다자간 검색 시스템에 각각 모듈로 구현될 수 있음은 물론이다. 예컨대, 사용자 관리장치(100)는 사용자 관리부, 문서 서버(200)는 문서 관리부로 다자간 검색 시스템에 구성요소로 포함될 수 있다.On the other hand, the
또한, 상술된 도 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
그리고 도 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, a module is not 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 생성키에 기초하여 생성된 키워드 인덱스 생성키에 의하여 상기 사용자 단말에서 암호화된 것이고,
상기 사용자 단말은 사용자의 키워드 입력에 따라 상기 키워드, 상기 사용자의 식별정보 및 상기 사용자 단말의 제 1 비밀키가 포함된 쿼리값을 생성하여 상기 문서 관리부로 전송하고, 상기 문서 관리부로부터 수신한 암호화된 문서를 복호화하는 것인 다자간 검색 시스템.
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 at 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. Encrypted on the user terminal,
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 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 상기 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 상기 암호화된 문서 및 상기 암호화된 문서에 대한 제 1 생성키를 상기 사용자 단말로 전송하는 것인 다자간 검색 시스템.
The method of claim 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 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.
상기 사용자 단말은 상기 문서 관리부로부터 수신한 상기 제 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. .
상기 문서 관리부는,
상기 사용자 등록을 요청한 사용자의 식별정보 및 상기 제 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.
상기 사용자 리스트 관리부는,
사용자 탈퇴를 요청한 사용자의 식별정보 및 상기 사용자 탈퇴를 요청한 사용자의 제 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.
상기 사용자 단말은,
상기 문서 암호화키를 생성하여 상기 문서 관리부에 저장할 문서를 암호화하고, 상기 키워드 인덱스 생성키를 생성하여 상기 문서에 대한 키워드를 암호화하는 데이터 암호화부,
상기 사용자의 키워드 입력에 따라 상기 키워드, 상기 사용자의 식별정보 및 상기 사용자 단말의 제 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 비밀키가 포함되도록 생성한 상기 제 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 생성키에 기초하여 생성된 것이고,
상기 문서 서버가 상기 사용자가 사용자 리스트에 등록된 사용자인 경우, 상기 사용자 단말로부터 수신한 쿼리값 및 상기 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 상기 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 상기 암호화된 문서 및 상기 암호화된 문서에 대한 제 1 생성키를 상기 사용자 단말로 전송하는 단계를 더 포함하는 다자간 검색 방법.
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, the keyword index generation key is generated based on the second generation key,
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.
상기 사용자 단말은 사용자의 키워드 입력에 따라 상기 키워드, 상기 사용자의 식별정보 및 상기 사용자 단말의 제 1 비밀키가 포함된 상기 쿼리값을 생성하는 것인 다자간 검색 방법.
The method of claim 9,
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.
상기 사용자 단말은 상기 문서 서버로부터 수신한 상기 제 1 생성키로부터 상기 암호화된 문서에 대한 문서 암호화키를 산출하고, 상기 산출한 문서 암호화키에 기초하여 상기 암호화된 문서를 복호화하는 것인 다자간 검색 방법.
The method of claim 9,
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. .
상기 문서 서버가 사용자 탈퇴를 요청한 사용자의 식별정보 및 상기 사용자 탈퇴를 요청한 사용자의 제 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 생성키에 기초하여 상기 키워드 인덱스 생성키를 생성하는 것이고,
상기 사용자 단말은 사용자의 키워드 입력에 따라 상기 키워드, 상기 사용자의 식별정보 및 상기 사용자 단말의 제 1 비밀키가 포함된 쿼리값을 생성하여 상기 문서 서버로 전송하고, 상기 문서 서버로부터 수신한 암호화된 문서를 복호화하는 것인 다자간 검색 시스템.
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,
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;
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.
상기 문서 서버는 상기 사용자가 사용자 리스트에 등록된 사용자인 경우, 상기 쿼리값 및 상기 사용자의 제 2 비밀키에 기초하여 키워드 인덱스 생성키를 산출하고, 상기 산출된 키워드 인덱스 생성키에 해당하는 암호화된 문서를 검색하여, 상기 암호화된 문서 및 상기 암호화된 문서에 대한 제 1 생성키를 상기 사용자 단말로 전송하는 것인 다자간 검색 시스템.
15. The method of claim 14,
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.
상기 사용자 단말은 상기 문서 서버로부터 수신한 상기 제 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. .
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 KR20120002729A (en) | 2012-01-09 |
KR101140576B1 true 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) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101978384B1 (en) * | 2017-01-09 | 2019-05-15 | 순천향대학교 산학협력단 | Apparatus and method for data encryption and decryption of web storage |
CN110166466B (en) * | 2019-05-28 | 2020-02-21 | 湖南大学 | Multi-user searchable encryption method and system capable of efficiently updating permissions |
KR102580407B1 (en) * | 2020-11-18 | 2023-09-20 | (주)한국아이티평가원 | 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 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060107049A (en) * | 2005-04-07 | 2006-10-13 | 삼성전자주식회사 | Printing apparatus having security funcition and method for the same |
KR20090031079A (en) * | 2007-09-21 | 2009-03-25 | 고려대학교 산학협력단 | Method of similarity string matching from ciphertext, recording medium and system using by the same |
-
2010
- 2010-07-01 KR KR1020100063390A patent/KR101140576B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060107049A (en) * | 2005-04-07 | 2006-10-13 | 삼성전자주식회사 | Printing apparatus having security funcition and method for the same |
KR20090031079A (en) * | 2007-09-21 | 2009-03-25 | 고려대학교 산학협력단 | Method of similarity string matching from ciphertext, recording medium and system using by the same |
Also Published As
Publication number | Publication date |
---|---|
KR20120002729A (en) | 2012-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11381398B2 (en) | Method for re-keying an encrypted data file | |
Pasupuleti et al. | An efficient and secure privacy-preserving approach for outsourced data of resource constrained mobile devices in cloud computing | |
CN108494768B (en) | Ciphertext searching method and system supporting access control | |
CN106254324B (en) | A kind of encryption method and device of storage file | |
CN103731432B (en) | Multi-user supported searchable encryption method | |
JP5562687B2 (en) | Securing communications sent by a first user to a second user | |
Salam et al. | Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage | |
JP2016510962A (en) | Encrypted network storage space | |
KR20130085491A (en) | Multi-user searchable encryption system with index validation and tracing and method thereof | |
JP6770075B2 (en) | Encrypted message search method, message sending / receiving system, terminal, program | |
WO2017033843A1 (en) | Searchable cryptograph processing system | |
CN104168320B (en) | The method and system that a kind of user data is shared | |
Ma et al. | CP‐ABE‐Based Secure and Verifiable Data Deletion in Cloud | |
KR101140576B1 (en) | Multi?user search system and method of encrypted document | |
Bhandari et al. | A framework for data security and storage in Cloud Computing | |
CN110610102A (en) | Data access method, device and system | |
KR20210058313A (en) | Data access control method and system using attribute-based password for secure and efficient data sharing in cloud environment | |
Chen et al. | Password-authenticated searchable encryption | |
Tian et al. | An efficient scheme of cloud data assured deletion | |
KR102386717B1 (en) | Data access control system based anonymous user attribute and method thereof | |
KR101422759B1 (en) | Secure method for data store and share in data outsourcing | |
AU2019101343B4 (en) | A computer system implemented method for generating a symmetric encryption key for encrypting and decrypting secure data | |
Yan et al. | Secure and efficient big data deduplication in fog computing | |
Kaci et al. | Access control aware search on the cloud computing | |
CN108920968B (en) | File searchable encryption method based on connection keywords |
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 |