KR20090056078A - Key generating method for preventing dictionary attack and method of producing searchable keyword encryption and searching data using that - Google Patents

Key generating method for preventing dictionary attack and method of producing searchable keyword encryption and searching data using that Download PDF

Info

Publication number
KR20090056078A
KR20090056078A KR1020070123061A KR20070123061A KR20090056078A KR 20090056078 A KR20090056078 A KR 20090056078A KR 1020070123061 A KR1020070123061 A KR 1020070123061A KR 20070123061 A KR20070123061 A KR 20070123061A KR 20090056078 A KR20090056078 A KR 20090056078A
Authority
KR
South Korea
Prior art keywords
searchable
key
private key
receiving terminal
data
Prior art date
Application number
KR1020070123061A
Other languages
Korean (ko)
Other versions
KR100945535B1 (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 KR1020070123061A priority Critical patent/KR100945535B1/en
Publication of KR20090056078A publication Critical patent/KR20090056078A/en
Application granted granted Critical
Publication of KR100945535B1 publication Critical patent/KR100945535B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Abstract

A key generating method for preventing a dictionary attack, a method for producing searchable keyword encryption using the same, and a data searching method are provided to prevent the dictionary attack by generating the searchable keyword encryption using an index key in a reception side and generating a trap door using a search key in a reception side. A random number is selected according to a security parameter(202). A secret key is generated to be divided into a first secret key for generating the searchable keyword encryption and a second secret key for generating a trap door by using the selected random number(204). A public key for searching the data is generated by using the selected random number(206).

Description

사전 공격의 방지를 위한 키 생성 방법과, 그를 이용한 검색 가능 암호문 생성 방법 및 데이터 검색 방법{KEY GENERATING METHOD FOR PREVENTING DICTIONARY ATTACK AND METHOD OF PRODUCING SEARCHABLE KEYWORD ENCRYPTION AND SEARCHING DATA USING THAT}KEY GENERATING METHOD FOR PREVENTING DICTIONARY ATTACK AND METHOD OF PRODUCING SEARCHABLE KEYWORD ENCRYPTION AND SEARCHING DATA USING THAT}

본 발명은 사전 공격의 방지를 위한 키 생성 방법과, 그를 이용한 검색 가능 암호문 생성 방법 및 데이터 검색 방법에 관한 것으로, 더욱 상세하게는 다수의 암호화된 데이터에 덧붙여진 각 데이터의 키워드들에 대한 검색 가능 암호문(SKE: Searchable Keyword Encryption)들 중에서 검색하려는 검색 키워드가 포함된 검색 가능 암호문을 검색 키워드에 해당하는 트랩도어를 이용하여 검색함에 있어서, 검색 가능 암호문을 수신 측의 인덱스키를 이용하여 생성하고 트랩도어를 수신 측의 검색키를 이용하여 생성함으로써, 공격자에 의해 임의 생성된 검색 가능 암호문을 이용한 사전 공격(Dictionary Attack)을 방지할 수 있게 하는, 사전 공격의 방지를 위한 키 생성 방법과, 그를 이용한 검색 가능 암호문 생성 방법 및 데이터 검색 방법에 관한 것이다.The present invention relates to a key generation method for preventing a dictionary attack, a searchable cipher text generation method and a data retrieval method using the same, and more particularly, to a searchable cipher text for each data keyword added to a plurality of encrypted data. When searching for a searchable ciphertext including a search keyword to be searched among (SKE: Searchable Keyword Encryption) using a trapdoor corresponding to the search keyword, a searchable ciphertext is generated using an index key of a receiver and a trapdoor A key generation method for preventing a dictionary attack, by using the search key on the receiving side to prevent a dictionary attack using a searchable ciphertext randomly generated by an attacker, and a search using the same. It relates to a possible cipher text generation method and a data retrieval method.

최근 멀티미디어와 같은 대용량 데이터의 양이 급격하게 늘어나면서, 많은 사람이 온라인 저장 서비스 등을 이용하고 있다. 온라인 저장 서비스는 사용자들의 데이터를 저장하고, 사용자가 필요로 할 때 원하는 데이터를 찾아서 검색해주는 기능을 포함한다. 이때, 사용자들은 프라이버시 및 중요한 데이터의 기밀성을 보호하기 위하여, 데이터를 암호화(Encryption)하여 저장하길 원한다. 이는 검색을 수행하는 서버에 데이터의 내용이 노출될 위험이 있기 때문이다. 이러한 데이터들이 서버에 많이 저장되어 있을 경우에는 사용자들이 필요에 따라 원하는 데이터들만을 검색할 수 있도록 하는 기능이 필요하다. 즉, 사용자들이 암호화된 데이터의 기밀성을 해치지 않으면서도 원하는 데이터들을 검색할 수 있는 방법이 필요한데, 이를 위하여 제안된 것이 검색 가능 암호 시스템이다. Recently, as the amount of large data such as multimedia increases rapidly, many people use online storage services. The online storage service includes a function of storing data of users and searching and searching for desired data when a user needs it. At this time, users want to encrypt and store data in order to protect privacy and confidentiality of important data. This is because there is a risk that the contents of the data are exposed to the server performing the search. If a lot of such data is stored in the server, a function is needed so that users can search only the desired data as needed. In other words, there is a need for a method that enables users to search for desired data without compromising the confidentiality of the encrypted data. A proposed search system is a searchable encryption system.

2000년에 "Dawn Xiaodong Song" 등에 의해서 하나의 키워드에 대한 검색만 가능한 방식이 처음으로 제안되었다. 이 방식은 대칭키 암호화 방식(Symmetric Key Encryption)을 사용한다. 하지만, 이러한 대칭키 암호화 방식은 데이터를 암호화하여 전송하는 사람과 이후에 검색을 수행하는 사람이 동일한 경우에만 사용할 수 있다는 단점이 있다. 즉, 대칭키 암호화 방식은 개인이 단독으로 사용하는 온라인 저장 서비스와 같은 경우에만 사용할 수 있다.In 2000, "Dawn Xiaodong Song" et al. Proposed the first possible search method for a single keyword. This method uses symmetric key encryption. However, this symmetric key encryption method has a disadvantage in that it can be used only when the person who encrypts the data and transmits the same after the person who performs the search. That is, the symmetric key encryption method can be used only in the case of an online storage service used by an individual alone.

그리고 2004년에 "Dan Boneh" 등은 공개키 암호화 방식(Public Key Encryption)을 사용하여 하나의 키워드에 대한 검색을 가능하게 하는 검색 가능 암호 시스템을 처음으로 제안하였다. 이러한 공개키 암호화 방식에 기반한 검색 가능 암호 시스템은 데이터를 암호화하는 사람과 이후에 검색하려는 사람이 다른 경우에도 사용할 수 있기 때문에, 대칭키 암호화 방식을 사용한 경우보다 응용 분야가 다양하다는 장점이 있다.In 2004, "Dan Boneh" et al. Proposed the first searchable cryptographic system that enables the search of a single keyword using public key encryption. The searchable cryptographic system based on the public key encryption method can be used even when the person who encrypts the data and the person who wants to search it later have the advantage that the application fields are more diverse than when the symmetric key encryption method is used.

그리고 2004년에 "Philippe Golle" 등이 한 번에 여러 키워드에 대한 검색(Conjunctive Search)을 가능하게 하는 방법을 처음으로 제안하였고, 이 방식은 대칭키 암호화 방식을 사용한 것이다. 또한, 같은 해에 "Dong jin Park" 등은 공개키 암호화 방식을 사용하여 한 번에 여러 키워드에 대한 검색이 가능한 방법을 제안하였다.In 2004, "Philippe Golle" and others proposed the first method to enable the search (Conjunctive Search) for several keywords at the same time, this method uses a symmetric key encryption method. Also, in the same year, "Dong jin Park" and others proposed a method to search for several keywords at once using public key encryption.

한편, 종래의 공개키 암호화 방식에 기반한 검색 가능 암호 시스템은 암호(encryption) 알고리즘에서 데이터 수신자 또는 검색을 수행하려는 사람의 공개키를 사용하기 때문에, 악의적인 의도가 있는 공격자도 자신이 원하는 문자열들을 사용하여 암호 알고리즘을 수행해 볼 수 있다. 실생활에서 사용자들이 검색할 때 빈번하게 사용하는 키워드들은 상대적으로 엔트로피(entropy)가 낮은 문자열들이다. 예를 들어, 이메일 시스템의 경우에는, 이메일을 보낸 사람의 이름, 이메일 수신 날짜 등이 키워드가 될 수 있다.On the other hand, since a searchable cryptographic system based on the conventional public key encryption method uses a public key of a data receiver or a person who wants to perform a search in an encryption algorithm, a malicious attacker can use the strings he or she wants. You can try the encryption algorithm. The keywords that are frequently used by users in real life are relatively low entropy strings. For example, in the case of an e-mail system, a keyword may be a name of an e-mail sender, an e-mail receiving date, and the like.

이때, 공격자는 키워드로서의 가능성이 큰 문자열들과 그 문자열들에 해당하는 암호문들의 리스트(dictionary)를 만들어 이를 이용하여 암호화된 데이터를 더욱 쉽게 공격할 수 있는데, 이러한 공격을 사전 공격(dictionary attack)이라고 한다. 다시 말하면, 이러한 종래의 검색 가능 암호 시스템에서는 실제 환경에서 빈번하게 사용되는 키워드들의 수가 제한되어 있기 때문에, 사전 공격을 위해 만들어야 하는 암호문들의 리스트(dictionary)의 크기가 상대적으로 작아진다. 따라서 이러한 종래의 암호 시스템에서는 공격자가 키워드로서의 가능성이 큰 문자열들에 대한 검색 가능 암호문들을 쉽게 얻을 수 있으며, 사전 공격에 상대적으로 취약하다는 문제점이 있다.At this time, an attacker can make a list of strings that are likely as keywords and ciphertexts corresponding to the strings, and use them to attack encrypted data more easily. Such an attack is called a dictionary attack. do. In other words, in this conventional searchable cryptographic system, since the number of keywords frequently used in a real environment is limited, the size of the dictionary of ciphertexts to be made for a dictionary attack is relatively small. Therefore, in such a conventional encryption system, an attacker can easily obtain searchable ciphertexts for strings that are likely to be keywords, and there is a problem that they are relatively vulnerable to dictionary attacks.

따라서 상기와 같은 종래 기술은 공격자가 키워드로서의 가능성이 큰 문자열들에 대한 검색 가능 암호문들을 쉽게 얻을 수 있기 때문에, 사전 공격에 상대적으로 취약하다는 문제점이 있으며, 이러한 문제점을 해결하고자 하는 것이 본 발명의 과제이다.Therefore, the prior art as described above has a problem that the attacker is relatively vulnerable to dictionary attack because the attacker can easily obtain searchable ciphertexts for strings that are likely to be keywords, and to solve such problems is an object of the present invention. to be.

따라서 본 발명은, 다수의 암호화된 데이터에 덧붙여진 각 데이터의 키워드들에 대한 검색 가능 암호문(SKE: Searchable Keyword Encryption)들 중에서 검색하려는 검색 키워드가 포함된 검색 가능 암호문을 검색 키워드에 해당하는 트랩도어를 이용하여 검색함에 있어서, 검색 가능 암호문을 수신 측의 인덱스키를 이용하여 생성하고 트랩도어를 수신 측의 검색키를 이용하여 생성함으로써, 공격자에 의해 임의 생성된 검색 가능 암호문을 이용한 사전 공격(Dictionary Attack)을 방지할 수 있게 하는, 사전 공격의 방지를 위한 키 생성 방법과, 그를 이용한 검색 가능 암호문 생성 방법 및 데이터 검색 방법을 제공하는데 그 목적이 있다.Accordingly, the present invention provides a trapdoor corresponding to a search keyword for a searchable ciphertext including a search keyword to be searched among searchable keyword encryptions (SKE) for keywords of each data appended to a plurality of encrypted data. In the search by using a dictionary, a searchable ciphertext is generated using an index key of a receiver and a trapdoor is generated using a search key of a receiver, thereby making a dictionary attack using a searchable ciphertext randomly generated by an attacker. It is an object of the present invention to provide a key generation method for preventing a dictionary attack, a searchable cipher text generation method, and a data retrieval method using the same.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention which are not mentioned above can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. Also, it will be readily appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.

