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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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/3073—Public 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
Description
본 발명은 사전 공격의 방지를 위한 키 생성 방법과, 그를 이용한 검색 가능 암호문 생성 방법 및 데이터 검색 방법에 관한 것으로, 더욱 상세하게는 다수의 암호화된 데이터에 덧붙여진 각 데이터의 키워드들에 대한 검색 가능 암호문(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
키 생성 장치(110)는 이메일 시스템(100)에 필요한 키를 생성하는 키 생성 알고리즘을 수행한다. 즉, 키 생성 장치(110)는 테스트(test) 알고리즘에 이용되는 공개키(), 수신 단말(140)의 비공개키 중 제1 비공개키인 암호(Encryption) 알고리즘에 이용되는 인덱스키(), 및 수신 단말(140)의 비공개키 중 제2 비공개키인 트랩도어(Trapdoor) 알고리즘에 이용되는 검색키()를 생성한다. 여기서, 공개키()는 수신 단말(140)의 공개키이며, 인덱스키()는 송신 단말(130)에서 인지하여 암호화(Encryption)에 이용할 수 있는 수신 단말(140)의 비공개키 또는 비밀키이며, 검색키()는 수신 단말(140)에서만 인지하고 있는 비공개키다. 한편, 키 생성 장치(110)에서 수행되는 키 생성 알고리즘은 수신 단말(140)에서도 수행될 수 있다.The
송신 단말(130)은 전송하고자 하는 이메일 데이터를 암호화하고, 암호화된 이메일 데이터의 키워드들에 대한 검색 가능 암호문을 수신 단말(140)의 인덱스키()를 이용하여 생성한다. 그리고 송신 단말(130)은 암호화된 이메일 데이터에 검색 가능 암호문을 덧붙여 이메일 서버(120)로 전송한다. 이때, 송신 단 말(130)이 전송하고자 하는 이메일 데이터를 암호화하는 것과 검색 가능 암호문을 생성하는 것은 서로 독립적으로 수행된다. 따라서 송신 단말(130)은 일반적인 공개키 암호화 방식을 이용하여 이메일 데이터를 암호화하고, 그 이메일 데이터의 키워드들에 해당하는 검색 가능 암호문을 생성하며, 그 둘을 덧붙여 이메일 서버(120)로 전송한다.The transmitting
수신 단말(140)은 이메일 서버(120)에서 자신이 전송받은 이메일 데이터들 중에서 특정 검색 키워드가 포함된 이메일 데이터를 검색하고자 할 때, 자신의 검색키()와 자신이 검색하려는 검색 키워드들을 이용하여 트랩도어(Trapdoor)를 생성한다. 그리고 수신 단말(140)은 생성된 트랩도어를 이메일 서버(120)로 전송한다.Receiving
이메일 서버(120)는 송신 단말(130)로부터 전송된 이메일 데이터들과 해당 검색 가능 암호문을 저장한다. 그리고 이메일 서버(120)는 수신 단말(140)로부터 전송된 트랩도어, 검색하려는 수신 단말(140)의 공개키(), 및 송신 단말(130)로부터 전송되어 저장된 검색 가능 암호문을 이용하여, 트랩도어에 대한 키워드들을 모두 포함하는 검색 가능 암호문이 있는지 여부를 확인한다. 즉, 이메일 서버(120)는 다수의 이메일 데이터의 키워드들에 대한 검색 가능 암호문들 중에서 검색하려는 검색 키워드가 포함된 검색 가능 암호문을 트랩도어를 이용하여 검색한다. 이때, 이메일 서버(120)는 수신 단말(140)이 검색하려는 검색 키워드들을 확인할 수 없으며, 단지 테스트하는 이메일 데이터에 대한 검색 가능 암호문이 특정 검 색 키워드에 관련되어 있는지 여부만을 확인할 수 있다. 그리고 이메일 서버(120)는 검색된 결과 또는 특정 이메일 데이터를 수신 단말(140)로 전송한다.The
한편, 수신 단말(140)은 한 번에 여러 키워드에 대한 검색(Conjunctive Search)을 지원하는 키워드 필드를 이용한다. 키워드 필드는 각 키워드의 속성을 나타낸다. 만약, 암호화하고자 하는 데이터가 이메일 데이터이라면 "보내는 사람", "받는 사람", "수신 날짜", "제목" 등을 키워드 필드로 설정할 수 있다.On the other hand, the receiving
예를 들어 보다 구체적으로 설명하면, 각 데이터의 키워드 집합()은 로 표기된다. 여기서, 은 m번째 키워드 필드의 키워드 필드값을 나타낸다. 이때, 모든 데이터는 m개의 키워드 필드를 가지며, 동일한 데이터의 서로 다른 키워드 필드는 다른 값을 가져야 한다고 가정한다.For example, in more detail, the keyword set for each data ( )silver It is indicated by. here, 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)의 인덱스키()는 이메일을 전송하려는 송신 단말(130)만이 검색 가능 암호문을 생성할 시에 인지할 수 있어야 한다. 이는 공격 단말(도면에 도시되지 않음)이 수신 단말(140)의 인덱스키()를 이용하여 임의대로 검색 가능 암호문을 생성할 수 없도록 하기 위함이다. 이를 위하여, 송신 단말(130)은 수신 단말(140)의 인덱스키()를 미리 인지하거나 획득해야 한다. 그 방법들로는 사전 분배(Pre-distribution), 키 동의(Key agreement) 및 인증서(Certificate) 등이 있다. 이에 대한 상세한 설명은 [표 1]에서 설명하기로 한다.Meanwhile, the index key of the
첫째로, 상기 [표 1]에서의 사전 분배(Pre-distribution) 방식은 송신 단말(130)과 수신 단말(140)이 수신 단말(140)의 인덱스키()를 미리 공유하는 방식이다. 송신 단말(130)과 수신 단말(140)의 수가 적거나 고정되어 있는 경우에 적합한 방식으로, 수신 단말(140)의 검색키()는 수신 단말(140)에서만 저장되는 비공개키다.First, in the pre-distribution scheme in [Table 1], the transmitting
둘째로, 키 동의(Key Agreement) 방식은 세션키를 이용한 방식이다. 즉, 송신 단말(130)과 수신 단말(140)은 종래의 키 동의 프로토콜을 이용하여 세션키를 생성하고, 그 생성된 세션키를 랜덤 시드(Random Seed)로 이용하여 이메일 시스템(100)에서 필요한 수신 단말(140)의 인덱스키() 및 검색키()를 생성한다. 키 동의(Key Agreement) 방식은 송신 단말(130)의 수가 적고 동적인 경우에 적합한 방식이다.Secondly, the key agreement method is a session key method. That is, the transmitting
셋째로, 인증서(Certificate) 방식은 송신 단말(130)의 공개키와 인증서를 이용한 방식이다. 즉, 수신 단말(140)은 자신의 인덱스키()를 선택하고 선택한 인덱스키()를 송신 단말(130)의 공개키를 이용하여 암호화한다. 그리고 암호화된 인덱스키()를 자신의 인증서에 덧붙여 송신 단말(130)로 전송한다. 그러면, 송신 단말(130)은 수신 단말(140)의 인증서로부터 수신 단말(140)의 인덱스키()를 획득한다. 예를 들어, "Bob"이 "Alice"에게 이메일을 보내고자 한다면 "Bob"은 먼저 "Alice"의 인증서를 수신한다. 그리고 "Bob"은 수신한 인증서로부터 "Alice"의 인덱스키()를 획득한다. 그리고 "Bob"은 획득된 "Alice" 인덱스키()를 이용하여 검색 가능 암호문을 만들어 "Alice"에게 전송한다. 이러한 인증서(Certificate) 방식은 송신 단말(130) 및 수신 단말(140)의 수가 많은 경우에도 사용할 수 있는 장점이 있다.Third, the certificate method is a method using a public key and a certificate of the transmitting
이후, 본 발명을 더욱 상세하게 설명하기에 앞서, 배경이 되는 수학적 지식에 대해 개략적으로 설명하기로 한다.Hereinafter, prior to explaining the present invention in more detail, the mathematical knowledge as a background will be described in brief.
먼저, 임의의 그룹()과 그 그룹()의 원소(a)가 존재할 때, 하기의 [수학식 1]을 만족하는 원소(a)를 그룹()의 생성자라 한다. First, random groups ( ) And its group ( When element (a) of) is present, group (a) that satisfies Equation 1 Is called the constructor.
여기서, Z는 정수의 집합을 나타내고, 이 항등원이 되는 가장 작은 양의 정수(m)를 그룹()의 위수(Order)라 한다.Where Z represents a set of integers, The smallest positive integer (m) Is called the Order.
이때, 임의의 큰 소수(p)를 위수로 갖는 제1 및 제2 그룹(과 ) 사이에 성립하는 바이리니어 맵(bilinear map)은 하기의 [수학식 2]로 표현되며, 하기의 세 가지 특성을 만족한다.In this case, the first and the second group having any large prime number p as a rank ( and The bilinear map, which holds between), is expressed by Equation 2 below, and satisfies the following three characteristics.
여기서, 는 페어링(Pairing) 연산을 나타낸다.here, Denotes a pairing operation.
첫째로, 바이리니어(Bilinear)에 대해, 제1 그룹()의 모든 원소 와 ()에 대해 상기의 [수학식 3]을 만족하면 바이리니어(Bilinear)하다고 말한다.Firstly, for Bilinear, the first group ( All elements of) Wow ( If the above Equation 3 is satisfied, it is said to be bilinear.
여기서, 는 제1 그룹()의 모든 원소, 는 정수(Z)에 속하는 원소를 나타낸다.here, Is the first group ( All elements of), Represents an element belonging to the integer Z.
둘째로, 논-디제너레이트(Non-degenerate)에 대해, 원소가 제1 그룹()의 생성자면, 는 제2 그룹()의 생성자이다.Secondly, for non-degenerate, Element is the first group ( If you are a constructor of) Is the second group ( ) Constructor.
셋째로, 컴퓨터블(Computable)에 대해, 제1 그룹()의 모든 원소()에 대해서 를 효율적으로 계산할 수 있는 알고리즘이 존재한다.Third, for Computable, the first group ( All elements of) )about There is an algorithm that can efficiently calculate.
한편, 바이리니어 디피 헬만(Bilinear Diffie-Hellman) 문제에 대해 살펴보면, 제1 그룹()에서의 바이리니어 디피 헬만(Bilinear Diffie-Hellman) 문제는 제1 그룹()의 원소인 가 입력으로 주어졌을 때, 제2 그룹()의 원소인 를 계산하는 것이다. 본 발명의 안전성은 상기 바이리니어 디피 헬만(Bilinear Diffie-Hellman) 문제에 기반한다.On the other hand, when looking at the Bilinear Diffie-Hellman problem, the first group ( Bilinear Diffie-Hellman problem in the Element of When is given as input, the second group ( Element of 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)는 ""로 표현되는 보안 매개 변수(Security Parameter)를 입력으로 받고, 입력받은 보안 매개 변수(Security Parameter)에 따라 제1 그룹()과 제2 그룹()의 위수(p)의 크기를 결정하고, 그에 따른 난수를 선택할 때마다 랜덤하게 선택한다(202). 즉, 키 생성 장치(110)는 0 내지 p-1까지의 정수 집합( )의 원소인 과 와, 의 크기를 갖는 이진 문자열()을 랜덤하게 선택하고, 제1 그룹()의 생성자()를 선택한다.First, the
그리고 키 생성 장치(110)는 난수(정수 집합의 원소, 이진 문자열, 제1 그룹의 생성자)를 이용하여 비공개키를 생성하되, 검색 가능 암호문의 생성을 위한 제1 비공개키와 트랩도어의 생성을 위한 제2 비공개키로 구분하여 생성한다(204). 즉, 키 생성 장치(110)는 선택된 의 원소인 과 , 이진 문자열() 및 제1 그룹()의 생성자()를 이용하여, 제1 비공개키인 인덱스키() 및 제2 비공개키인 검색키()를 생성한다. 또한, 키 생성 장치(110)는 선택된 난수를 이용하여, 데이터 검색을 위한 공개키를 생성한다(206).The
키 생성 장치(110)에서 생성된 인덱스키(), 공개키() 및 검색키()는 하기의 [수학식 4]에 나타나 있다.Index key generated by the key generation device 110 ( ), Public key ( ) And search key ( ) Is shown in Equation 4 below.
여기서, p는 제1 그룹()과 제2 그룹()의 위수, 과 는 의 원소, 는 제1 그룹()의 생성자, 는 의 크기를 갖는 이진 문자열, 는 정수 집합{0, 1, 2, …, p-1}을 나타낸다.Where p is the first group ( ) And the second group ( ), and Is Element of, Is the first group ( ) Constructor, Is A binary string with the size of, Is a set of integers {0, 1, 2,... , p-1}.
이메일 서버(120)가 수신 단말(140)이 원하는 이메일 데이터들을 검색할 때 사용되는 수신 단말(140)의 공개키()는 3개의 값(, , )을 포함한다. 여기서, 는 임의의 그룹()의 생성자()에 랜덤한 값()을 곱한 값()과 생성자()를 페어링 연산한 결과값, 는 생성자()에 랜덤한 값()을 곱한 값을 나타낸다.The public key of the receiving
이때, 로부터 랜덤한 값()을 계산하는 것은 수학적으로 풀기 어렵다고 알려져 있는 문제이기 때문에, 임의의 수신 단말(140)의 공개키를 알고 있다 하더라도 그 수신 단말(140)의 검색키() 성분을 알 수 없다.At this time, Random value from ) Is a problem known to be difficult to solve mathematically, so even if the public key of any receiving
송신 단말(130)이 검색 가능 암호문을 생성할 때 사용하는 수신 단말(140)의 인덱스키()는 랜덤하게 선택한 크기의 이진 문자열()이다. 또한, 수신 단말(140)이 검색하고자 하는 키워드에 대한 트랩도어를 생성할 때 사용하는 검색키()는 인덱스키()의 이진 문자열(), 및 인 3개의 값을 포함한다. 여기서, 는 제1 그룹()의 생성자()에 랜덤한 값()을 곱한 결과값이며, 랜덤한 값()도 검색키()의 원소가 된다.Index key of the receiving
종래에는 송신 단말(130)이 검색 가능 암호문을 생성할 때와 이메일 서버(120)가 검색할 때 사용하는 수신 단말(140)의 공개키, 수신 단말(140)이 트랩도어를 생성할 때 사용하는 자신의 비공개키, 즉 2개의 키가 이용된다. 하지만, 본 발명에서는 송신 단말(130)이 검색 가능 암호문을 생성할 때 이용하는 키와 이메일 서버(120)가 검색할 때 이용하는 키를 분리하여 총 3개의 키(인덱스키(), 공개키() 및 검색키())를 이용하며, 검색 가능 암호문을 생성할 때 이용하는 인덱스키()는 정당한 송신 단말(130) 이외에는 획득할 수 없다. 따라서 수신 단말(140)의 공개키를 획득하여 임의의 검색 가능 암호문을 생성할 수 있었던 종래의 검색 가능 암호 시스템과는 달리, 본 발명은 정당한 송신 단말(130) 이외에는 검색 가능 암호문을 생성할 수 없기 때문에 사전 공격으로부터 보다 안전할 수 있다.Conventionally, when the transmitting
도 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
그리고 송신 단말(130)은 암호화된 데이터의 키워드와 수신 단말(140)의 비공개키 중 제1 비공개키(인덱스키)를 이용하여 검색 가능 암호문을 생성한다(304). 즉, 송신 단말(130)은 송신하고자 하는 이메일 데이터의 키워드들과 키 생성 장치(110)에서 생성된 수신 단말(140)의 인덱스키()를 이용하여 검색 가능 암호문을 생성한다.In
그리고 송신 단말(130)은 암호화된 데이터와 생성된 검색 가능 암호문을 이메일 서버(120)로 전송한다(306).The transmitting
"304" 과정을 구체적으로 살펴보면, 송신 단말(130)은 에서 랜덤한 값()을 선택하고, 의사 난수(pseudo-random) 함수(F)를 이용하여 하기의 [수학식 5]와 같이 계산한다.Looking specifically at the "304" process, the transmitting
여기서, 은 제1 그룹()의 생성자()에 송신 단말(130)이 랜덤하게 선택한 값()을 곱한 결과값, 는 를 연산한 결과값, 는 공개키()의 성 분인 , 은 송신 단말(130)이 검색 가능 암호문을 생성하기 위해 랜덤하게 선택한 값들을 나타내며, 각 는 전송하려는 이메일의 각 키워드()를 암호화하는데 이용되고, 는 m개의 키워드들을 암호화하는데 공통으로 이용된다.here, Is the first group ( ) Constructor ) Is a value randomly selected by the transmitting terminal 130 ( ) Multiplied by Is Is the result of calculating Is the public key ( A member of) , Represents values randomly selected by the transmitting
또한, 에서 은 수신 단말(140)의 인덱스키()의 성분인 랜덤한 이진 문자열, 는 암호화하려는 키워드, 에서 는 수신 단말(140)의 공개키()의 성분을 나타낸다.Also, in Is the index key of the receiving terminal 140 ( A random binary string that is a component of Is the keyword you want to encrypt, in Is the public key of the receiving terminal 140 ( ) Component.
이때, 와 는 이메일 키워드 개수만큼 생성되는데, 에는 암호화하려는 키워드()와 수신 단말(140)의 인덱스키()인 이진 문자열()의 성분이 포함되므로 특정 수신 단말(140)의 인덱스키()를 모르면 정당한 를 생성할 수 없다. 또한, 에서 를 계산할 때 이용하는 랜덤한 값()을 동일하게 이용하여, 와 값에 서로 관련성이 존재하도록 한다.At this time, Wow Is generated by the number of email keywords. Contains the keywords you want to encrypt ( ) And the index key of the receiving terminal 140 ( Binary string () ) Component is included, so that the index key ( Just don't know Cannot be generated. Also, in Is a random value used to calculate ) Using the same, Wow 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.
상기 [수학식 6]은 의 크기를 갖는 이진 문자열과 임의의 크기를 갖는 이진 문자열을 입력으로 받아 제1 그룹()의 랜덤한 원소를 출력하는 함수를 의미한다. 송신 단말(130)은 상기의 값을 하기의 [수학식 7]에 적용하여 검색 가능 암호문(S)을 생성한다.[Equation 6] is The first group takes a binary string having a size of and a binary string having a size of This function outputs a random element of). The transmitting
여기서, , , , 는 상기 [수학식 5]에 나타나 있다.here, , , , 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
도 4 는 본 발명에 따른 사전 공격의 방지를 위한 트랩도어 생성 방법에 대한 일실시예 흐름도이다.4 is a flowchart illustrating a trapdoor generation method for preventing a dictionary attack according to the present invention.
수신 단말(140)은 자신이 수신받은 이메일 데이터 중에서 특정 이메일 데이 터를 검색하기 위해 자신의 검색키()와 자신이 검색하고자 하는 키워드들을 이용하여 트랩도어를 생성한다. 수신 단말(140)에서 생성된 트랩도어는 수신 단말(140)의 검색키()를 획득하고 있는 수신 단말(140)에서만 생성될 수 있다. 이메일 서버(120)는 수신 단말(140)에서 생성된 트랩도어를 이용하여 수신 단말(140)이 원하는 이메일 데이터들을 검색한다.The receiving
여기서, 수신 단말(140)이 검색하고자 하는 키워드들에 대한 정보를 쿼리(query) 정보라 하면, 쿼리 정보(Q)는 의 형태를 갖는다. 여기서, ()는 검색하고자 하는 검색 키워드들, 는 검색하려는 키워드들의 위치에 대한 식별자들을 나타낸다. 예를 들어, "보내는 사람", "받는 사람", "수신 날짜", "제목"이 각 이메일의 키워드 필드로 주어져 있고, 특정 수신 단말은 자신이 받은 이메일들 중에서 “Alice”가 보낸 이메일들을 찾는다고 생각한다. 각 키워드 필드의 위치를 차례로 "보내는 사람: 1", "받는 사람: 2", "수신 날짜: 3", "제목: 4"로 설정한다면, 이때, 키워드들의 쿼리 정보(Q)는 이다.Here, if the
트랩도어 생성 과정을 구체적으로 살펴보면, 수신 단말(140)은 에서 랜덤한 값인 난수(u)를 선택한다(402).Looking at the trap door generation process in detail, the receiving
그리고 수신 단말(140)은 선택된 난수(u)와, 검색 키워드에 해당하는 쿼리 정보 및 검색키()를 이용하여 트랩도어를 생성한다(404).In addition, the
그리고 수신 단말(140)은 생성된 트랩도어를 이메일 서버(120)로 전송한 후(406), 그에 대한 응답으로 트랩도어와 일치하는 암호화된 데이터를 이메일 서버(120)로부터 전달받는다(408).The
"404" 과정을 구체적으로 살펴보면, 수신 단말(140)은 선택된 난수(u), 쿼리 정보(Q) 및 검색키()를 하기의 [수학식 8]에 적용하여 트랩도어(T)를 생성한다. 여기서, 수신 단말(140)에서 생성된 트랩도어(T)는 와 같은 구조를 가진다.Looking at the process "404" in detail, the receiving
여기서, 은 제1 그룹()의 생성자()에 트랩도어를 생성하는 수신 단말(140)에서 랜덤하게 선택된 값(u)을 곱한 값, 는 수신 단말(140)의 공개키()의 성분 와 의 계산에 사용된 랜덤한 값(u)을 곱한 값, 에서 는 수신 단말(140)의 인덱스키() 성분인 이진 문자열()과 검색하려는 키워드()를 의사 난수(pseudo-random) 함수(F)의 입력으로 넣었을 때의 출력 값, 는 이 값들과 , 계산에 이용된 랜덤한 값(u), 및 수신 단말(140)의 검 색키() 성분(, )이 이용되어 계산된 값을 나타낸다. 이때, 수신 단말(140)에서 선택된 랜덤한 값(u)은 트랩도어의 성분(, , )을 계산할 때 공통으로 이용되기 때문에, 이 세 값들이 서로 관련성을 갖도록 한다. 또한, 트랩도어는 해당 수신 단말(140)만 알고 있는 검색키()를 이용하여 생성되기 때문에, 검색키()를 모르는 공격자는 정당한 트랩도어를 생성할 수 없다.here, Is the first group ( ) Constructor ) Multiplied by a random value u selected at the receiving
도 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)에서 인덱스키()가 이용되어 생성된 것이다.First, the
그리고 이메일 서버(120)는 수신 단말(140)로부터 트랩도어를 수신받는다(504). 여기서, 트랩도어는 수신 단말(140)에서 검색키()가 이용되어 생성된 것이다.In addition, the
이후, 이메일 서버(120)는 수신된 검색 가능 암호문들 중에서 검색 키워드가 포함된 검색 가능 암호문을 트랩도어와 수신 단말(140)의 공개키()를 이용하여 검색한다(506).Thereafter, the
그리고 이메일 서버(120)는 검색된 검색 가능 암호문에 대한 암호화된 데이터를 수신 단말(140)로 전송한다(508). 그러면, 수신 단말(140)은 암호화된 데이터 를 복호화하여 전송받고자 하는 데이터를 추출한다.The
"506" 과정을 구체적으로 살펴보면, 이메일 서버(120)는 다수의 이메일 데이터의 키워드들에 대한 검색 가능 암호문들 중에서 검색하려는 검색 키워드가 모두 포함된 검색 가능 암호문을 검색한다. 즉, 이메일 서버(120)는 저장된 검색 가능 암호문(S), 수신 단말(140)로부터 전송된 트랩도어(T) 및 수신 단말(140)의 공개키()를 이용하여 하기의 [수학식 9]가 성립하는지 여부를 확인한다. Referring to the process "506" in detail, the
여기서, 좌변의 , 는 이메일 서버에 저장된 검색 가능 암호문의 성분, 는 수신 단말(140)에서 생성된 트랩도어(T)의 성분을 나타낸다. 또한, 우변의 , 는 트랩도어의 성분, 는 검색 가능 암호문의 성분 중 트랩도어의 식별자 가 나타내는 위치의 값들을 나타내며, 도 동일한 값을 나타낸다. 예를 들어, 라고 한다면, 과 은 각각 와 를 의미한다.Where , Is a component of the searchable ciphertext stored on your email server, Denotes a component of the trapdoor T generated by the receiving
상기 [수학식 9]에서의 좌변()은 , 를 페어링 연산한 결과값을 로 나눈 값을 나타내며, 우변()은 검색 가능 암호문의 성분들인 의 합과 트랩도어 성분인 를 페어링 연산한 결과를 비슷한 형태의 페어링 연산한 결과로 나눈 값을 나타낸다. 이메일 서버(120)에서는 테스트하는 검색 가능 암호문이 수신 단말(140)이 원하는 이메일 데이터에 대한 검색 가능 암호문인지 확인하기 위해서는 3번의 페어링 연산이 필요하다. 이때, 각 페어링 연산에서 수신 단말(140)로부터 전송받은 트랩도어의 성분과 이메일 서버에 저장된 검색 가능 암호문의 성분이 모두 이용되기 때문에, 트랩도어와 검색 가능 암호문이 공통된 키워드들을 포함하고 있지 않으면 상기의 [수학식 9]가 성립하지 않는다.Left side in [Equation 9] )silver , Pairing operation Divided by the right hand side ( ) Are components of a searchable cipher Sum and trapdoor components Represents the value obtained by dividing the result of the pairing operation by the result of a similar pairing operation. The
이메일 서버(120)는 상기의 [수학식 9]의 성립 과정을 통해 해당 검색 가능 암호문이 수신 단말(140)에서 검색하고자 하는 키워드들을 모두 포함하는지 여부를 확인한다. The
일 경우, 상기의 [수학식 9]이 성립되는지를 확인하는 과정은 하기의 [수학식 10]에 나타나 있다. In this case, the process of checking whether the above [Equation 9] is established is shown in the following [Equation 10].
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.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)
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)
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)
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 |
-
2007
- 2007-11-29 KR KR1020070123061A patent/KR100945535B1/en active IP Right Grant
Cited By (6)
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 |