본 발명은 상기 문제점을 해결하기 위하여, 다수의 암호화된 데이터에 덧붙여진 각 데이터의 키워드들에 대한 검색 가능 암호문(SKE: Searchable Keyword Encryption)들 중에서 검색하려는 검색 키워드가 포함된 검색 가능 암호문을 검색 키워드에 해당하는 트랩도어를 이용하여 검색함에 있어서, 검색 가능 암호문을 수신 측의 인덱스키를 이용하여 생성하고 트랩도어를 수신 측의 검색키를 이용하여 생성하는 것을 특징으로 한다.In order to solve the above problem, the present invention provides a searchable ciphertext including a search keyword to be searched among searchable keyword encryptions (SKE) for keywords of each data appended to a plurality of encrypted data. In the search using the corresponding trap door, the searchable cipher text is generated using the index key of the receiver and the trap door is generated using the search key of the receiver.

더욱 구체적으로, 본 발명의 방법은, 사전 공격의 방지를 위한 키 생성 방법에 있어서, 보안 파라미터에 따라 난수를 랜덤하게 선택하는 난수 선택 단계; 상기 선택된 난수를 이용하여 비공개키를 생성하되, 검색 가능 암호문의 생성을 위한 제1 비공개키와 트랩도어의 생성을 위한 제2 비공개키로 구분하여 생성하는 비공개키 생성 단계; 및 상기 선택된 난수를 이용하여, 데이터 검색을 위한 공개키를 생성하는 공개키 생성 단계를 포함한다.More specifically, the method of the present invention includes a random number selection step of randomly selecting a random number according to a security parameter in a key generation method for preventing a dictionary attack; Generating a private key using the selected random number, and generating a private key by dividing the private key into a first private key for generating a searchable ciphertext and a second private key for generating a trapdoor; And a public key generation step of generating a public key for data retrieval using the selected random number.

한편, 본 발명의 다른 방법은, 사전 공격의 방지를 위한 검색 가능 암호문 생성 방법에 있어서, 데이터를 암호화하는 데이터 암호화 단계; 및 상기 암호화된 데이터의 키워드와 수신 단말의 비공개키 중 제1 비공개키를 이용하여 검색 가능 암호문을 생성하는 암호문 생성 단계를 포함한다.On the other hand, another method of the present invention, a searchable cipher text generation method for preventing a dictionary attack, the data encryption step of encrypting data; And a ciphertext generation step of generating a searchable ciphertext using a first private key among a keyword of the encrypted data and a private key of a receiving terminal.

또한, 상기 본 발명의 다른 방법은, 상기 암호화된 데이터와 상기 생성된 검색 가능 암호문을 해당 서버로 전송하는 전송 단계를 더 포함한다.The method may further include transmitting the encrypted data and the generated searchable ciphertext to a corresponding server.

한편, 본 발명의 또 다른 방법은, 사전 공격의 방지를 위한 데이터 검색 방법에 있어서, 송신 단말에서 제1 비공개키가 이용되어 생성된 검색 가능 암호문 및 암호화된 데이터를 수신받는 데이터 및 암호문 수신 단계; 수신 단말에서 제2 비공개키가 이용되어 생성된 트랩도어를 수신받는 트랩도어 수신 단계; 및 상기 수신된 검색 가능 암호문 중에서 상기 수신된 트랩도어의 검색 키워드를 포함하고 있는 검색 가능 암호문을 상기 트랩도어와 상기 수신 단말의 공개키를 이용하여 검색하는 검색 단계를 포함한다.Meanwhile, another method of the present invention provides a data retrieval method for preventing a dictionary attack, comprising: receiving a searchable ciphertext and encrypted data generated using a first private key at a transmitting terminal and receiving a ciphertext; A trap door receiving step of receiving a trap door generated using a second private key at a receiving terminal; And a search step of searching for a searchable ciphertext including the search keyword of the received trapdoor among the received searchable ciphertexts using the trapdoor and the public key of the receiving terminal.

또한, 상기 본 발명의 또 다른 방법은, 상기 트랩도어의 검색 키워드가 포함된 검색 가능 암호문을 검색함에 따라, 상기 검색된 검색 가능 암호문과 상응하는 암호화된 데이터를 상기 수신 단말로 전송하는 데이터 전송 단계를 더 포함한다.In addition, another method of the present invention, according to the search for the searchable cipher text containing the search keyword of the trapdoor, a data transmission step of transmitting the encrypted data corresponding to the searched searchable cipher text to the receiving terminal It includes more.

상기와 같은 본 발명은, 송신 측에서는 암호화된 데이터와 해당 키워드들에 대한 검색 가능 암호문(SKE: Searchable Keyword Encryption)을 수신 측의 비공개키를 이용하여 생성함으로써, 공격자가 사전 공격 행위를 위하여 임의로 검색 가능 암호문을 생성할 수 없게 하는 효과가 있다.In the present invention as described above, the sender generates a searchable keyword encryption (SKE) for the encrypted data and the corresponding keywords by using the receiving side's private key, so that an attacker can arbitrarily search for a dictionary attack. This has the effect of not being able to generate cipher text.

또한, 본 발명은, 서버 측에서는 트랩도어를 이용하여 송신 측의 검색 가능 암호문에 검색하려는 검색 키워드의 포함 유무에 따라 암호화된 데이터를 검색함으로써, 공격자에 의한 사전 공격 행위를 방지하면서도 암호화된 데이터를 용이하게 검색할 수 있게 하는 효과가 있다.In addition, the present invention, by using the trap door on the server side to search the encrypted data in accordance with the presence or absence of the search keyword to be searched in the searchable ciphertext on the sending side, it is possible to facilitate the encrypted data while preventing the dictionary attack behavior by the attacker It has the effect of making it searchable.

또한, 상기 본 발명은, 서버 측에서는 암호화된 데이터의 검색 가능 암호문에 대한 키워드와 트랩도어의 키워드와의 일치 여부만을 확인할 수 있는 반면에, 검색 가능 암호문에 대한 키워드를 인식할 수 없게 하는 효과가 있다.In addition, the present invention, while the server side can only confirm whether the keyword for the searchable ciphertext of the encrypted data and the keyword of the trapdoor match, there is an effect that can not recognize the keyword for the searchable ciphertext. .

상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.The above objects, features, and advantages will become more apparent from the detailed description given hereinafter with reference to the accompanying drawings, and accordingly, those skilled in the art to which the present invention pertains may share the technical idea of the present invention. It will be easy to implement. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

이하의 일실시예에서는 본 발명의 이해를 돕기 위하여, 이메일(Email)을 주고 받는 상황을 일례로 들어 본 발명에 따른 사전 공격의 방지를 위한 키 생성 방법과, 그를 이용한 검색 가능 암호문 생성 방법 및 데이터 검색 방법을 살펴보기로 하나, 본 발명이 이에 한정되는 것이 아님을 미리 밝혀두며, 본 발명은 파일 공유 서버, ISP(Internet Service Provider) 서버 등을 이용하는 인터넷을 통해 데이터를 주고 받는 환경 등에도 적용될 수 있다.In the following embodiment, for the purpose of understanding the present invention, a key generation method for preventing a dictionary attack according to the present invention, and a searchable cipher text generation method and data using the same as an example of sending and receiving an email (email) as an example Although a search method will be described, the present invention is not limited thereto, and the present invention may be applied to an environment for exchanging data through the Internet using a file sharing server, an ISP (Internet Service Provider) server, and the like. have.

도 1 은 본 발명이 적용되는 이메일 시스템의 일실시예 구성도이다.1 is a block diagram of an embodiment of an email system to which the present invention is applied.

도 1에 도시된 바와 같이, 본 발명이 적용되는 이메일 시스템(100)은 키 생성 장치(110), 이메일 서버(120), 송신 단말(130), 및 수신 단말(140)을 포함한다.As shown in FIG. 1, the email system 100 to which the present invention is applied includes a key generating device 110, an email server 120, a transmitting terminal 130, and a receiving terminal 140.

키 생성 장치(110)는 이메일 시스템(100)에 필요한 키를 생성하는 키 생성 알고리즘을 수행한다. 즉, 키 생성 장치(110)는 테스트(test) 알고리즘에 이용되는 공개키(

Figure 112007086262735-PAT00001
), 수신 단말(140)의 비공개키 중 제1 비공개키인 암호(Encryption) 알고리즘에 이용되는 인덱스키(
Figure 112007086262735-PAT00002
), 및 수신 단말(140)의 비공개키 중 제2 비공개키인 트랩도어(Trapdoor) 알고리즘에 이용되는 검색키(
Figure 112007086262735-PAT00003
)를 생성한다. 여기서, 공개키(
Figure 112007086262735-PAT00004
)는 수신 단말(140)의 공개키이며, 인덱스키(
Figure 112007086262735-PAT00005
)는 송신 단말(130)에서 인지하여 암호화(Encryption)에 이용할 수 있는 수신 단말(140)의 비공개키 또는 비밀키이며, 검색키(
Figure 112007086262735-PAT00006
)는 수신 단말(140)에서만 인지하고 있는 비공개키다. 한편, 키 생성 장치(110)에서 수행되는 키 생성 알고리즘은 수신 단말(140)에서도 수행될 수 있다.The key generation device 110 performs a key generation algorithm for generating a key required for the email system 100. That is, the key generation device 110 uses a public key (used in a test algorithm).
Figure 112007086262735-PAT00001
), An index key used in an encryption algorithm that is a first private key among the private keys of the receiving terminal 140 (
Figure 112007086262735-PAT00002
) And a search key used for a trapdoor algorithm, which is a second private key of the private keys of the receiving terminal 140 (
Figure 112007086262735-PAT00003
) Where public key (
Figure 112007086262735-PAT00004
) Is the public key of the receiving terminal 140, the index key (
Figure 112007086262735-PAT00005
) Is a private key or a secret key of the receiving terminal 140 that can be recognized and used by the transmitting terminal 130 for encryption.
Figure 112007086262735-PAT00006
) Is a private key recognized only by the receiving terminal 140. Meanwhile, the key generation algorithm performed by the key generation device 110 may also be performed by the reception terminal 140.

송신 단말(130)은 전송하고자 하는 이메일 데이터를 암호화하고, 암호화된 이메일 데이터의 키워드들에 대한 검색 가능 암호문을 수신 단말(140)의 인덱스키(

Figure 112007086262735-PAT00007
)를 이용하여 생성한다. 그리고 송신 단말(130)은 암호화된 이메일 데이터에 검색 가능 암호문을 덧붙여 이메일 서버(120)로 전송한다. 이때, 송신 단 말(130)이 전송하고자 하는 이메일 데이터를 암호화하는 것과 검색 가능 암호문을 생성하는 것은 서로 독립적으로 수행된다. 따라서 송신 단말(130)은 일반적인 공개키 암호화 방식을 이용하여 이메일 데이터를 암호화하고, 그 이메일 데이터의 키워드들에 해당하는 검색 가능 암호문을 생성하며, 그 둘을 덧붙여 이메일 서버(120)로 전송한다.The transmitting terminal 130 encrypts the e-mail data to be transmitted, and retrieves the searchable cipher text for the keywords of the encrypted e-mail data.
Figure 112007086262735-PAT00007
Create with). The transmitting terminal 130 transmits the searchable cipher text to the encrypted email data to the email server 120. At this time, the transmitting terminal 130 encrypts the email data to be transmitted and generates a searchable cipher text independently of each other. Therefore, the transmitting terminal 130 encrypts the email data using a general public key encryption scheme, generates a searchable cipher text corresponding to the keywords of the email data, and adds the two to the email server 120.

수신 단말(140)은 이메일 서버(120)에서 자신이 전송받은 이메일 데이터들 중에서 특정 검색 키워드가 포함된 이메일 데이터를 검색하고자 할 때, 자신의 검색키(

Figure 112007086262735-PAT00008
)와 자신이 검색하려는 검색 키워드들을 이용하여 트랩도어(Trapdoor)를 생성한다. 그리고 수신 단말(140)은 생성된 트랩도어를 이메일 서버(120)로 전송한다.Receiving terminal 140, when the e-mail server 120 wants to search the e-mail data containing a specific search keyword among the e-mail data received by the user, his search key (
Figure 112007086262735-PAT00008
) And trapdoors using the search keywords you want to search. The receiving terminal 140 transmits the generated trap door to the e-mail server 120.

이메일 서버(120)는 송신 단말(130)로부터 전송된 이메일 데이터들과 해당 검색 가능 암호문을 저장한다. 그리고 이메일 서버(120)는 수신 단말(140)로부터 전송된 트랩도어, 검색하려는 수신 단말(140)의 공개키(

Figure 112007086262735-PAT00009
), 및 송신 단말(130)로부터 전송되어 저장된 검색 가능 암호문을 이용하여, 트랩도어에 대한 키워드들을 모두 포함하는 검색 가능 암호문이 있는지 여부를 확인한다. 즉, 이메일 서버(120)는 다수의 이메일 데이터의 키워드들에 대한 검색 가능 암호문들 중에서 검색하려는 검색 키워드가 포함된 검색 가능 암호문을 트랩도어를 이용하여 검색한다. 이때, 이메일 서버(120)는 수신 단말(140)이 검색하려는 검색 키워드들을 확인할 수 없으며, 단지 테스트하는 이메일 데이터에 대한 검색 가능 암호문이 특정 검 색 키워드에 관련되어 있는지 여부만을 확인할 수 있다. 그리고 이메일 서버(120)는 검색된 결과 또는 특정 이메일 데이터를 수신 단말(140)로 전송한다.The e-mail server 120 stores the e-mail data transmitted from the transmitting terminal 130 and the corresponding searchable cipher text. In addition, the e-mail server 120 is a trapdoor transmitted from the receiving terminal 140, the public key of the receiving terminal 140 to search (
Figure 112007086262735-PAT00009
), And using the searchable ciphertext transmitted and stored from the transmitting terminal 130, it is checked whether there is a searchable ciphertext including all the keywords for the trapdoor. That is, the e-mail server 120 searches the searchable cipher text including the search keyword to search among the searchable cipher texts for the keywords of the plurality of e-mail data using the trapdoor. In this case, the e-mail server 120 may not check the search keywords to be searched by the receiving terminal 140, and may only check whether a searchable cipher text for the test e-mail data is related to a specific search keyword. The email server 120 transmits the searched result or the specific email data to the receiving terminal 140.

한편, 수신 단말(140)은 한 번에 여러 키워드에 대한 검색(Conjunctive Search)을 지원하는 키워드 필드를 이용한다. 키워드 필드는 각 키워드의 속성을 나타낸다. 만약, 암호화하고자 하는 데이터가 이메일 데이터이라면 "보내는 사람", "받는 사람", "수신 날짜", "제목" 등을 키워드 필드로 설정할 수 있다.On the other hand, the receiving terminal 140 uses a keyword field that supports the search (Conjunctive Search) for several keywords at a time. The keyword field represents an attribute of each keyword. If the data to be encrypted is email data, "sender", "recipient", "receipt date", "title", etc. may be set as keyword fields.

예를 들어 보다 구체적으로 설명하면, 각 데이터의 키워드 집합(

Figure 112007086262735-PAT00010
)은
Figure 112007086262735-PAT00011
로 표기된다. 여기서,
Figure 112007086262735-PAT00012
은 m번째 키워드 필드의 키워드 필드값을 나타낸다. 이때, 모든 데이터는 m개의 키워드 필드를 가지며, 동일한 데이터의 서로 다른 키워드 필드는 다른 값을 가져야 한다고 가정한다.For example, in more detail, the keyword set for each data (
Figure 112007086262735-PAT00010
)silver
Figure 112007086262735-PAT00011
It is indicated by. here,
Figure 112007086262735-PAT00012
Indicates a keyword field value of the m th keyword field. In this case, it is assumed that all data have m keyword fields, and that different keyword fields of the same data should have different values.

상기의 두 조건(즉, 모든 데이터는 m개의 키워드 필드를 가지며, 동일한 데이터의 서로 다른 키워드 필드는 다른 값을 가져야 한다.)은 다음과 같은 방법을 통해 쉽게 만족될 수 있다.The above two conditions (that is, all data has m keyword fields, and different keyword fields of the same data must have different values) can be easily satisfied through the following method.

먼저, 키워드 필드값을 줄 때, "보내는 사람: Alice", "받는 사람: Bob"과 같이 "키워드 필드의 이름: 검색하려는 키워드"의 형태로 주면 동일한 데이터의 각 키워드 필드는 서로 다른 값을 가지게 된다. 또한, 검색 키워드의 수가 m보다 작을 경우, 해당 사항이 없는 키워드 필드의 값은 "키워드 필드의 이름: NULL"로 설정한다.First, when you give a keyword field value, give it in the form of "keyword field name: keyword to search for" such as "From: Alice" and "To: Bob". Each keyword field of the same data has a different value. do. In addition, when the number of search keywords is smaller than m, the value of the keyword field without a corresponding matter is set to "keyword field name: NULL".

한편, 키 생성 장치(110)에 의해 생성된 수신 단말(140)의 인덱스키(

Figure 112007086262735-PAT00013
)는 이메일을 전송하려는 송신 단말(130)만이 검색 가능 암호문을 생성할 시에 인지할 수 있어야 한다. 이는 공격 단말(도면에 도시되지 않음)이 수신 단말(140)의 인덱스키(
Figure 112007086262735-PAT00014
)를 이용하여 임의대로 검색 가능 암호문을 생성할 수 없도록 하기 위함이다. 이를 위하여, 송신 단말(130)은 수신 단말(140)의 인덱스키(
Figure 112007086262735-PAT00015
)를 미리 인지하거나 획득해야 한다. 그 방법들로는 사전 분배(Pre-distribution), 키 동의(Key agreement) 및 인증서(Certificate) 등이 있다. 이에 대한 상세한 설명은 [표 1]에서 설명하기로 한다.Meanwhile, the index key of the reception terminal 140 generated by the key generation device 110 (
Figure 112007086262735-PAT00013
) Should be recognizable when only the transmitting terminal 130 to transmit the email generates the searchable cipher text. This is because the attack terminal (not shown) shows the index key of the receiving terminal 140 (
Figure 112007086262735-PAT00014
) To make it impossible to generate a searchable ciphertext arbitrarily. To this end, the transmitting terminal 130 is the index key of the receiving terminal 140 (
Figure 112007086262735-PAT00015
) Should be recognized or acquired in advance. Such methods include pre-distribution, key agreement, and certificates. Detailed description thereof will be described in [Table 1].

Figure 112007086262735-PAT00016
Figure 112007086262735-PAT00016

첫째로, 상기 [표 1]에서의 사전 분배(Pre-distribution) 방식은 송신 단말(130)과 수신 단말(140)이 수신 단말(140)의 인덱스키(

Figure 112007086262735-PAT00017
)를 미리 공유하는 방식이다. 송신 단말(130)과 수신 단말(140)의 수가 적거나 고정되어 있는 경우에 적합한 방식으로, 수신 단말(140)의 검색키(
Figure 112007086262735-PAT00018
)는 수신 단말(140)에서만 저장되는 비공개키다.First, in the pre-distribution scheme in [Table 1], the transmitting terminal 130 and the receiving terminal 140 use the index key of the receiving terminal 140 (
Figure 112007086262735-PAT00017
) Is shared in advance. In a manner suitable for the case where the number of the transmitting terminal 130 and the receiving terminal 140 is small or fixed, the search key (
Figure 112007086262735-PAT00018
) Is a private key stored only in the receiving terminal 140.

둘째로, 키 동의(Key Agreement) 방식은 세션키를 이용한 방식이다. 즉, 송신 단말(130)과 수신 단말(140)은 종래의 키 동의 프로토콜을 이용하여 세션키를 생성하고, 그 생성된 세션키를 랜덤 시드(Random Seed)로 이용하여 이메일 시스템(100)에서 필요한 수신 단말(140)의 인덱스키(

Figure 112007086262735-PAT00019
) 및 검색키(
Figure 112007086262735-PAT00020
)를 생성한다. 키 동의(Key Agreement) 방식은 송신 단말(130)의 수가 적고 동적인 경우에 적합한 방식이다.Secondly, the key agreement method is a session key method. That is, the transmitting terminal 130 and the receiving terminal 140 generate a session key using a conventional key agreement protocol, and use the generated session key as a random seed to be necessary in the e-mail system 100. Index key of the receiving terminal 140 (
Figure 112007086262735-PAT00019
) And search key (
Figure 112007086262735-PAT00020
) The key agreement method is suitable when the number of transmitting terminals 130 is small and dynamic.

셋째로, 인증서(Certificate) 방식은 송신 단말(130)의 공개키와 인증서를 이용한 방식이다. 즉, 수신 단말(140)은 자신의 인덱스키(

Figure 112007086262735-PAT00021
)를 선택하고 선택한 인덱스키(
Figure 112007086262735-PAT00022
)를 송신 단말(130)의 공개키를 이용하여 암호화한다. 그리고 암호화된 인덱스키(
Figure 112007086262735-PAT00023
)를 자신의 인증서에 덧붙여 송신 단말(130)로 전송한다. 그러면, 송신 단말(130)은 수신 단말(140)의 인증서로부터 수신 단말(140)의 인덱스키(
Figure 112007086262735-PAT00024
)를 획득한다. 예를 들어, "Bob"이 "Alice"에게 이메일을 보내고자 한다면 "Bob"은 먼저 "Alice"의 인증서를 수신한다. 그리고 "Bob"은 수신한 인증서로부터 "Alice"의 인덱스키(
Figure 112007086262735-PAT00025
)를 획득한다. 그리고 "Bob"은 획득된 "Alice" 인덱스키(
Figure 112007086262735-PAT00026
)를 이용하여 검색 가능 암호문을 만들어 "Alice"에게 전송한다. 이러한 인증서(Certificate) 방식은 송신 단말(130) 및 수신 단말(140)의 수가 많은 경우에도 사용할 수 있는 장점이 있다.Third, the certificate method is a method using a public key and a certificate of the transmitting terminal 130. That is, the receiving terminal 140 has its index key (
Figure 112007086262735-PAT00021
) And select the index key (
Figure 112007086262735-PAT00022
) Is encrypted using the public key of the transmitting terminal 130. And the encrypted index key (
Figure 112007086262735-PAT00023
) Is added to its own certificate and transmitted to the transmitting terminal 130. Then, the transmitting terminal 130 is the index key of the receiving terminal 140 from the certificate of the receiving terminal 140 (
Figure 112007086262735-PAT00024
). For example, if "Bob" wants to send an email to "Alice", "Bob" first receives a certificate of "Alice". "Bob" is the index key of "Alice" from the received certificate (
Figure 112007086262735-PAT00025
). "Bob" is the obtained "Alice" index key (
Figure 112007086262735-PAT00026
) To create a searchable ciphertext and send it to Alice. Such a certificate scheme has an advantage that can be used even when the number of the transmitting terminal 130 and the receiving terminal 140 is large.

이후, 본 발명을 더욱 상세하게 설명하기에 앞서, 배경이 되는 수학적 지식에 대해 개략적으로 설명하기로 한다.Hereinafter, prior to explaining the present invention in more detail, the mathematical knowledge as a background will be described in brief.

먼저, 임의의 그룹(

Figure 112007086262735-PAT00027
)과 그 그룹(
Figure 112007086262735-PAT00028
)의 원소(a)가 존재할 때, 하기의 [수학식 1]을 만족하는 원소(a)를 그룹(
Figure 112007086262735-PAT00029
)의 생성자라 한다. First, random groups (
Figure 112007086262735-PAT00027
) And its group (
Figure 112007086262735-PAT00028
When element (a) of) is present, group (a) that satisfies Equation 1
Figure 112007086262735-PAT00029
Is called the constructor.

Figure 112007086262735-PAT00030
Figure 112007086262735-PAT00030

여기서, Z는 정수의 집합을 나타내고,

Figure 112007086262735-PAT00031
이 항등원이 되는 가장 작은 양의 정수(m)를 그룹(
Figure 112007086262735-PAT00032
)의 위수(Order)라 한다.Where Z represents a set of integers,
Figure 112007086262735-PAT00031
The smallest positive integer (m)
Figure 112007086262735-PAT00032
Is called the Order.

이때, 임의의 큰 소수(p)를 위수로 갖는 제1 및 제2 그룹(

Figure 112007086262735-PAT00033
Figure 112007086262735-PAT00034
) 사이에 성립하는 바이리니어 맵(bilinear map)은 하기의 [수학식 2]로 표현되며, 하기의 세 가지 특성을 만족한다.In this case, the first and the second group having any large prime number p as a rank (
Figure 112007086262735-PAT00033
and
Figure 112007086262735-PAT00034
The bilinear map, which holds between), is expressed by Equation 2 below, and satisfies the following three characteristics.

Figure 112007086262735-PAT00035
Figure 112007086262735-PAT00035

여기서,

Figure 112007086262735-PAT00036
는 페어링(Pairing) 연산을 나타낸다.here,
Figure 112007086262735-PAT00036
Denotes a pairing operation.

첫째로, 바이리니어(Bilinear)에 대해, 제1 그룹(

Figure 112007086262735-PAT00037
)의 모든 원소
Figure 112007086262735-PAT00038
Figure 112007086262735-PAT00039
(
Figure 112007086262735-PAT00040
)에 대해 상기의 [수학식 3]을 만족하면 바이리니어(Bilinear)하다고 말한다.Firstly, for Bilinear, the first group (
Figure 112007086262735-PAT00037
All elements of)
Figure 112007086262735-PAT00038
Wow
Figure 112007086262735-PAT00039
(
Figure 112007086262735-PAT00040
If the above Equation 3 is satisfied, it is said to be bilinear.

Figure 112007086262735-PAT00041
Figure 112007086262735-PAT00041

여기서,

Figure 112007086262735-PAT00042
는 제1 그룹(
Figure 112007086262735-PAT00043
)의 모든 원소,
Figure 112007086262735-PAT00044
는 정수(Z)에 속하는 원소를 나타낸다.here,
Figure 112007086262735-PAT00042
Is the first group (
Figure 112007086262735-PAT00043
All elements of),
Figure 112007086262735-PAT00044
Represents an element belonging to the integer Z.

둘째로, 논-디제너레이트(Non-degenerate)에 대해,

Figure 112007086262735-PAT00045
원소가 제1 그룹(
Figure 112007086262735-PAT00046
)의 생성자면,
Figure 112007086262735-PAT00047
는 제2 그룹(
Figure 112007086262735-PAT00048
)의 생성자이다.Secondly, for non-degenerate,
Figure 112007086262735-PAT00045
Element is the first group (
Figure 112007086262735-PAT00046
If you are a constructor of)
Figure 112007086262735-PAT00047
Is the second group (
Figure 112007086262735-PAT00048
) Constructor.

셋째로, 컴퓨터블(Computable)에 대해, 제1 그룹(

Figure 112007086262735-PAT00049
)의 모든 원소(
Figure 112007086262735-PAT00050
)에 대해서
Figure 112007086262735-PAT00051
를 효율적으로 계산할 수 있는 알고리즘이 존재한다.Third, for Computable, the first group (
Figure 112007086262735-PAT00049
All elements of)
Figure 112007086262735-PAT00050
)about
Figure 112007086262735-PAT00051
There is an algorithm that can efficiently calculate.

한편, 바이리니어 디피 헬만(Bilinear Diffie-Hellman) 문제에 대해 살펴보면, 제1 그룹(

Figure 112007086262735-PAT00052
)에서의 바이리니어 디피 헬만(Bilinear Diffie-Hellman) 문제는 제1 그룹(
Figure 112007086262735-PAT00053
)의 원소인
Figure 112007086262735-PAT00054
가 입력으로 주어졌을 때, 제2 그룹(
Figure 112007086262735-PAT00055
)의 원소인
Figure 112007086262735-PAT00056
를 계산하는 것이다. 본 발명의 안전성은 상기 바이리니어 디피 헬만(Bilinear Diffie-Hellman) 문제에 기반한다.On the other hand, when looking at the Bilinear Diffie-Hellman problem, the first group (
Figure 112007086262735-PAT00052
Bilinear Diffie-Hellman problem in the
Figure 112007086262735-PAT00053
Element of
Figure 112007086262735-PAT00054
When is given as input, the second group (
Figure 112007086262735-PAT00055
Element of
Figure 112007086262735-PAT00056
Will be calculated. The safety of the present invention is based on the Bilinear Diffie-Hellman problem.

이하, 전술한 내용을 기반으로 본 발명에 따른 사전 공격 방지를 위한 검색 가능 암호화 방법에 대하여 보다 상세하게 살펴보기로 한다.Hereinafter, a searchable encryption method for preventing dictionary attack according to the present invention will be described in more detail with reference to the above description.

도 2 는 본 발명에 따른 사전 공격의 방지를 위한 키 생성 방법에 대한 일실시예 흐름도이다.2 is a flowchart illustrating a key generation method for preventing a dictionary attack according to the present invention.

먼저, 키 생성 장치(110)는 "

Figure 112007086262735-PAT00057
"로 표현되는 보안 매개 변수(Security Parameter)를 입력으로 받고, 입력받은 보안 매개 변수(Security Parameter)에 따라 제1 그룹(
Figure 112007086262735-PAT00058
)과 제2 그룹(
Figure 112007086262735-PAT00059
)의 위수(p)의 크기를 결정하고, 그에 따른 난수를 선택할 때마다 랜덤하게 선택한다(202). 즉, 키 생성 장치(110)는 0 내지 p-1까지의 정수 집합(
Figure 112007086262735-PAT00060
)의 원소인
Figure 112007086262735-PAT00061
Figure 112007086262735-PAT00062
와,
Figure 112007086262735-PAT00063
의 크기를 갖는 이진 문자열(
Figure 112007086262735-PAT00064
)을 랜덤하게 선택하고, 제1 그룹(
Figure 112007086262735-PAT00065
)의 생성자(
Figure 112007086262735-PAT00066
)를 선택한다.First, the key generation device 110 is "
Figure 112007086262735-PAT00057
Receives a security parameter expressed as "as an input, and according to the received security parameter (Security Parameter) the first group (
Figure 112007086262735-PAT00058
) And the second group (
Figure 112007086262735-PAT00059
The magnitude of the power p is determined and randomly selected every time the random number is selected (202). That is, the key generating device 110 is a set of integers from 0 to p-1 (
Figure 112007086262735-PAT00060
Element of
Figure 112007086262735-PAT00061
and
Figure 112007086262735-PAT00062
Wow,
Figure 112007086262735-PAT00063
Binary string with size of (
Figure 112007086262735-PAT00064
) Is randomly selected, and the first group (
Figure 112007086262735-PAT00065
) Constructor
Figure 112007086262735-PAT00066
Select).

그리고 키 생성 장치(110)는 난수(정수 집합의 원소, 이진 문자열, 제1 그룹의 생성자)를 이용하여 비공개키를 생성하되, 검색 가능 암호문의 생성을 위한 제1 비공개키와 트랩도어의 생성을 위한 제2 비공개키로 구분하여 생성한다(204). 즉, 키 생성 장치(110)는 선택된

Figure 112007086262735-PAT00067
의 원소인
Figure 112007086262735-PAT00068
Figure 112007086262735-PAT00069
, 이진 문자열(
Figure 112007086262735-PAT00070
) 및 제1 그룹(
Figure 112007086262735-PAT00071
)의 생성자(
Figure 112007086262735-PAT00072
)를 이용하여, 제1 비공개키인 인덱스키(
Figure 112007086262735-PAT00073
) 및 제2 비공개키인 검색키(
Figure 112007086262735-PAT00074
)를 생성한다. 또한, 키 생성 장치(110)는 선택된 난수를 이용하여, 데이터 검색을 위한 공개키를 생성한다(206).The key generator 110 generates a private key using a random number (elements of an integer set, a binary string, a constructor of a first group), and generates a first private key and a trapdoor for generating a searchable ciphertext. Generated by dividing by a second private key for (204). That is, the key generation device 110 is selected
Figure 112007086262735-PAT00067
Element of
Figure 112007086262735-PAT00068
and
Figure 112007086262735-PAT00069
, Binary string (
Figure 112007086262735-PAT00070
) And the first group (
Figure 112007086262735-PAT00071
) Constructor
Figure 112007086262735-PAT00072
), The index key (the first private key)
Figure 112007086262735-PAT00073
) And the second private key, the search key (
Figure 112007086262735-PAT00074
) In addition, the key generation device 110 generates a public key for data retrieval using the selected random number (206).

키 생성 장치(110)에서 생성된 인덱스키(

Figure 112007086262735-PAT00075
), 공개키(
Figure 112007086262735-PAT00076
) 및 검색키(
Figure 112007086262735-PAT00077
)는 하기의 [수학식 4]에 나타나 있다.Index key generated by the key generation device 110 (
Figure 112007086262735-PAT00075
), Public key (
Figure 112007086262735-PAT00076
) And search key (
Figure 112007086262735-PAT00077
) Is shown in Equation 4 below.

Figure 112007086262735-PAT00078
Figure 112007086262735-PAT00078

여기서, p는 제1 그룹(

Figure 112007086262735-PAT00079
)과 제2 그룹(
Figure 112007086262735-PAT00080
)의 위수,
Figure 112007086262735-PAT00081
Figure 112007086262735-PAT00082
Figure 112007086262735-PAT00083
의 원소,
Figure 112007086262735-PAT00084
는 제1 그룹(
Figure 112007086262735-PAT00085
)의 생성자,
Figure 112007086262735-PAT00086
Figure 112007086262735-PAT00087
의 크기를 갖는 이진 문자열,
Figure 112007086262735-PAT00088
는 정수 집합{0, 1, 2, …, p-1}을 나타낸다.Where p is the first group (
Figure 112007086262735-PAT00079
) And the second group (
Figure 112007086262735-PAT00080
),
Figure 112007086262735-PAT00081
and
Figure 112007086262735-PAT00082
Is
Figure 112007086262735-PAT00083
Element of,
Figure 112007086262735-PAT00084
Is the first group (
Figure 112007086262735-PAT00085
) Constructor,
Figure 112007086262735-PAT00086
Is
Figure 112007086262735-PAT00087
A binary string with the size of,
Figure 112007086262735-PAT00088
Is a set of integers {0, 1, 2,... , p-1}.

이메일 서버(120)가 수신 단말(140)이 원하는 이메일 데이터들을 검색할 때 사용되는 수신 단말(140)의 공개키(

Figure 112007086262735-PAT00089
)는 3개의 값(
Figure 112007086262735-PAT00090
,
Figure 112007086262735-PAT00091
,
Figure 112007086262735-PAT00092
)을 포함한다. 여기서,
Figure 112007086262735-PAT00093
는 임의의 그룹(
Figure 112007086262735-PAT00094
)의 생성자(
Figure 112007086262735-PAT00095
)에 랜덤한 값(
Figure 112007086262735-PAT00096
)을 곱한 값(
Figure 112007086262735-PAT00097
)과 생성자(
Figure 112007086262735-PAT00098
)를 페어링 연산한 결과값,
Figure 112007086262735-PAT00099
는 생성자(
Figure 112007086262735-PAT00100
)에 랜덤한 값(
Figure 112007086262735-PAT00101
)을 곱한 값을 나타낸다.The public key of the receiving terminal 140 that is used when the email server 120 retrieves the desired email data by the receiving terminal 140 (
Figure 112007086262735-PAT00089
) Has three values (
Figure 112007086262735-PAT00090
,
Figure 112007086262735-PAT00091
,
Figure 112007086262735-PAT00092
). here,
Figure 112007086262735-PAT00093
Is a random group (
Figure 112007086262735-PAT00094
) Constructor
Figure 112007086262735-PAT00095
) Is a random value (
Figure 112007086262735-PAT00096
Multiplied by
Figure 112007086262735-PAT00097
) And constructor (
Figure 112007086262735-PAT00098
) Is the result of pairing
Figure 112007086262735-PAT00099
Is the constructor (
Figure 112007086262735-PAT00100
) Is a random value (
Figure 112007086262735-PAT00101
) Is multiplied by

이때,

Figure 112007086262735-PAT00102
로부터 랜덤한 값(
Figure 112007086262735-PAT00103
)을 계산하는 것은 수학적으로 풀기 어렵다고 알려져 있는 문제이기 때문에, 임의의 수신 단말(140)의 공개키를 알고 있다 하더라도 그 수신 단말(140)의 검색키(
Figure 112007086262735-PAT00104
) 성분을 알 수 없다.At this time,
Figure 112007086262735-PAT00102
Random value from
Figure 112007086262735-PAT00103
) Is a problem known to be difficult to solve mathematically, so even if the public key of any receiving terminal 140 is known, the search key () of the receiving terminal 140 is known.
Figure 112007086262735-PAT00104
) Ingredients are unknown.

송신 단말(130)이 검색 가능 암호문을 생성할 때 사용하는 수신 단말(140)의 인덱스키(

Figure 112007086262735-PAT00105
)는 랜덤하게 선택한
Figure 112007086262735-PAT00106
크기의 이진 문자열(
Figure 112007086262735-PAT00107
)이다. 또한, 수신 단말(140)이 검색하고자 하는 키워드에 대한 트랩도어를 생성할 때 사용하는 검색키(
Figure 112007086262735-PAT00108
)는 인덱스키(
Figure 112007086262735-PAT00109
)의 이진 문자열(
Figure 112007086262735-PAT00110
),
Figure 112007086262735-PAT00111
Figure 112007086262735-PAT00112
인 3개의 값을 포함한다. 여기서,
Figure 112007086262735-PAT00113
는 제1 그룹(
Figure 112007086262735-PAT00114
)의 생성자(
Figure 112007086262735-PAT00115
)에 랜덤한 값(
Figure 112007086262735-PAT00116
)을 곱한 결과값이며, 랜덤한 값(
Figure 112007086262735-PAT00117
)도 검색키(
Figure 112007086262735-PAT00118
)의 원소가 된다.Index key of the receiving terminal 140 used when the transmitting terminal 130 generates a searchable cipher text (
Figure 112007086262735-PAT00105
) Randomly selected
Figure 112007086262735-PAT00106
Binary string of size (
Figure 112007086262735-PAT00107
)to be. In addition, a search key used when the receiving terminal 140 generates a trap door for a keyword to be searched (
Figure 112007086262735-PAT00108
) Is the index key (
Figure 112007086262735-PAT00109
) Binary string (
Figure 112007086262735-PAT00110
),
Figure 112007086262735-PAT00111
And
Figure 112007086262735-PAT00112
Contains three values: here,
Figure 112007086262735-PAT00113
Is the first group (
Figure 112007086262735-PAT00114
) Constructor
Figure 112007086262735-PAT00115
) Is a random value (
Figure 112007086262735-PAT00116
) Times the random value (
Figure 112007086262735-PAT00117
) Also search key (
Figure 112007086262735-PAT00118
) Element.

종래에는 송신 단말(130)이 검색 가능 암호문을 생성할 때와 이메일 서버(120)가 검색할 때 사용하는 수신 단말(140)의 공개키, 수신 단말(140)이 트랩도어를 생성할 때 사용하는 자신의 비공개키, 즉 2개의 키가 이용된다. 하지만, 본 발명에서는 송신 단말(130)이 검색 가능 암호문을 생성할 때 이용하는 키와 이메일 서버(120)가 검색할 때 이용하는 키를 분리하여 총 3개의 키(인덱스키(

Figure 112007086262735-PAT00119
), 공개키(
Figure 112007086262735-PAT00120
) 및 검색키(
Figure 112007086262735-PAT00121
))를 이용하며, 검색 가능 암호문을 생성할 때 이용하는 인덱스키(
Figure 112007086262735-PAT00122
)는 정당한 송신 단말(130) 이외에는 획득할 수 없다. 따라서 수신 단말(140)의 공개키를 획득하여 임의의 검색 가능 암호문을 생성할 수 있었던 종래의 검색 가능 암호 시스템과는 달리, 본 발명은 정당한 송신 단말(130) 이외에는 검색 가능 암호문을 생성할 수 없기 때문에 사전 공격으로부터 보다 안전할 수 있다.Conventionally, when the transmitting terminal 130 generates a searchable ciphertext and the public key of the receiving terminal 140 used when the email server 120 searches, the receiving terminal 140 uses the generated trap door. Its own private key, ie two keys, is used. However, in the present invention, the key used when the transmitting terminal 130 generates the searchable cipher text and the key used by the e-mail server 120 to search are separated into a total of three keys (index ski (
Figure 112007086262735-PAT00119
), Public key (
Figure 112007086262735-PAT00120
) And search key (
Figure 112007086262735-PAT00121
Index key () to generate a searchable ciphertext.
Figure 112007086262735-PAT00122
) Can not be obtained other than the valid transmission terminal 130. Therefore, unlike the conventional searchable cipher system that could generate an arbitrary searchable ciphertext by acquiring the public key of the receiving terminal 140, the present invention cannot generate a searchable ciphertext other than the legitimate transmitting terminal 130. This makes it safer from dictionary attacks.

도 3 은 본 발명에 따른 사전 공격의 방지를 위한 검색 가능 암호문 생성 방 법에 대한 일실시예 흐름도이다.3 is a flowchart illustrating an example of a searchable cipher text generation method for preventing a dictionary attack according to the present invention.

먼저, 송신 단말(130)은 저장하고자 하는 데이터를 암호화한다(302).First, the transmitting terminal 130 encrypts data to be stored (302).

그리고 송신 단말(130)은 암호화된 데이터의 키워드와 수신 단말(140)의 비공개키 중 제1 비공개키(인덱스키)를 이용하여 검색 가능 암호문을 생성한다(304). 즉, 송신 단말(130)은 송신하고자 하는 이메일 데이터의 키워드들과 키 생성 장치(110)에서 생성된 수신 단말(140)의 인덱스키(

Figure 112007086262735-PAT00123
)를 이용하여 검색 가능 암호문을 생성한다.In operation 304, the transmitting terminal 130 generates a searchable cipher text using a keyword of the encrypted data and a first private key (index key) among the private keys of the receiving terminal 140. That is, the transmitting terminal 130 may include keywords of the email data to be transmitted and an index key of the receiving terminal 140 generated by the key generating apparatus 110 (
Figure 112007086262735-PAT00123
) To create a searchable ciphertext.

그리고 송신 단말(130)은 암호화된 데이터와 생성된 검색 가능 암호문을 이메일 서버(120)로 전송한다(306).The transmitting terminal 130 transmits the encrypted data and the generated searchable cipher text to the email server 120 (306).

"304" 과정을 구체적으로 살펴보면, 송신 단말(130)은

Figure 112007086262735-PAT00124
에서 랜덤한 값(
Figure 112007086262735-PAT00125
)을 선택하고, 의사 난수(pseudo-random) 함수(F)를 이용하여 하기의 [수학식 5]와 같이 계산한다.Looking specifically at the "304" process, the transmitting terminal 130 is
Figure 112007086262735-PAT00124
Random value from
Figure 112007086262735-PAT00125
) Is calculated using the pseudo-random function (F) as shown in Equation 5 below.

Figure 112007086262735-PAT00126
Figure 112007086262735-PAT00126

여기서,

Figure 112007086262735-PAT00127
은 제1 그룹(
Figure 112007086262735-PAT00128
)의 생성자(
Figure 112007086262735-PAT00129
)에 송신 단말(130)이 랜덤하게 선택한 값(
Figure 112007086262735-PAT00130
)을 곱한 결과값,
Figure 112007086262735-PAT00131
Figure 112007086262735-PAT00132
를 연산한 결과값,
Figure 112007086262735-PAT00133
는 공개키(
Figure 112007086262735-PAT00134
)의 성 분인
Figure 112007086262735-PAT00135
,
Figure 112007086262735-PAT00136
은 송신 단말(130)이 검색 가능 암호문을 생성하기 위해 랜덤하게 선택한 값들을 나타내며, 각
Figure 112007086262735-PAT00137
는 전송하려는 이메일의 각 키워드(
Figure 112007086262735-PAT00138
)를 암호화하는데 이용되고,
Figure 112007086262735-PAT00139
는 m개의 키워드들을 암호화하는데 공통으로 이용된다.here,
Figure 112007086262735-PAT00127
Is the first group (
Figure 112007086262735-PAT00128
) Constructor
Figure 112007086262735-PAT00129
) Is a value randomly selected by the transmitting terminal 130 (
Figure 112007086262735-PAT00130
) Multiplied by
Figure 112007086262735-PAT00131
Is
Figure 112007086262735-PAT00132
Is the result of calculating
Figure 112007086262735-PAT00133
Is the public key (
Figure 112007086262735-PAT00134
A member of)
Figure 112007086262735-PAT00135
,
Figure 112007086262735-PAT00136
Represents values randomly selected by the transmitting terminal 130 to generate a searchable ciphertext,
Figure 112007086262735-PAT00137
Is the keyword of each email
Figure 112007086262735-PAT00138
Is used to encrypt
Figure 112007086262735-PAT00139
Is commonly used to encrypt m keywords.

또한,

Figure 112007086262735-PAT00140
에서
Figure 112007086262735-PAT00141
은 수신 단말(140)의 인덱스키(
Figure 112007086262735-PAT00142
)의 성분인 랜덤한 이진 문자열,
Figure 112007086262735-PAT00143
는 암호화하려는 키워드,
Figure 112007086262735-PAT00144
에서
Figure 112007086262735-PAT00145
는 수신 단말(140)의 공개키(
Figure 112007086262735-PAT00146
)의 성분을 나타낸다.Also,
Figure 112007086262735-PAT00140
in
Figure 112007086262735-PAT00141
Is the index key of the receiving terminal 140 (
Figure 112007086262735-PAT00142
A random binary string that is a component of
Figure 112007086262735-PAT00143
Is the keyword you want to encrypt,
Figure 112007086262735-PAT00144
in
Figure 112007086262735-PAT00145
Is the public key of the receiving terminal 140 (
Figure 112007086262735-PAT00146
) Component.

이때,

Figure 112007086262735-PAT00147
Figure 112007086262735-PAT00148
는 이메일 키워드 개수만큼 생성되는데,
Figure 112007086262735-PAT00149
에는 암호화하려는 키워드(
Figure 112007086262735-PAT00150
)와 수신 단말(140)의 인덱스키(
Figure 112007086262735-PAT00151
)인 이진 문자열(
Figure 112007086262735-PAT00152
)의 성분이 포함되므로 특정 수신 단말(140)의 인덱스키(
Figure 112007086262735-PAT00153
)를 모르면 정당한
Figure 112007086262735-PAT00154
를 생성할 수 없다. 또한,
Figure 112007086262735-PAT00155
에서
Figure 112007086262735-PAT00156
를 계산할 때 이용하는 랜덤한 값(
Figure 112007086262735-PAT00157
)을 동일하게 이용하여,
Figure 112007086262735-PAT00158
Figure 112007086262735-PAT00159
값에 서로 관련성이 존재하도록 한다.At this time,
Figure 112007086262735-PAT00147
Wow
Figure 112007086262735-PAT00148
Is generated by the number of email keywords.
Figure 112007086262735-PAT00149
Contains the keywords you want to encrypt (
Figure 112007086262735-PAT00150
) And the index key of the receiving terminal 140 (
Figure 112007086262735-PAT00151
Binary string ()
Figure 112007086262735-PAT00152
) Component is included, so that the index key (
Figure 112007086262735-PAT00153
Just don't know
Figure 112007086262735-PAT00154
Cannot be generated. Also,
Figure 112007086262735-PAT00155
in
Figure 112007086262735-PAT00156
Is a random value used to calculate
Figure 112007086262735-PAT00157
) Using the same,
Figure 112007086262735-PAT00158
Wow
Figure 112007086262735-PAT00159
Ensure that values exist in relation to each other.

상기 [수학식 5]에 이용되는 의사 난수(pseudo-random) 함수(F)는 하기의 [수학식 6]과 같이 표현된다.A pseudo-random function (F) used in Equation 5 is expressed as Equation 6 below.

Figure 112007086262735-PAT00160
Figure 112007086262735-PAT00160

상기 [수학식 6]은

Figure 112007086262735-PAT00161
의 크기를 갖는 이진 문자열과 임의의 크기를 갖는 이진 문자열을 입력으로 받아 제1 그룹(
Figure 112007086262735-PAT00162
)의 랜덤한 원소를 출력하는 함수를 의미한다. 송신 단말(130)은 상기의 값을 하기의 [수학식 7]에 적용하여 검색 가능 암호문(S)을 생성한다.[Equation 6] is
Figure 112007086262735-PAT00161
The first group takes a binary string having a size of and a binary string having a size of
Figure 112007086262735-PAT00162
This function outputs a random element of). The transmitting terminal 130 generates the searchable cipher text S by applying the above value to Equation 7 below.

Figure 112007086262735-PAT00163
Figure 112007086262735-PAT00163

여기서,

Figure 112007086262735-PAT00164
,
Figure 112007086262735-PAT00165
,
Figure 112007086262735-PAT00166
,
Figure 112007086262735-PAT00167
는 상기 [수학식 5]에 나타나 있다.here,
Figure 112007086262735-PAT00164
,
Figure 112007086262735-PAT00165
,
Figure 112007086262735-PAT00166
,
Figure 112007086262735-PAT00167
Is shown in Equation 5 above.

종래의 검색 가능 암호문을 생성하는 알고리즘에서는 검색 가능 암호문을 생성할 때 수신 단말(140)의 공개키를 이용하기 때문에, 악의적인 공격자가 자신이 원하는 키워드에 대한 정당한 검색 가능 암호문을 생성할 수 있었다. 따라서 공격자가 자주 사용되는 키워드들에 대한 검색 가능 암호문들의 목록을 생성하면, 이를 이용하여 암호화된 이메일 데이터가 어떤 키워드들을 포함하고 있는지 알 수 있는 확률이 높아진다. 하지만, 본 발명의 검색 가능 암호문을 생성하는 알고리즘은 정당한 송신 단말(130)만이 수신 단말(140)의 인덱스키를 획득할 수 있기 때문에, 전술한 사전 공격이 불가능하다.In the conventional algorithm for generating a searchable ciphertext, since the public key of the receiving terminal 140 is used when generating the searchable ciphertext, a malicious attacker could generate a legitimate searchable ciphertext for a keyword desired by the malicious attacker. Thus, when an attacker creates a list of searchable ciphertexts for frequently used keywords, the attacker can use them to find out which keywords the encrypted email data contains. However, in the algorithm for generating the searchable cipher text of the present invention, since only the legitimate transmitting terminal 130 can obtain the index key of the receiving terminal 140, the aforementioned dictionary attack is impossible.

도 4 는 본 발명에 따른 사전 공격의 방지를 위한 트랩도어 생성 방법에 대한 일실시예 흐름도이다.4 is a flowchart illustrating a trapdoor generation method for preventing a dictionary attack according to the present invention.

수신 단말(140)은 자신이 수신받은 이메일 데이터 중에서 특정 이메일 데이 터를 검색하기 위해 자신의 검색키(

Figure 112007086262735-PAT00168
)와 자신이 검색하고자 하는 키워드들을 이용하여 트랩도어를 생성한다. 수신 단말(140)에서 생성된 트랩도어는 수신 단말(140)의 검색키(
Figure 112007086262735-PAT00169
)를 획득하고 있는 수신 단말(140)에서만 생성될 수 있다. 이메일 서버(120)는 수신 단말(140)에서 생성된 트랩도어를 이용하여 수신 단말(140)이 원하는 이메일 데이터들을 검색한다.The receiving terminal 140 uses its own search key to search for specific email data among the received email data.
Figure 112007086262735-PAT00168
) And create a trapdoor using the keywords you want to search. The trapdoor generated by the receiving terminal 140 is a search key of the receiving terminal 140 (
Figure 112007086262735-PAT00169
) May be generated only in the receiving terminal 140 that is acquiring). The e-mail server 120 searches for e-mail data desired by the receiving terminal 140 using the trapdoor generated by the receiving terminal 140.

여기서, 수신 단말(140)이 검색하고자 하는 키워드들에 대한 정보를 쿼리(query) 정보라 하면, 쿼리 정보(Q)는

Figure 112007086262735-PAT00170
의 형태를 갖는다. 여기서, (
Figure 112007086262735-PAT00171
)는 검색하고자 하는 검색 키워드들,
Figure 112007086262735-PAT00172
는 검색하려는 키워드들의 위치에 대한 식별자들을 나타낸다. 예를 들어, "보내는 사람", "받는 사람", "수신 날짜", "제목"이 각 이메일의 키워드 필드로 주어져 있고, 특정 수신 단말은 자신이 받은 이메일들 중에서 “Alice”가 보낸 이메일들을 찾는다고 생각한다. 각 키워드 필드의 위치를 차례로 "보내는 사람: 1", "받는 사람: 2", "수신 날짜: 3", "제목: 4"로 설정한다면, 이때, 키워드들의 쿼리 정보(Q)는
Figure 112007086262735-PAT00173
이다.Here, if the receiver terminal 140 is query information for information about keywords to be searched, the query information Q is
Figure 112007086262735-PAT00170
Has the form of. here, (
Figure 112007086262735-PAT00171
) Matches the search keywords you
Figure 112007086262735-PAT00172
Denotes identifiers for locations of keywords to search for. For example, "From", "To", "Received", and "Subject" are given as keyword fields for each email, and a specific receiving terminal searches for emails sent by "Alice" among the emails it receives. I think that. If the location of each keyword field is set to "From: 1", "To: 2", "Received Date: 3", and "Title: 4" in turn, then the query information (Q) of the keywords is
Figure 112007086262735-PAT00173
to be.

트랩도어 생성 과정을 구체적으로 살펴보면, 수신 단말(140)은

Figure 112007086262735-PAT00174
에서 랜덤한 값인 난수(u)를 선택한다(402).Looking at the trap door generation process in detail, the receiving terminal 140
Figure 112007086262735-PAT00174
In step 402, a random value u is selected, which is a random value.

그리고 수신 단말(140)은 선택된 난수(u)와, 검색 키워드에 해당하는 쿼리 정보 및 검색키(

Figure 112007086262735-PAT00175
)를 이용하여 트랩도어를 생성한다(404).In addition, the reception terminal 140 selects the selected random number u, the query information corresponding to the search keyword, and the search key (
Figure 112007086262735-PAT00175
Trap door is generated using 404.

그리고 수신 단말(140)은 생성된 트랩도어를 이메일 서버(120)로 전송한 후(406), 그에 대한 응답으로 트랩도어와 일치하는 암호화된 데이터를 이메일 서버(120)로부터 전달받는다(408).The reception terminal 140 transmits the generated trapdoor to the email server 120 (406), and receives encrypted data corresponding to the trapdoor from the email server 120 in response (408).

"404" 과정을 구체적으로 살펴보면, 수신 단말(140)은 선택된 난수(u), 쿼리 정보(Q) 및 검색키(

Figure 112007086262735-PAT00176
)를 하기의 [수학식 8]에 적용하여 트랩도어(T)를 생성한다. 여기서, 수신 단말(140)에서 생성된 트랩도어(T)는
Figure 112007086262735-PAT00177
와 같은 구조를 가진다.Looking at the process "404" in detail, the receiving terminal 140 is selected random number (u), query information (Q) and the search key (
Figure 112007086262735-PAT00176
) Is applied to Equation 8 below to generate a trapdoor (T). Here, the trap door (T) generated in the receiving terminal 140 is
Figure 112007086262735-PAT00177
Has the same structure as

Figure 112007086262735-PAT00178
Figure 112007086262735-PAT00178

여기서,

Figure 112007086262735-PAT00179
은 제1 그룹(
Figure 112007086262735-PAT00180
)의 생성자(
Figure 112007086262735-PAT00181
)에 트랩도어를 생성하는 수신 단말(140)에서 랜덤하게 선택된 값(u)을 곱한 값,
Figure 112007086262735-PAT00182
는 수신 단말(140)의 공개키(
Figure 112007086262735-PAT00183
)의 성분
Figure 112007086262735-PAT00184
Figure 112007086262735-PAT00185
의 계산에 사용된 랜덤한 값(u)을 곱한 값,
Figure 112007086262735-PAT00186
에서
Figure 112007086262735-PAT00187
는 수신 단말(140)의 인덱스키(
Figure 112007086262735-PAT00188
) 성분인 이진 문자열(
Figure 112007086262735-PAT00189
)과 검색하려는 키워드(
Figure 112007086262735-PAT00190
)를 의사 난수(pseudo-random) 함수(F)의 입력으로 넣었을 때의 출력 값,
Figure 112007086262735-PAT00191
는 이 값들과
Figure 112007086262735-PAT00192
,
Figure 112007086262735-PAT00193
계산에 이용된 랜덤한 값(u), 및 수신 단말(140)의 검 색키(
Figure 112007086262735-PAT00194
) 성분(
Figure 112007086262735-PAT00195
,
Figure 112007086262735-PAT00196
)이 이용되어 계산된 값을 나타낸다. 이때, 수신 단말(140)에서 선택된 랜덤한 값(u)은 트랩도어의 성분(
Figure 112007086262735-PAT00197
,
Figure 112007086262735-PAT00198
,
Figure 112007086262735-PAT00199
)을 계산할 때 공통으로 이용되기 때문에, 이 세 값들이 서로 관련성을 갖도록 한다. 또한, 트랩도어는 해당 수신 단말(140)만 알고 있는 검색키()를 이용하여 생성되기 때문에, 검색키(
Figure 112007086262735-PAT00201
)를 모르는 공격자는 정당한 트랩도어를 생성할 수 없다.here,
Figure 112007086262735-PAT00179
Is the first group (
Figure 112007086262735-PAT00180
) Constructor
Figure 112007086262735-PAT00181
) Multiplied by a random value u selected at the receiving terminal 140 generating a trapdoor,
Figure 112007086262735-PAT00182
Is the public key of the receiving terminal 140 (
Figure 112007086262735-PAT00183
Ingredients of
Figure 112007086262735-PAT00184
Wow
Figure 112007086262735-PAT00185
Multiplying the random value (u) used in the calculation of,
Figure 112007086262735-PAT00186
in
Figure 112007086262735-PAT00187
Is the index key of the receiving terminal 140 (
Figure 112007086262735-PAT00188
) A binary string (
Figure 112007086262735-PAT00189
) And the keywords you want to search (
Figure 112007086262735-PAT00190
) Is the output value when inputting the pseudo-random function (F),
Figure 112007086262735-PAT00191
With these values
Figure 112007086262735-PAT00192
,
Figure 112007086262735-PAT00193
A random value u used in the calculation, and a search key of the receiving terminal 140 (
Figure 112007086262735-PAT00194
) ingredient(
Figure 112007086262735-PAT00195
,
Figure 112007086262735-PAT00196
) Is used to represent the calculated value. At this time, the random value u selected by the receiving terminal 140 is a component of the trapdoor (
Figure 112007086262735-PAT00197
,
Figure 112007086262735-PAT00198
,
Figure 112007086262735-PAT00199
Since these values are commonly used in computing), make these three values related. In addition, the trap door is a search key (only known to the receiving terminal 140) ( Is generated using), so the search key (
Figure 112007086262735-PAT00201
An attacker who doesn't know) cannot create a legitimate trapdoor.

도 5 는 본 발명에 따른 사전 공격의 방지를 위한 데이터 검색 방법에 대한 일실시예 흐름도이다.5 is a flowchart illustrating a data retrieval method for preventing a dictionary attack according to the present invention.

먼저, 이메일 서버(120)는 송신 단말(130)로부터 암호화된 데이터 및 검색 가능 암호문(S)을 수신받는다(502). 여기서, 검색 가능 암호문(S)은 송신 단말(130)에서 인덱스키(

Figure 112007086262735-PAT00202
)가 이용되어 생성된 것이다.First, the e-mail server 120 receives the encrypted data and the searchable cipher text (S) from the transmitting terminal 130 (502). Here, the searchable ciphertext (S) is the index key (s) in the transmitting terminal 130
Figure 112007086262735-PAT00202
) Is generated using

그리고 이메일 서버(120)는 수신 단말(140)로부터 트랩도어를 수신받는다(504). 여기서, 트랩도어는 수신 단말(140)에서 검색키(

Figure 112007086262735-PAT00203
)가 이용되어 생성된 것이다.In addition, the e-mail server 120 receives a trap door from the receiving terminal 140 (504). Here, the trap door is a search key (the receiving terminal 140)
Figure 112007086262735-PAT00203
) Is generated using

이후, 이메일 서버(120)는 수신된 검색 가능 암호문들 중에서 검색 키워드가 포함된 검색 가능 암호문을 트랩도어와 수신 단말(140)의 공개키(

Figure 112007086262735-PAT00204
)를 이용하여 검색한다(506).Thereafter, the e-mail server 120 transmits the searchable ciphertext including the search keyword among the received searchable ciphertexts to the trapdoor and the public key of the receiving terminal 140.
Figure 112007086262735-PAT00204
(506).

그리고 이메일 서버(120)는 검색된 검색 가능 암호문에 대한 암호화된 데이터를 수신 단말(140)로 전송한다(508). 그러면, 수신 단말(140)은 암호화된 데이터 를 복호화하여 전송받고자 하는 데이터를 추출한다.The e-mail server 120 transmits the encrypted data for the retrieved searchable cipher text to the receiving terminal 140 (508). Then, the receiving terminal 140 decrypts the encrypted data and extracts the data to be transmitted.

"506" 과정을 구체적으로 살펴보면, 이메일 서버(120)는 다수의 이메일 데이터의 키워드들에 대한 검색 가능 암호문들 중에서 검색하려는 검색 키워드가 모두 포함된 검색 가능 암호문을 검색한다. 즉, 이메일 서버(120)는 저장된 검색 가능 암호문(S), 수신 단말(140)로부터 전송된 트랩도어(T) 및 수신 단말(140)의 공개키(

Figure 112007086262735-PAT00205
)를 이용하여 하기의 [수학식 9]가 성립하는지 여부를 확인한다. Referring to the process "506" in detail, the e-mail server 120 searches for a searchable cipher text including all the search keywords to search among searchable cipher texts for the keywords of the plurality of e-mail data. That is, the e-mail server 120 stores the stored searchable cipher text (S), the trapdoor (T) transmitted from the receiving terminal 140 and the public key (
Figure 112007086262735-PAT00205
) To check whether the following Equation 9 is true.

Figure 112007086262735-PAT00206
Figure 112007086262735-PAT00206

여기서, 좌변의

Figure 112007086262735-PAT00207
,
Figure 112007086262735-PAT00208
는 이메일 서버에 저장된 검색 가능 암호문의 성분,
Figure 112007086262735-PAT00209
는 수신 단말(140)에서 생성된 트랩도어(T)의 성분을 나타낸다. 또한, 우변의
Figure 112007086262735-PAT00210
,
Figure 112007086262735-PAT00211
는 트랩도어의 성분,
Figure 112007086262735-PAT00212
는 검색 가능 암호문의 성분
Figure 112007086262735-PAT00213
중 트랩도어의 식별자
Figure 112007086262735-PAT00214
가 나타내는 위치의 값들을 나타내며,
Figure 112007086262735-PAT00215
도 동일한 값을 나타낸다. 예를 들어,
Figure 112007086262735-PAT00216
라고 한다면,
Figure 112007086262735-PAT00217
Figure 112007086262735-PAT00218
은 각각
Figure 112007086262735-PAT00219
Figure 112007086262735-PAT00220
를 의미한다.Where
Figure 112007086262735-PAT00207
,
Figure 112007086262735-PAT00208
Is a component of the searchable ciphertext stored on your email server,
Figure 112007086262735-PAT00209
Denotes a component of the trapdoor T generated by the receiving terminal 140. Also, on the right side
Figure 112007086262735-PAT00210
,
Figure 112007086262735-PAT00211
Is a component of the trapdoor,
Figure 112007086262735-PAT00212
Is a component of a searchable cipher
Figure 112007086262735-PAT00213
Trapdoor Identifier
Figure 112007086262735-PAT00214
Indicates the values of the location indicated by
Figure 112007086262735-PAT00215
Also shows the same value. E.g,
Figure 112007086262735-PAT00216
If you say,
Figure 112007086262735-PAT00217
and
Figure 112007086262735-PAT00218
Are each
Figure 112007086262735-PAT00219
Wow
Figure 112007086262735-PAT00220
Means.

상기 [수학식 9]에서의 좌변(

Figure 112007086262735-PAT00221
)은
Figure 112007086262735-PAT00222
,
Figure 112007086262735-PAT00223
를 페어링 연산한 결과값을
Figure 112007086262735-PAT00224
로 나눈 값을 나타내며, 우변(
Figure 112007086262735-PAT00225
)은 검색 가능 암호문의 성분들인
Figure 112007086262735-PAT00226
의 합과 트랩도어 성분인
Figure 112007086262735-PAT00227
를 페어링 연산한 결과를 비슷한 형태의 페어링 연산한 결과로 나눈 값을 나타낸다. 이메일 서버(120)에서는 테스트하는 검색 가능 암호문이 수신 단말(140)이 원하는 이메일 데이터에 대한 검색 가능 암호문인지 확인하기 위해서는 3번의 페어링 연산이 필요하다. 이때, 각 페어링 연산에서 수신 단말(140)로부터 전송받은 트랩도어의 성분과 이메일 서버에 저장된 검색 가능 암호문의 성분이 모두 이용되기 때문에, 트랩도어와 검색 가능 암호문이 공통된 키워드들을 포함하고 있지 않으면 상기의 [수학식 9]가 성립하지 않는다.Left side in [Equation 9]
Figure 112007086262735-PAT00221
)silver
Figure 112007086262735-PAT00222
,
Figure 112007086262735-PAT00223
Pairing operation
Figure 112007086262735-PAT00224
Divided by the right hand side (
Figure 112007086262735-PAT00225
) Are components of a searchable cipher
Figure 112007086262735-PAT00226
Sum and trapdoor components
Figure 112007086262735-PAT00227
Represents the value obtained by dividing the result of the pairing operation by the result of a similar pairing operation. The e-mail server 120 requires three pairing operations to confirm whether the searchable ciphertext under test is a searchable ciphertext for the e-mail data desired by the receiving terminal 140. At this time, since the components of the trapdoor received from the receiving terminal 140 and the components of the searchable ciphertext stored in the e-mail server are used in each pairing operation, the trapdoor and the searchable ciphertext do not include the common keywords. Equation 9 does not hold.

이메일 서버(120)는 상기의 [수학식 9]의 성립 과정을 통해 해당 검색 가능 암호문이 수신 단말(140)에서 검색하고자 하는 키워드들을 모두 포함하는지 여부를 확인한다. The e-mail server 120 checks whether the corresponding searchable ciphertext includes all keywords to be searched by the receiving terminal 140 through the establishment process of Equation 9 above.

Figure 112007086262735-PAT00228
일 경우, 상기의 [수학식 9]이 성립되는지를 확인하는 과정은 하기의 [수학식 10]에 나타나 있다.
Figure 112007086262735-PAT00228
In this case, the process of checking whether the above [Equation 9] is established is shown in the following [Equation 10].

Figure 112007086262735-PAT00229
Figure 112007086262735-PAT00229

한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.On the other hand, the method of the present invention as described above can be written in a computer program. And the code and code segments constituting the program can be easily inferred by a computer programmer in the art. In addition, the written program is stored in a computer-readable recording medium (information storage medium), and read and executed by a computer to implement the method of the present invention. The recording medium may include any type of computer readable recording medium.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.

도 1 은 본 발명이 적용되는 이메일 시스템의 일실시예 구성도,1 is a configuration diagram of an embodiment of an email system to which the present invention is applied;

도 2 는 본 발명에 따른 사전 공격의 방지를 위한 키 생성 방법에 대한 일실시예 흐름도,2 is a flowchart illustrating an embodiment of a key generation method for preventing a dictionary attack according to the present invention;

도 3 은 본 발명에 따른 사전 공격의 방지를 위한 검색 가능 암호문 생성 방법에 대한 일실시예 흐름도,3 is a flow chart of an embodiment of a searchable cipher text generation method for preventing a dictionary attack according to the present invention;

도 4 는 본 발명에 따른 사전 공격의 방지를 위한 트랩도어 생성 방법에 대한 일실시예 흐름도,4 is a flowchart illustrating an embodiment of a trapdoor generation method for preventing a dictionary attack according to the present invention;

도 5 는 본 발명에 따른 사전 공격의 방지를 위한 데이터 검색 방법에 대한 일실시예 흐름도이다.5 is a flowchart illustrating a data retrieval method for preventing a dictionary attack according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

100: 이메일 시스템 110: 키 생성 장치100: email system 110: key generation device

120: 이메일 서버 130: 송신 단말120: email server 130: sending terminal

140: 수신 단말140: receiving terminal

Claims (15)

사전 공격의 방지를 위한 키 생성 방법에 있어서,In the key generation method for preventing a dictionary attack, 보안 파라미터에 따라 난수를 랜덤하게 선택하는 난수 선택 단계;A random number selection step of randomly selecting a random number according to a security parameter; 상기 선택된 난수를 이용하여 비공개키를 생성하되, 검색 가능 암호문의 생성을 위한 제1 비공개키와 트랩도어의 생성을 위한 제2 비공개키로 구분하여 생성하는 비공개키 생성 단계; 및Generating a private key using the selected random number, and generating a private key by dividing the private key into a first private key for generating a searchable ciphertext and a second private key for generating a trapdoor; And 상기 선택된 난수를 이용하여, 데이터 검색을 위한 공개키를 생성하는 공개키 생성 단계A public key generation step of generating a public key for data retrieval using the selected random number 를 포함하는 사전 공격의 방지를 위한 키 생성 방법.Key generation method for the prevention of dictionary attacks, including. 제 1 항에 있어서,The method of claim 1, 상기 비공개키 생성 단계는,The private key generation step, 상기 선택된 난수 중 랜덤한 이진 문자열을 이용하여 제1 비공개키를 생성하는 것을 특징으로 하는 사전 공격의 방지를 위한 키 생성 방법.And generating a first private key using a random binary string among the selected random numbers. 제 2 항에 있어서,The method of claim 2, 상기 비공개키 생성 단계는,The private key generation step, 상기 랜덤한 이진 문자열을 이용하여 제2 비공개키를 생성하는 것을 특징으로 하는 사전 공격의 방지를 위한 키 생성 방법.And a second private key is generated using the random binary string. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 공개키 생성 단계는,The public key generation step, 상기 선택된 난수를 페어링 연산하여 공개키를 생성하는 것을 특징으로 하는 사전 공격의 방지를 위한 키 생성 방법.And generating a public key by pairing the selected random number. 사전 공격의 방지를 위한 검색 가능 암호문 생성 방법에 있어서,In the searchable ciphertext generation method for preventing a dictionary attack, 데이터를 암호화하는 데이터 암호화 단계; 및A data encryption step of encrypting the data; And 상기 암호화된 데이터의 키워드와 수신 단말의 비공개키 중 제1 비공개키를 이용하여 검색 가능 암호문을 생성하는 암호문 생성 단계A ciphertext generation step of generating a searchable ciphertext using a first private key among the keyword of the encrypted data and a private key of a receiving terminal. 를 포함하는 사전 공격의 방지를 위한 검색 가능 암호문 생성 방법.Searchable cipher text generation method for the prevention of dictionary attacks comprising a. 제 5 항에 있어서,The method of claim 5, wherein 상기 암호화된 데이터와 상기 생성된 검색 가능 암호문을 해당 서버로 전송하는 전송 단계A transmission step of transmitting the encrypted data and the generated searchable ciphertext to a corresponding server 를 더 포함하는 사전 공격의 방지를 위한 검색 가능 암호문 생성 방법.Searchable cipher text generation method for preventing a dictionary attack further comprising a. 제 5 항 또는 제 6 항에 있어서,The method according to claim 5 or 6, 상기 암호문 생성 단계는,The cipher text generation step, 상기 키워드의 각 키워드 필드값과 상기 수신 단말의 제1 비공개키를 의사 난수 함수에 적용한 값과, 랜덤하게 선택된 난수를 이용하여 검색 가능 암호문을 생성하는 것을 특징으로 하는 사전 공격의 방지를 위한 검색 가능 암호문 생성 방법.A searchable cipher text is generated by using a keyword field value of the keyword, a value obtained by applying a first private key of the receiving terminal to a pseudo random number function, and a randomly selected random number. How to create a pass phrase. 제 7 항에 있어서,The method of claim 7, wherein 상기 암호문 생성 단계는,The cipher text generation step, 상기 키워드의 각 키워드 필드값에 대응되는 검색 가능 암호문의 각 성분을 생성하는 것을 특징으로 하는 사전 공격의 방지를 위한 검색 가능 암호문 생성 방법.And generating each component of the searchable ciphertext corresponding to each keyword field value of the keyword. 제 8 항에 있어서,The method of claim 8, 상기 수신 단말의 제1 비공개키는,The first private key of the receiving terminal, 사전 분배 방식에 따라, 송신 단말과 상기 수신 단말 모두에서 미리 공유되는 것을 특징으로 하는 사전 공격의 방지를 위한 검색 가능 암호문 생성 방법.A searchable cipher text generation method for preventing a dictionary attack, which is shared in advance in both a transmitting terminal and the receiving terminal according to a dictionary distribution scheme. 제 8 항에 있어서,The method of claim 8, 상기 수신 단말의 제1 비공개키는,The first private key of the receiving terminal, 키 동의 방식에 따라, 송신 단말과 상기 수신 단말 상호 간의 키 동의 프로토콜에 따라 생성된 세션키가 랜덤 시드(Random Seed)로 이용되어 생성된 것을 특징으로 하는 사전 공격의 방지를 위한 검색 가능 암호문 생성 방법.According to a key agreement method, a searchable cipher text generation method for preventing a dictionary attack, wherein a session key generated according to a key agreement protocol between a transmitting terminal and the receiving terminal is generated as a random seed. . 제 8 항에 있어서,The method of claim 8, 상기 수신 단말의 제1 비공개키는,The first private key of the receiving terminal, 인증서 방식에 따라, 상기 수신 단말로부터 인증서에 덧붙여져서 전송된 것을 특징으로 하는 사전 공격의 방지를 위한 검색 가능 암호문 생성 방법.A searchable ciphertext generation method for preventing a dictionary attack, characterized in that transmitted in addition to a certificate from the receiving terminal according to a certificate method. 사전 공격의 방지를 위한 데이터 검색 방법에 있어서,In the data retrieval method for preventing a dictionary attack, 송신 단말에서 제1 비공개키가 이용되어 생성된 검색 가능 암호문 및 암호화된 데이터를 수신받는 데이터 및 암호문 수신 단계;A data and ciphertext receiving step of receiving a searchable ciphertext and encrypted data generated using a first private key at a transmitting terminal; 수신 단말에서 제2 비공개키가 이용되어 생성된 트랩도어를 수신받는 트랩도어 수신 단계; 및A trap door receiving step of receiving a trap door generated using a second private key at a receiving terminal; And 상기 수신된 검색 가능 암호문 중에서 상기 수신된 트랩도어의 검색 키워드를 포함하고 있는 검색 가능 암호문을 상기 트랩도어와 상기 수신 단말의 공개키를 이용하여 검색하는 검색 단계A search step of searching for a searchable ciphertext including the search keyword of the received trapdoor among the received searchable ciphertexts using the trapdoor and the public key of the receiving terminal; 를 포함하는 사전 공격의 방지를 위한 데이터 검색 방법.Data retrieval method for the prevention of dictionary attacks, including. 제 12 항에 있어서,The method of claim 12, 상기 트랩도어의 검색 키워드가 포함된 검색 가능 암호문을 검색함에 따라, 상기 검색된 검색 가능 암호문과 상응하는 암호화된 데이터를 상기 수신 단말로 전송하는 데이터 전송 단계A data transmission step of transmitting encrypted data corresponding to the searched searchable ciphertext to the receiving terminal as the searchable ciphertext including the search keyword of the trapdoor is searched. 를 더 포함하는 사전 공격의 방지를 위한 데이터 검색 방법.Data retrieval method for the prevention of dictionary attacks further comprising. 제 12 항 또는 제 13 항에 있어서,The method according to claim 12 or 13, 상기 검색 단계는,The search step, 제1 비공개키가 이용되어 생성된 검색 가능 암호문의 각 성분과 상기 제2 비공개키가 이용되어 생성된 트랩도어의 각 성분을 모두 이용하여, 상기 트랩도어와 상기 검색 가능 암호문이 공통된 키워드들을 포함하고 있는지 여부를 확인하는 것 을 특징으로 하는 사전 공격의 방지를 위한 데이터 검색 방법.Using both the components of the searchable ciphertext generated by using the first private key and each component of the trapdoor generated by using the second private key, the trapdoor and the searchable ciphertext include keywords in common Data retrieval method for preventing dictionary attacks, characterized by checking whether there is. 제 12 항 또는 제 13 항에 있어서,The method according to claim 12 or 13, 상기 트랩도어는,The trap door is, 상기 트랩도어의 검색 키워드에 대한 쿼리 정보 및 상기 제2 비공개키가 이용되어 생성된 것을 특징으로 하는 사전 공격의 방지를 위한 데이터 검색 방법.And query information about the search keyword of the trapdoor and the second private key are generated.
KR1020070123061A 2007-11-29 2007-11-29 Key generating method for preventing dictionary attack and method of producing searchable keyword encryption and searching data using that KR100945535B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070123061A KR100945535B1 (en) 2007-11-29 2007-11-29 Key generating method for preventing dictionary attack and method of producing searchable keyword encryption and searching data using that

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070123061A KR100945535B1 (en) 2007-11-29 2007-11-29 Key generating method for preventing dictionary attack and method of producing searchable keyword encryption and searching data using that

Publications (2)

Publication Number Publication Date
KR20090056078A true KR20090056078A (en) 2009-06-03
KR100945535B1 KR100945535B1 (en) 2010-03-09

Family

ID=40987518

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070123061A KR100945535B1 (en) 2007-11-29 2007-11-29 Key generating method for preventing dictionary attack and method of producing searchable keyword encryption and searching data using that

Country Status (1)

Country Link
KR (1) KR100945535B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101302137B1 (en) * 2009-12-16 2013-09-16 한국전자통신연구원 Method for Searchable Symmetric Encryption
KR101422759B1 (en) * 2013-02-04 2014-07-23 순천향대학교 산학협력단 Secure method for data store and share in data outsourcing
KR20160079456A (en) * 2014-12-26 2016-07-06 전남대학교산학협력단 System and method for searching contents
CN108494768A (en) * 2018-03-22 2018-09-04 深圳大学 A kind of cipher text searching method and system for supporting access control

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101697868B1 (en) * 2015-05-19 2017-01-19 포항공과대학교 산학협력단 Method for encrypting data for sharing or searching the data and apparatus for performing the method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101302137B1 (en) * 2009-12-16 2013-09-16 한국전자통신연구원 Method for Searchable Symmetric Encryption
US8812867B2 (en) 2009-12-16 2014-08-19 Electronics And Telecommunications Research Institute Method for performing searchable symmetric encryption
KR101422759B1 (en) * 2013-02-04 2014-07-23 순천향대학교 산학협력단 Secure method for data store and share in data outsourcing
KR20160079456A (en) * 2014-12-26 2016-07-06 전남대학교산학협력단 System and method for searching contents
CN108494768A (en) * 2018-03-22 2018-09-04 深圳大学 A kind of cipher text searching method and system for supporting access control
CN108494768B (en) * 2018-03-22 2021-07-23 深圳大学 Ciphertext searching method and system supporting access control

Also Published As

Publication number Publication date
KR100945535B1 (en) 2010-03-09

Similar Documents

Publication Publication Date Title
Wang et al. Secure ranked keyword search over encrypted cloud data
Lucas et al. Flybynight: mitigating the privacy risks of social networking
Xu et al. Verifiable public key encryption scheme with equality test in 5G networks
CN105049196B (en) The encryption method that multiple keywords of designated position can search in cloud storage
JP6770075B2 (en) Encrypted message search method, message sending / receiving system, terminal, program
Chenam et al. A designated cloud server-based multi-user certificateless public key authenticated encryption with conjunctive keyword search against IKGA
KR20120068524A (en) Method and apparatus for providing data management
CN114036240A (en) Multi-service provider private data sharing system and method based on block chain
KR100945535B1 (en) Key generating method for preventing dictionary attack and method of producing searchable keyword encryption and searching data using that
KR102290605B1 (en) Message transmission system, communication terminal, server device, message transmission method and program
KR101140576B1 (en) Multi?user search system and method of encrypted document
Altaee et al. Enhancing cloud computing security by paillier homomorphic encryption
KR100951034B1 (en) Method of producing searchable keyword encryption based on public key for minimizing data size of searchable keyword encryption and method of searching data based on public key through that
CN109672525B (en) Searchable public key encryption method and system with forward index
CN108920968B (en) File searchable encryption method based on connection keywords
KR101232385B1 (en) Searchable Symmetric Encryption Method and System
KR20120069387A (en) A method for searching keyword based on public key
JP5799635B2 (en) ENCRYPTED DATA SEARCH SYSTEM, DEVICE, METHOD, AND PROGRAM
Tosun et al. FSDS: A practical and fully secure document similarity search over encrypted data with lightweight client
Elkhiyaoui et al. Privacy preserving delegated word search in the cloud
CN113761229A (en) Encrypted mail searching method, searching system and related components
KR100959064B1 (en) Producing searchable keyword encryption and searching data for multi user
Tan et al. A client-server prototype of a symmetric key searchable encryption scheme using open-source applications
Teegala et al. A Novel Authentication Mechanism for SecureData Access based on Encryption Key Sharing for Cloud Web Application
ChinnaSamy et al. An efficient semantic secure keyword based search scheme in cloud storage services

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: 20130205

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140203

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150205

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160203

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170203

Year of fee payment: 8