KR101232385B1 - Searchable Symmetric Encryption Method and System - Google Patents
Searchable Symmetric Encryption Method and System Download PDFInfo
- Publication number
- KR101232385B1 KR101232385B1 KR1020110025686A KR20110025686A KR101232385B1 KR 101232385 B1 KR101232385 B1 KR 101232385B1 KR 1020110025686 A KR1020110025686 A KR 1020110025686A KR 20110025686 A KR20110025686 A KR 20110025686A KR 101232385 B1 KR101232385 B1 KR 101232385B1
- Authority
- KR
- South Korea
- Prior art keywords
- server
- index
- user terminal
- search
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
블룸 필터(Bloom filter) 기반의 색인을 이용함으로써 복호화 과정 없이 암호화된 데이터를 검색하며, 색인 크기를 줄이고 여러 개의 키워드를 통하여 데이터를 검색할 수 있는 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템에 관한 것으로, 서버, 사용자 단말 및 상기 사용자 단말에 설치되는 암호생성수단에 의해, 상기 사용자 단말과 서버 사이의 통신 간에 키워드에 대한 정보가 유출되지 않고 상기 서버가 트랩 도어로부터 사용자가 검색하고자 하는 키워드들을 학습할 수 없도록 하는 대칭키 기반의 암호 생성 방법으로서, (a) 사용자 단말이 서버에게 자신만이 알고 있는 키로 데이터를 암호화하여 전송하는 단계, (b) 상기 암호생성수단이 색인 생성 및 색인으로부터 데이터를 검색할 때 사용되는 검색키를 의사난수 순열에 넣어 의사 난수 함수에 사용되는 키들을 생성하는 단계 및 (c) 상기 암호생성수단이 각 문서에 해당하는 키워드들을 각각 의사 난수 함수들에 상기 (b) 단계로부터 생성된 키들과 함께 적용하여 블룸 필터 방식으로 색인을 생성하는 단계를 포함하는 구성을 마련한다.
상기와 같은 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템을 이용하는 것에 의해, 색인의 크기를 최소화함으로써 저장공간 효율성을 증가시킬 수 있으며, 다중키워드 검색을 제공하여 빠르고 유연한 검색 쿼리가 가능하다.By using a bloom filter-based index, a symmetric key-based password generation and retrieval method and system for retrieving encrypted data without decryption, reducing the index size and retrieving data through multiple keywords In this regard, by the server, the user terminal and the encryption generating means installed in the user terminal, the information on the keyword between the communication between the user terminal and the server is not leaked to the server to search for keywords that the user wants to search from the trap door A method for generating a symmetric key based encryption that cannot be learned, the method comprising: (a) a user terminal encrypting and transmitting data to a server using a key known only to the server, and (b) the encryption generating means generates and indexes data from the index. The search key used to search for a pseudorandom permutation Generating keys to be used; and (c) the cipher generating means applies keywords corresponding to each document together with the keys generated from the step (b) to the pseudo random number functions to generate an index using a bloom filter method. Prepare a configuration that includes the steps.
By using the symmetric key-based encryption generation and retrieval method and the system, it is possible to increase the storage efficiency by minimizing the size of the index, and to provide a multi-keyword retrieval for a fast and flexible retrieval query.
Description
본 발명은 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템에 관한 것으로, 특히 블룸 필터(Bloom filter) 기반의 색인을 이용함으로써 복호화 과정 없이 암호화된 데이터를 검색하며, 색인 크기를 줄이고 여러 개의 키워드를 통하여 데이터를 검색할 수 있는 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템에 관한 것이다.The present invention relates to a symmetric key-based encryption generation and retrieval method and system thereof. In particular, by using a bloom filter-based index, the encrypted data is retrieved without decryption, the index size is reduced, and several keywords are used. The present invention relates to a symmetric key-based encryption generation and retrieval method and system for retrieving data.
대한민국은 1990년대부터 진행된 ‘초고속정보통신 기반 구축사업’으로 세계 최고 수준의 네트워크를 구성하게 되었으며, 이와 같은 네트워크의 발달은 사용자들이 데이터를 저장하는 방식의 변화를 불러일으켰다. 초고속정보통신망이 구축되기 이전, 사용자들은 자신의 데이터를 휴대하기 위해 USB 메모리나 외장 하드웨어와 같은 휴대용 저장매체를 이용하였다. 이와 같은 휴대용 저장매체는 분실의 위험이 크며, 소지하지 않았을 경우 저장된 데이터에 접근할 수 없는 불편함을 가지고 있다. The Republic of Korea became the world's best network with the 'high-speed information and communication infrastructure construction project' that has been in progress since the 1990s, and the development of such networks has caused a change in the way users store data. Before the high-speed information network was established, users used portable storage media such as USB memory or external hardware to carry their data. Such portable storage media have a high risk of loss and have the inconvenience of not being able to access the stored data without carrying them.
따라서 사용자들은 저장매체의 분실위험 없이 언제 어디서든 네트워크를 통하여 자신의 주요 자료를 저장 및 접근하길 원하게 되었으며, 이로 인하여 웹 하드와 같은 원격 저장소 서비스의 사용이 급증하게 되었다.Therefore, users want to store and access their main data through the network anytime and anywhere without risking the loss of storage media. This has led to a surge in the use of remote storage services such as web hard.
하지만, 원격 저장소는 해커나 비윤리적인 관리자로 말미암아 내부에 저장된 개인 정보 및 주요정보가 노출되는 사고가 발생할 위험이 존재한다. However, remote storage is a hacker or an unethical administrator who is at risk of exposing personal and sensitive information stored inside.
따라서 사용자들은 프라이버시 및 중요한 데이터의 기밀성을 보호하기 위하여, 데이터를 암호화(Encryption)하여 저장하길 원한다. 이는 검색을 수행하는 서버에 데이터의 내용이 노출될 위험이 있기 때문이다. 이러한 데이터들이 서버에 많이 저장되어 있을 경우에는 사용자들이 필요에 따라 원하는 데이터들만을 검색할 수 있도록 하는 기능이 필요하다. 즉, 사용자들이 암호화된 데이터의 기밀성을 해치지 않으면서도 원하는 데이터들을 검색할 수 있는 방법이 필요한데, 이를 위하여 제안된 것이 검색 가능 암호화 기술이다.Therefore, users want to encrypt and store data in order to protect privacy and confidentiality of sensitive 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. The proposed technique is searchable encryption technology.
암호화 기술로는 서버와 단말기 사이의 안전한 키 분배 및 메시지 전달을 위하여 암호 알고리즘을 사용하며, 이러한 암호 알고리즘은 대칭키 암호 방식과 공개키 암호 방식 그리고 해시 알고리즘이 쓰인다.As encryption technology, encryption algorithm is used for secure key distribution and message transmission between server and terminal. Such encryption algorithm uses symmetric key cryptography, public key cryptography and hash algorithm.
대칭키 암호 방식으로는 DES, AES, SEED, RC5등이 있으며 DES가 대칭키 암호 방식의 기본이 되는 알고리즘이다. 대칭키 암호방식이란 송신자와 수신자가 동일한 키를 가지고 암호화하여 전송하는 것을 말한다. DES는 데이터를 56비트 키를 이용하여 64비트 출력으로 변환하며, 초기순열과 단일 반복 처리과정을 사용한다. 암호 알고리즘은 64비트 입력을 받아 일련의 과정을 거쳐 64비트 출력을 생성한다. 복호화는 암호화와 동일한 키를 사용하여 동일한 단계가 암호화의 역순으로 진행된다.Symmetric key cryptography includes DES, AES, SEED, RC5, etc. DES is the basic algorithm of symmetric key cryptography. Symmetric key cryptography is a method in which a sender and a receiver encrypt and transmit the same key. DES converts data to 64-bit output using 56-bit keys, using initial permutation and a single iteration process. The cryptographic algorithm takes a 64-bit input and goes through a series of steps to produce a 64-bit output. Decryption is performed in the reverse order of encryption using the same key as encryption.
공개키 암호 방식으로는 RSA가 대표적이며 1977년 론 리베스트(Ron Rivest)와 아디 셰미르(Adi Shamir), 레오나르드 아델만(Leonard Adleman) 등 3명의 수학자에 의해 개발된 알고리즘을 사용하는 인터넷 암호화 및 인증시스템이다. 이 방식은 두 개의 큰 소수를 이용하여 이 수들의 곱과 추가연산을 통하여 공개키와 개인키를 구성하는데, 사용되는 두 세트의 수 체계를 유도하는 작업이 수반된다. 구성된 공개키와 개인키를 사용하여 정보를 암호화하고 복호화할 수 있는데, 동작원리는 매우 복잡한 수학으로 이루어져 있다. RSA의 강점은 개인키를 알아내기 힘들다는 것에 강점이 있다.Public key cryptography is RSA, an Internet encryption and algorithm developed in 1977 by algorithms developed by three mathematicians: Ron Rivest, Adi Shamir, and Leonard Adleman. It is an authentication system. This method uses two large prime numbers to construct the public and private keys by multiplying these numbers and adding operations, which involves deriving the two sets of numbering schemes used. Information can be encrypted and decrypted using the constructed public and private keys. The principle of operation consists of very complex mathematics. The strength of RSA is that it is difficult to find the private key.
해시 알고리즘의 종류는 MD5, SHA 등이 있다. 해시 알고리즘은 데이터 무결성 및 메시지 인증 등에서 사용할 수 있는 함수로써 임의의 길이의 비트 열을 고정된 길이의 출력 값인 해시 코드로 압축시키는 함수이며, 암호학적 응용에 사용되는 대부분의 해시함수는 강한 충돌저항성을 지닐 것이 요구된다. 해시 알고리즘은 크게 DES와 같은 블록암호 알고리즘에 기초한 해시 알고리즘과 전용 해시 알고리즘으로 나눌 수 있으며, 블록암호 알고리즘에 비해 전용 해시 알고리즘의 속도가 빠르므로 대부분의 응용에서 전용 해쉬 알고리즘이 이용된다. 해시함수는 일 방향 함수(one-way function)로 다양한 길이의 입력을 고정된 짧은 길이의 출력으로 변환하는 함수로 데이터의 무결성 검증, 메시지 인증에 사용한다.Types of hash algorithms include MD5 and SHA. Hash algorithm is a function that can be used for data integrity and message authentication. It compresses a string of bits of arbitrary length into a hash code which is a fixed length output value. Most hash functions used in cryptographic applications have strong collision resistance. To be required. The hash algorithm can be divided into a hash algorithm and a dedicated hash algorithm based on a block cipher algorithm such as DES. Since the hash algorithm is faster than the block cipher algorithm, the hash algorithm is used in most applications. The hash function is a one-way function that converts inputs of various lengths into fixed short-length outputs and is used for data integrity verification and message authentication.
또, 신뢰할 수 없는 서버에 자료를 저장하는 위험을 줄이기 위해 암호화 기술을 적용할 필요가 생겼으며, 이와 함께 암호화된 자료를 안전하게 검색할 수 있는 검색 가능한 암호 기술의 필요성이 대두 되고 있으며 다음과 같은 연구가 진행되었다.In addition, there is a need to apply encryption technology to reduce the risk of storing data on an untrusted server, and along with the necessity of a searchable encryption technology that can securely search encrypted data, Proceeded.
하기 문헌 1에서는 'Practical Techniques for Searches on Encrypted Data'를 제안하였으며, 이는 초기의 대칭키 기반 검색가능 암호라고 할 수 있다. 메일 서버나 파일 서버와 같은 데이터 스토리지 서버에서 안전성 제공과 프라이버시 침해 위험을 줄이기 위해서는 저장되는 데이터의 암호화가 필요하다. 즉, 하기 문헌 1에서는 신뢰할 수 없는 서버로부터 자료의 기밀성을 제공하면서 특정 키워드를 가지는 암호화데이터를 검색할 수 있는 방법을 제안하였다. 하기 문헌 1에서 제안한 방식은 문서를 워드들로 나누며, 각 워드는 64비트 블록으로 표현된다. 각 워드의 블록을 사전 암호화하고 의사 난수 순열과 의사 난수 함수로 생성된 스트림 암호와 XOR연산을 통해 재 암호화하여 암호문의 평문을 노출하지 않고도 문서로부터 워드의 포함 여부를 확인할 수 있게 된다. 하기 문헌 1의 방식은 명확한 안전성이 정의되지는 않았지만 초기의 검색 가능 암호 시스템으로써 의미 있다고 할 수 있다.
또 하기 문헌 2에서 제안한 'Secure Indexes'는 단일 키워드로 검색이 가능한 검색가능 암호시스템이다. 처음으로 검색 가능 암호시스템에 대한 명확한 안전성 모델을 정의하였으며, 제안된 검색 가능 암호 시스템이 안전함을 증명하였다. 해당 논문은 키 생성 및 트랩도어(trapdoor) 생성, 색인 생성, 색인 검색 과정으로 구성되어 있으며, 블룸 필터를 사용하여 문서가 가지는 워드를 표현하고 있다. 하지만 블룸 필터를 사용하였기 때문에 검색 결과 중 오류가 포함될 확률을 지니고 있다. 이러한 오류의 확률을 줄이기 위해서는 더 큰 블룸 필터를 사용하여야 하는데 너무 큰 블룸 필터를 사용하는 경우 검색이 비효율적이 된다.In addition, 'Secure Indexes' proposed in
하기 문헌 3에서 제안한 'Privacy Preserving Keyword Searches on Remote Encrypted Data' 방식은 매우 작은 트랩도어를 사용하는 등 검색 가능 암호 시스템에 대한 현실적인 요구를 반영하여 고안되었다. 또한 이 시스템은 유사 난수 생성 함수만을 사용하고 있다. 기존의 검색 가능 암호 시스템들이 각각의 키워드에 대한 인덱스를 별도로 저장했던 것에 비해서 이 시스템은 각각의 키워드마다 단지 1비트의 정보만을 사용한다. 즉, 자료가 주어진 키워드를 포함하는지의 여부만을 저장하는 것이다. 또한 해시 테이블을 이용한 방식으로 저장량을 최소화 할 수도 있다. 단 이 경우 검색과정 동안 사용자와 서버간의 통신 횟수가 증가하는 단점이 존재한다. The 'Privacy Preserving Keyword Searches on Remote Encrypted Data' method proposed in
기존의 대칭키 방식 중 가장 빠른 검색 속도를 제공하는 기술로서, 하기 문헌 4에서 제안한 'Searchable Symmetric Encryption(SSE)'의 경우 링크드 리스트로 각 키워드를 가지는 문서들을 구현하였다. 하기 문헌 4의 방식은 노드별로 문서의 주소 값, 다음 노드의 복호화를 위한 키 값, 다음 노드의 주소 값과 같은 부수적인 데이터가 추가되어 저장공간의 효율성이 떨어진다. 또한, 상기 SSE 방식에서 문서를 추가할 때 최초 노드의 복호화 및 링크를 변경해야 하는 복잡한 구조로 되어 있다. 문서의 삽입뿐만 아니라 문서를 삭제할 때 문서에 해당하는 각 키워드의 링크드 리스트에서 삭제할 문서의 노드를 찾아 삭제해야 하며, 이를 위해서 복호화 연산이 지속적으로 발생하여 문서의 삽입/삭제 시 서버의 과부하를 유발하는 문제점이 있다.
As the technology that provides the fastest search speed among the existing symmetric key methods, 'Searchable Symmetric Encryption (SSE)' proposed in
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위해 이루어진 것으로서, 블룸 필터 기반의 검색가능 색인을 이용함으로써 암호화된 데이터를 검색하는데 있어 색인 크기를 줄여 기존 검색가능 암호 시스템의 비효율적인 색인 크기에 대한 효율성을 제공하고 여러 개의 키워드를 포함하는 데이터를 필드에 제한 없이 한번에 검색하도록 하여 검색의 효율성을 높인 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템을 제공하는 것이다.SUMMARY OF THE INVENTION An object of the present invention is to solve the problems as described above. By using a bloom filter-based searchable index, the index size is reduced in searching encrypted data. It is to provide a symmetric key-based password generation and retrieval method and system that provides efficiency and improves the efficiency of retrieval by retrieving data containing several keywords in one field without restriction.
본 발명의 다른 목적은 신뢰하지 못하는 서버에 데이터를 암호화하여 저장하고 이를 복호화 하지 않고 트랩 도어를 이용하여 안전하게 검색하는 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템을 제공하는 것이다.It is another object of the present invention to provide a symmetric key-based encryption generation and retrieval method and system for securely retrieving data using a trap door without encrypting and storing data in a server that is not trusted.
상기 목적을 달성하기 위해 본 발명에 따른 대칭키 기반의 암호 생성 방법은 서버, 사용자 단말 및 상기 사용자 단말에 설치되는 암호생성수단에 의해, 상기 사용자 단말과 서버 사이의 통신 간에 키워드에 대한 정보가 유출되지 않고 상기 서버가 트랩 도어로부터 사용자가 검색하고자 하는 키워드들을 학습할 수 없도록 하는 대칭키 기반의 암호 생성 방법으로서, (a) 사용자 단말이 서버에게 자신만이 알고 있는 키로 데이터를 암호화하여 전송하는 단계, (b) 상기 암호생성수단이 색인 생성 및 색인으로부터 데이터를 검색할 때 사용되는 검색키를 의사난수 순열에 넣어 의사 난수 함수에 사용되는 키들을 생성하는 단계 및 (c) 상기 암호생성수단이 각 문서에 해당하는 키워드들을 각각 의사 난수 함수들에 상기 (b) 단계로부터 생성된 키들과 함께 적용하여 블룸 필터 방식으로 색인을 생성하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, in the symmetric key-based encryption generation method according to the present invention, information on a keyword is leaked between communication between the user terminal and the server by a password generation means installed in a server, a user terminal, and the user terminal. And a method of generating a symmetric key based encryption so that the server cannot learn keywords that a user wants to search from a trap door, the method comprising: (a) a user terminal encrypting and transmitting data to a server using a key known only to the server; (b) generating the keys used for the pseudo random number function by inserting a search key used in index generation and retrieval of data from the index into a pseudo random number sequence, and (c) the encryption generating means in each case. Apply keywords corresponding to the document to the pseudorandom functions, respectively, with the keys generated from step (b) Characterized in that it comprises indexing to over double filter system.
또 본 발명에 따른 대칭키 기반의 암호 생성 방법에 있어서, (d) 상기 암호생성수단이 생성된 색인으로부터 키워드를 포함하는 데이터를 찾기 위해 상기 서버가 키워드 정보를 알 수 없도록 하는 트랩 도어를 생성하기 위해 의사 난수 순열에 데이터를 검색할 때 사용되는 검색키를 의사 난수 순열에 넣어 의사 난수 함수에 사용되는 키들을 생성하는 단계, (e) 상기 암호생성수단이 검색하고자 하는 키워드들을 각각 의사 난수 함수에 상기 (d) 단계로부터 생성된 키들과 함께 적용하여 블룸 필터 방식으로 트랩 도어를 생성하는 단계를 더 포함하는 것을 특징으로 한다.In the symmetric key-based encryption generation method according to the present invention, (d) generating a trap door to prevent the server from knowing keyword information in order to find data including a keyword from the index generated by the encryption generation means. Generating a key used for a pseudo random number function by inserting a search key used for retrieving data in a pseudo random number permutation into a pseudo random number permutation; The method may further include generating a trap door using a bloom filter method by applying the keys generated from the step (d).
또 상기 목적을 달성하기 위해 본 발명에 따른 대칭키 기반의 검색 방법은 서버, 사용자 단말 및 상기 사용자 단말에 설치되는 암호생성수단을 구비하고, 암호화된 문서와 해당 문서가 가지는 키워드들을 안전하게 표현하는 색인을 가지는 서버와 키워드로 암호화된 문서를 검색하고자 하는 사용자 간에 데이터를 검색하기 위한 대칭키 기반의 검색 방법으로서, (a) 상기 사용자 단말이 암호통신부를 통해 검색하고자 하는 키워드를 표현하는 트랩 도어를 서버에 전송하는 단계, (b) 상기 서버가 가지고 있는 문서들의 블룸 필터로 표현된 색인으로부터 트랩 도어에서 1로 표현된 비트열에 해당하는 색인의 값을 탐색하고, 각 문서별로 일치 여부를 확인하는 테스트 단계 및 (c) 일치하는 문서들을 사용자 단말로 전송하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, a symmetric key-based retrieval method according to the present invention includes a server, a user terminal, and an encryption generating means installed in the user terminal, and securely expresses an encrypted document and keywords of the document. A symmetric key-based retrieval method for retrieving data between a server having a server and a user who wants to retrieve a document encrypted with a keyword, the method comprising: (a) a trap door expressing a keyword to be retrieved by the user terminal through an encryption communication unit; (B) a search step of searching for an index value corresponding to a bit string represented by 1 in the trap door from an index expressed by a bloom filter of documents owned by the server, and checking whether the document matches each document. And (c) transmitting the matching documents to the user terminal. .
또한 상기 목적을 달성하기 위해 본 발명에 따른 대칭키 기반의 암호 생성 시스템은 사용자 단말에 설치되고, 서버와 네트워크로 연결되고, 상기 사용자 단말과 서버 사이의 통신 간에 키워드에 대한 정보가 유출되지 않고 상기 서버가 트랩 도어로부터 사용자가 검색하고자 하는 키워드들을 학습할 수 없도록 하는 대칭키 기반의 암호 생성 시스템으로서, 상기 서버에 업로드 하고자하는 데이터를 암호화 키로 암호화하는 암호통신부, 색인 생성 및 색인으로부터 데이터를 검색할 때 사용되는 검색키를 의사 난수 순열에 넣어 의사 난수 함수에 사용되는 키들을 생성하는 색인용 키 생성부, 각 문서에 해당하는 키워드들을 각각 의사 난수 함수들에 상기 색인용 키 생성부에서 생성된 키들과 함께 적용하여 블룸 필터 방식으로 색인을 생성하는 색인 생성부, 상기 색인 생성부에서 생성된 색인으로부터 키워드를 포함하는 데이터를 찾기 위해 서버가 키워드 정보를 알 수 없도록 하는 트랩 도어를 생성하기 위해 의사 난수 순열에 데이터를 검색할 때 사용되는 검색키를 의사 난수 순열에 넣어 의사 난수 함수에 사용되는 키들을 생성하는 트랩 도어용 키 생성부 및 검색하고자 하는 키워드들을 각각 의사 난수 함수에 상기 트랩 도어용 키 생성부에서 생성된 키들과 함께 적용하여 블룸 필터 방식으로 트랩 도어를 생성하는 트랩 도어 생성부를 포함하는 것을 특징으로 한다.In addition, in order to achieve the above object, a symmetric key-based password generation system according to the present invention is installed in a user terminal, is connected to a server and a network, and information on keywords is not leaked between communication between the user terminal and the server. A symmetric key-based encryption generation system that prevents a server from learning keywords that a user wants to search from a trap door, the encryption communication unit for encrypting data to be uploaded to the server with an encryption key, indexing and retrieving data from the index A key generator for indexing the search key used in the pseudo random number sequence to generate keys used in the pseudo random number function, and the keywords corresponding to each document in the pseudo random number functions, respectively. To be indexed with the Bloom filter method by applying In addition, a pseudo-random number is used to search for data in a pseudo-random permutation to generate a trap door that prevents the server from knowing keyword information in order to find data including a keyword from the index generated by the index generator. A trap door key generator for generating keys used in a pseudo random number function in permutation and keywords to be searched are applied to the pseudo random number function together with the keys generated by the key generator for trap doors, respectively, to trap in a bloom filter method. It characterized in that it comprises a trap door generating unit for generating a door.
상술한 바와 같이, 본 발명에 따른 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템에 의하면, 색인의 크기를 최소화함으로써 저장공간 효율성을 증가시킬 수 있으며, 다중키워드 검색을 제공하여 빠르고 유연한 검색 쿼리(Query)가 가능하다는 효과가 얻어진다.
As described above, according to the symmetric key based encryption generation and retrieval method and system according to the present invention, it is possible to increase the storage space efficiency by minimizing the size of the index, and to provide a multi-keyword retrieval for a fast and flexible retrieval query ( The effect of querying is obtained.
도 1은 본 발명의 일 실시 예에 따른 대칭키 기반의 암호 생성 및 검색 시스템을 개략적으로 나타낸 구성도,
도 2는 도 1의 암호생성수단인 에이전트(40)의 구성을 나타내는 블록도,
도 3은 본 발명에 따른 대칭키 기반의 암호 생성 및 검색 방법을 포괄적으로 기재된 흐름도이고, 도 4는 도 3의 각각의 단계를 구체화한 흐름도,
도 5는 본 발명의 일 실시 예에 따른 색인 생성방법을 설명하기 위한 참고도,
도 6은 사용자 단말이 키워드 검색을 위해 트랩 도어를 생성하는 방법을 설명하는 참고도,
도 7은 서버에서 트랩 도어를 통해 문서를 검색하는 테스트과정을 설명하는 참고도.1 is a configuration diagram schematically showing a symmetric key based encryption generation and retrieval system according to an embodiment of the present invention;
2 is a block diagram showing the configuration of an
FIG. 3 is a flow chart describing the symmetric key based encryption generation and retrieval method according to the present invention. FIG. 4 is a flow chart detailing each step of FIG.
5 is a reference diagram for explaining an index generation method according to an embodiment of the present invention;
6 is a reference diagram illustrating how a user terminal generates a trap door for keyword search;
7 is a reference diagram illustrating a test process of searching for a document through a trap door in a server.
본 발명의 상기 및 그 밖의 목적과 새로운 특징은 본 명세서의 기술 및 첨부 도면에 의해 더욱 명확하게 될 것이다.These and other objects and novel features of the present invention will become more apparent from the description of the present specification and the accompanying drawings.
먼저 본 발명에 따른 대칭키 기반의 암호 생성 및 검색과 그 시스템의 개념에 대해 설명한다.First, the symmetric key-based encryption generation and retrieval according to the present invention and the concept of the system will be described.
검색가능 암호 생성 및 검색 시스템에서는 다음과 같은 요구사항을 만족해야한다.Searchable password generation and retrieval systems must meet the following requirements:
1. 기밀성: 원격 저장소 서버와 클라이언트 단말기 간의 통신 자료는 정당한 개체만이 확인할 수 있어야 하며, 제3의 공격자가 통신내용을 통해 검색하는 키워드 및 키워드에 해당하는 문서를 유추할 수 없어야 한다.1. Confidentiality: The communication data between the remote storage server and the client terminal should only be identified by legitimate individuals, and the third-party attacker shall not be able to infer the keywords and documents corresponding to the keywords.
2. 검색 속도: 제한적인 시스템 자원을 가지는 클라이언트에서도 원격저장소에 저장된 검색 하고자 하는 키워드를 포함하는 문서의 검색이 빠르게 제공되어야 한다.2. Retrieval Speed: Clients with limited system resources should be able to provide quick retrieval of documents containing keywords to be stored in remote storage.
3. 서버 저장공간의 효율성: 검색 가능 암호 시스템에서 빠른 검색을 위하여, 생성하는 색인의 용량이 적어야 한다.3. Efficiency of server storage: For fast search in searchable cryptosystems, the capacity of the index to be created should be small.
4. 통신량의 효율성: 클라이언트와 서버 간의 네트워크 자원의 효율성을 위하여 통신량이 적어야 한다.4. Efficiency of traffic: The traffic should be low for the efficiency of network resources between client and server.
5. 문서 검색의 효율성: 한 번의 검색만으로 단일 키워드 검색이 아닌 유연한 다중 키워드 검색을 지원하는 효율성이 제공되어야 한다.
5. Efficiency of document search: The efficiency of supporting multiple keyword search should be provided with one search instead of single keyword search.
본 발명에서는 상술한 바와 같은 조건을 만족시키기 위해, 신뢰하지 못하는 서버에 데이터를 암호화하여 저장하고 이를 복호화 하지 않고 트랩 도어를 이용하여 안전하게 검색하는 암호 생성 시스템을 마련하는 것이다.In the present invention, in order to satisfy the conditions described above, it is to provide a password generation system that encrypts and stores data in an untrusted server and securely searches using a trap door without decrypting it.
즉, 본 발명은 블룸 필터를 이용하여 암호화 데이터의 키워드 정보를 표현하는 색인의 용량을 줄이고 기존의 검색가능 암호 시스템과 다르게 검색 질의문의 필드 제한 없이 여러 개의 키워드로 한 번의 통신만으로 데이터를 검색할 수 있는 유연한 검색을 지원하는 대칭키 기반의 암호 생성 및 검색 시스템을 마련하는 것이다.
That is, the present invention can reduce the capacity of the index to express the keyword information of the encrypted data by using the bloom filter, and unlike the existing searchable cryptographic system, it is possible to search the data by only one communication with multiple keywords without limiting the fields of the search query. To create a symmetric key-based password generation and retrieval system that supports flexible retrieval.
이하, 본 발명의 구성을 도면에 따라서 설명한다.EMBODIMENT OF THE INVENTION Hereinafter, the structure of this invention is demonstrated according to drawing.
먼저, 본 발명을 실시하기 위한 대칭키 기반의 암호 생성 및 검색 시스템 구성의 일례를 도 1 및 도 2를 참조하여 설명한다.First, an example of configuration of a symmetric key-based encryption generation and retrieval system for implementing the present invention will be described with reference to FIGS. 1 and 2.
도 1은 본 발명의 일 실시 예에 따른 대칭키 기반의 암호 생성 및 검색 시스템을 개략적으로 나타낸 구성도이고, 도 2는 도 1의 암호생성수단인 에이전트(40)의 구성을 나타내는 블록도 이다.1 is a block diagram schematically showing a symmetric key-based encryption generation and retrieval system according to an embodiment of the present invention, Figure 2 is a block diagram showing the configuration of the
도 1에서 도시한 바와 같이, 본 발명을 실시하기 위한 암호 생성 및 검색 시스템은 사용자 단말(10), 서버(20), 암호생성수단인 에이전트(40) 및 데이터베이스(DB, 50)로 구성된다.As shown in FIG. 1, the password generation and retrieval system for implementing the present invention comprises a
사용자 단말(10)은 PC, 노트북, PDA, 태블릿PC 등 컴퓨팅 기능을 가진 단말기로서, 문서 등을 저장하기 위한 하드 디스크 등 내부 저장매체를 구비한다. 또한, 사용자 단말(10)은 외부 저장장치 등이 삽입되면 저장장치를 인식하여 하나의 저장매체로 사용한다. 이때, 사용자 단말(10)에 저장된 문서, 예를 들어, 하드 디스크 등에 저장된 문서가 복사 또는 이동되어, 플래시 메모리, USB 메모리, SD 카드, 마이크로 SD카드, 이동식 하드 디스크 등의 외부 저장장치에 저장될 수 있다.The
서버(20)는 네트워크(30)에 연결된 통상의 서버로서, 사용자 단말(10)과 네트워크(30)를 통해 연결되며, 신뢰하지 못하는 서버이다. 서버(20)는 사용자 단말(10)과 데이터 통신을 수행하여, 사용자 단말(10)의 서비스 요청에 응답하여 해당 서비스를 제공한다.The
상기 서버(20)는 사용자 단말(10)로부터 반출할 문서를 수신하여, 문서가 반출되어도 정당한가를 판단한다. 서버(40)는 문서가 반출 가능한 것으로 판단되면, 즉, 해당 트랩 도어로 색인에서 각 문서별로 일치 여부를 확인하여 테스트하고, 일치하는 문서들을 사용자 단말(10)의 에이전트(40)로 전송한다.The
암호생성수단인 에이전트(40)는 사용자 단말(10)에 설치되는 프로그램 장치로서, 암호화된 문서와 해당 문서가 가지는 키워드들을 안전하게 표현하는 색인을 가지는 서버(20)와 키워드로 암호화된 문서를 검색하고자 하는 사용자 단말(10) 간에 데이터를 검색하며, 사용자 단말(10)과 서버(20) 사이의 통신 간에 키워드에 대한 정보가 유출되지 않고 서버(20)가 트랩 도어로부터 사용자 단말(10)이 검색하고자 하는 키워드들을 학습할 수 없도록 한다.
또 데이터베이스(50)는 필요한 데이터를 저장하기 위한 것으로서, 사용자 단말(10)에서 전송된 문서 등을 저장하며, 접근 및 검색의 용이성 및 효율성 등을 감안하여 통상의 데이터베이스 구축이론에 의하여 구성된다.
In addition, the
다음으로, 본 발명의 일 실시예에 따른 대칭키 기반의 암호 생성 시스템에서의 암호생성수단(40)의 구성을 도 2를 참조하여 보다 구체적으로 설명한다. 여기서 암호생성수단(40)은 앞서 설명한 에이전트(40)를 말한다. 이러한 암호생성수단(40)은 사용자 단말(10)에 설치되는 프로그램 장치이다.Next, the configuration of the encryption generating means 40 in the symmetric key-based encryption generation system according to an embodiment of the present invention will be described in more detail with reference to FIG. 2. Here, the cipher generating means 40 refers to the
도 2에서 보는 바와 같이, 본 발명에 따른 암호생성수단(40)은 암호통신부(41), 색인용 키 생성부(42), 색인 생성부(43), 트랩 도어용 키 생성부(44) 및 트랩 도어 생성부(45)로 구성된다. 추가적으로, 외부 저장장치가 사용자 단말(10)에 삽입되면 외부 저장장치의 인식을 차단하고, 사용자 인증을 성공하면 저장장치의 인식 차단을 해제하는 기능을 구비하기 위해, 사용자를 인증하기 위한 사용자 인증부 및 저장 매체를 관리하기 위한 매체 제어부를 더 포함하여 구성될 수 있다.As shown in FIG. 2, the encryption generating means 40 according to the present invention includes an
암호통신부(41)는 서버(20)에 업로드 하고자하는 데이터를 암호화 키로 암호화한다. 즉, 사용자가 서버(20)에게 자신만이 알고 있는 키로 데이터를 암호화하여 전송하게 한다.The
상기 색인용 키 생성부(42)는 색인 생성 및 색인으로부터 데이터를 검색할 때 사용되는 검색키를 의사 난수 순열에 넣어 의사 난수 함수에 사용되는 키들을 생성하고, 색인 생성부(43)는 각 문서에 해당하는 키워드들을 각각 의사 난수 함수들에 상기 색인용 키 생성부(42)에서 생성된 키들과 함께 적용하여 블룸 필터 방식으로 색인을 생성한다.The index
상기 트랩 도어용 키 생성부(44)는 상기 색인 생성부(43)에서 생성된 색인으로부터 키워드를 포함하는 데이터를 찾기 위해 서버(20)가 키워드 정보를 알 수 없도록 하는 트랩 도어를 생성하기 위해 의사 난수 순열에 데이터를 검색할 때 사용되는 검색키를 의사 난수 순열에 넣어 의사 난수 함수에 사용되는 키들을 생성하며, 상기 트랩 도어 생성부(45)는 검색하고자 하는 키워드들을 각각 의사 난수 함수에 상기 트랩 도어용 키 생성부(44)에서 생성된 키들과 함께 적용하여 블룸 필터 방식으로 트랩 도어를 생성한다.The
상기 트랩 도어 생성부(45)에서 생성된 트랩 도어는 암호통신부(41)를 통해 네트워크(30)를 거쳐 서버(20)로 전송되며, 서버(20)는 전송된 데이터를 데이터베이스(50)에 저장한다.
The trap door generated by the trap
본 발명에 따른 대칭키 기반의 암호 생성 및 검색 방법을 도 3 및 도 4에 따라 설명한다.A symmetric key based encryption generation and retrieval method according to the present invention will be described with reference to FIGS. 3 and 4.
도 3은 본 발명에 따른 대칭키 기반의 암호 생성 및 검색 방법을 포괄적으로 기재된 흐름도이고, 도 4는 도 3의 각각의 단계를 구체화한 흐름도이다.FIG. 3 is a flow chart describing the symmetric key based encryption generation and retrieval method according to the present invention, and FIG. 4 is a flowchart detailing each step of FIG.
본 발명에 따른 대칭키 기반의 암호 생성 및 검색은 도 3에 도시된 바와 같이, 크게 색인 생성 단계(S10), 트랩 도어 생성 단계(S20), 문서 검색 단계(S30) 및 전송 단계(S40)로 구분된다.Symmetric key-based encryption and retrieval according to the present invention is largely divided into the index generation step (S10), trap door generation step (S20), document retrieval step (S30) and transmission step (S40), as shown in FIG. Are distinguished.
먼저 색인 생성 과정에 대해 설명한다.First, the indexing process is explained.
색인 생성 과정은 사용자 단말(10)이 서버(20)에 전송할 데이터의 키워드 정보를 안전하게 생성하는 것으로 다음과 같은 순서로 진행된다. The index generation process is performed by the
사용자 단말(10)은 먼저 서버(20)에 업로드 하고자 하는 데이터를 암호 통신부(421)를 통해 암호화 키로 암호화한다(S101). 그리고 색인용 키 생성부(42)는 각 데이터가 가지는 키워드들의 정보를 표현하기 위한 특정 비트열 블룸 필터를 생성하기 위해 사용되는 의사 난수 함수들의 키를 의사 난수 순열에 색인 생성키를 넣어 생성한다(S102). 다음에 색인 생성부(43)는 문서가 가지는 키워드를 각각 의사 난수 함수들에 넣어 그 값에 해당하는 블룸 필터의 비트 값을 1로 변경하여 색인을 생성하며, 위 과정을 키워드의 수만큼 반복 진행하여 문서에 해당하는 블룸 필터를 생성한다(S103).The
색인 생성부(43)에서 색인을 생성한 뒤 사용자가 키워드로 데이터를 검색하고자 할 때 먼저 트랩 도어를 생성하게 된다. After the index is generated by the
트랩 도어의 생성과정은 다음과 같은 순서로 진행된다.The generation of the trap door proceeds in the following order.
사용자 단말(10)에서의 트랩 도어용 키 생성부(44)는 의사 난수 순열에 색인 생성키를 넣어 트랩 도어 작성에 사용되는 의사난수 함수의 키들을 생성하고, 트랩 도어 생성부(45)는 검색하고자 하는 키워드들로 색인 생성과정과 동일하게 블룸 필터를 생성하여 트랩 도어를 작성한다(S104).The trap door
트랩 도어를 생성한 뒤 암호통신부(41)는 트랩 도어를 서버(20)로 전송하고(S105), 서버(20)는 트랩 도어를 통해 색인으로부터 각 문서가 키워드들을 가지고 있는지 테스트한다. After generating the trap door, the
문서 검색 과정은 다음과 같은 순서로 진행된다. The document search process proceeds in the following order.
먼저 사용자 단말(10)이 암호통신부(41)를 통해 검색하고자 하는 키워드를 표현하는 트랩 도어를 서버(20)에 전송한다. 서버(20)는 가지고 있는 문서들의 블룸 필터로 표현된 색인으로부터 트랩 도어에서 1로 표현된 비트열에 해당하는 색인의 값을 탐색한다. 탐색한 비트열의 값이 전부 1인 문서의 색인은 검색하고자하는 키워드들을 모두 포함하고 있음을 나타내며, 검색된 암호화 문서들을 사용자 단말(10)로 전송한다.
First, the
다음에, 본 명세서에 사용되는 기호들에 대해 다음과 같이 정의한다. Next, the symbols used in the present specification are defined as follows.
ek : 문서 암호화 키ek: document encryption key
sk : 색인 생성/검색 키sk: index / search key
m : 전체 문서의 개수m: the total number of documents
n : 전체 키워드의 개수n: the total number of keywords
j : 특정문서가 가지는 키워드의 개수(j≤n)j: Number of keywords in a specific document (j≤n)
q : 특정 키워드를 가지는 문서의 개수(q≤m)q: the number of documents with a specific keyword (q≤m)
c : 블룸 필터에 이용되는 일방향 함수의 개수c: the number of one-way functions used for the bloom filter
l : 블룸 필터의 길이(l<n)l: length of the bloom filter (l <n)
di : i번째 문서d i : i-th document
wi : i번째 키워드w i : i-th keyword
wi ,j : i번째 문서의 j번째 키워드w i , j : j-th keyword of the i-th document
D : 문서들의 집합D: collection of documents
W : 키워드들의 집합W: set of keywords
: i번째 문서의 블룸 필터 : Bloom filter in the i document
E*[] : *로 암호화E * []: encrypted with *
D*[] : *로 복호화D * []: decrypt with *
F*[] : *의 키로 의사 난수 함수F * []: pseudorandom number function with keys of *
P[] : 의사 난수 순열P []: pseudo-random permutation
H[] : 안전한 일 방향 함수H []: safe one-way function
ITi : 색인 테이블의 i번째 레코드IT i : i th record of the index table
DTi : 자료 테이블의 i번째 레코드DT i : i-th record of the data table
T* : *키워드를 가지는 문서를 검색하기 위한 트랩도어
T * : Trapdoor to search for documents with * keywords
이하, 도 5 내지 도 7을 참조하여 본 발명의 일 실시 예에 따른 블룸 필터 기반 다중키워드 검색 가능한 대칭키 암호 시스템을 상세히 설명하기로 한다.Hereinafter, a lumber filter-based multi-keyword searchable symmetric key cryptosystem according to an embodiment of the present invention will be described in detail with reference to FIGS. 5 to 7.
도 5는 본 발명의 일 실시 예에 따른 색인 생성방법을 설명하기 위한 참고도이고, 도 6은 사용자 단말이 키워드 검색을 위해 트랩 도어를 생성하는 방법을 설명하는 참고도이며, 도 7은 서버에서 트랩 도어를 통해 문서를 검색하는 테스트과정을 설명하는 참고도이다.
5 is a reference diagram for explaining an index generation method according to an embodiment of the present invention, FIG. 6 is a reference diagram for explaining a method for generating a trap door for a keyword search by a user terminal, and FIG. This is a reference that describes the test procedure for retrieving a document through the trap door.
본 발명의 일 실시 예에 따른 허용 바이리니어 맵(Admissible Bilinear Map) 기반 멀티캐스트 키 관리 방법은 상술한 바와 같이, 크게 색인 생성 과정, 트랩 도어 생성과정, 문서 검색 과정으로 구분되는데, 먼저 색인 생성 과정을 살펴보면 다음과 같다. Admissible Bilinear Map based multicast key management method according to an embodiment of the present invention is divided into an index generation process, a trap door generation process, a document search process, as described above. Looking at it as follows.
도 5에 도시한 바와 같이 색인 생성 과정에서 사용자 단말(10)은 먼저 서버(20)에 업로드 하고자하는 m개의 데이터를 암호화 키 ek로 암호화하여 각각 저장한다.As shown in FIG. 5, in the index generation process, the
다음에 의사 난수 순열에 색인 생성/검색 키를 넣어 의사 난수 함수에 사용되는 키 k1~kc를 생성한다.Next, we generate the keys k 1 through k c used in the pseudo random number function by inserting the index / search key into the pseudo random sequence.
i번째 문서 di가 가지는 n개의 키워드들을 표현하기 위한 를 의사 난수 함수를 사용하여 생성한다. 의사 난수 함수를 통해 추출한 값에 해당하는 블룸 필터의 값을 1로 변경하여 블룸 필터를 생성한다.for representing the n keywords of the i th document d i Is generated using a pseudo-random function. The bloom filter is created by changing the value of the bloom filter corresponding to the value extracted through the pseudo random number function to 1.
위 과정을 m개의 문서 수만큼 반복 진행하여 을 생성한다.Repeat this process for m documents .
색인 생성부(43)에서 색인을 생성한 뒤, 사용자 단말(10)이 키워드로 데이터를 검색하고자 할 때 먼저 트랩 도어를 생성하게 된다. After the index is generated by the
트랩 도어 생성과정은 도 6에 도시한 바와 같이 다음과 같은 순서로 진행된다.The trap door generation process proceeds in the following order as shown in FIG.
사용자 단말(10)은 의사 난수 순열에 sk를 넣어 트랩 도어에 사용되는 키생성 과정을 가지게 된다.The
트랩 도어 생성부(45)는 검색하고자 하는 키워드들의 집합 W를 포함하는 문서의 검색을 위해 필요한 트랩 도어를 생성한다.The trap
트랩 도어를 생성한 뒤 사용자 단말(10)은 트랩 도어를 서버(20)로 전송하고, 서버(20)는 트랩 도어를 통해 색인으로부터 각 문서가 키워드들을 가지고 있는지 테스트한다. After generating the trap door, the
문서 검색 과정은 도 7에 도시한 바와 같이 다음과 같은 순서로 진행된다.The document retrieval process is performed in the following order as shown in FIG.
검색하고자 하는 키워드를 포함하는지 테스트하고자 하는 문서 di가 가지는 키워드들을 표현한 블룸 필터 를 획득한다.A bloom filter representing the keywords of the document d i that you want to test to see if it contains the keywords you want to search. Acquire it.
서버(20)는 블룸 필터 에서 트랩 도어 TW에 해당하는 색인의 값의 행을 순차적으로 탐색하여 값이 전부 1인 경우 i번째 문서인 di가 검색하고자하는 키워드들을 모두 포함하고 있음을 나타내며, 검색된 암호화 문서들을 사용자 단말(10)로 전송한다.
이상 본 발명자에 의해서 이루어진 발명을 상기 실시예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시예에 한정되는 것은 아니고 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.As mentioned above, although the invention made by this inventor was demonstrated concretely according to the said Example, this invention is not limited to the said Example and can be variously changed in the range which does not deviate from the summary.
즉, 상기 설명에서는 사용자 단말 내에 에이전트가 마련된 구조로 설명하였지만 이에 한정되는 것은 아니고, 서버에 에이전트를 마련한 구성으로 하여도 좋다.
In other words, the above description has been made of a structure in which an agent is provided in the user terminal. However, the present invention is not limited thereto, and an arrangement may be provided in the server.
본 발명에 따른 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템은 사용자들이 저장매체의 분실위험 없이 언제 어디서든 네트워크를 통하여 자신의 주요 자료를 저장 및 접근하는데 이용된다.The symmetric key based encryption generation and retrieval method and the system according to the present invention are used for users to store and access their main data through the network anytime and anywhere without risk of losing the storage medium.
10 : 사용자 단말 20 : 서버
30 : 네트워크 40 : 에이전트
50 ; 데이터베이스 41 : 암호 통신부
42 : 색인용 키 생성부 43 : 색인 생성부
44 : 트랩 도어용 키 생성부
45 : 트랩 도어 생성부 10: user terminal 20: server
30: network 40: agent
50; Database 41: Password Communication
42: index generation unit 43: index generation unit
44: key generator for the trap door
45: trap door generation unit
Claims (4)
(a) 사용자 단말이 서버에게 대칭키 기반의 자신만이 알고 있는 키로 데이터를 암호화하여 전송하는 단계,
(b) 상기 암호생성수단이 색인 생성 및 색인으로부터 데이터를 검색할 때 사용되는 검색키를 의사난수 순열에 넣어 의사 난수 함수에 사용되는 키들을 생성하는 단계,
(c) 상기 암호생성수단이 각 문서에 해당하는 키워드들을 각각 의사 난수 함수들에 상기 (b) 단계로부터 생성된 키들과 함께 적용하여 블룸 필터 방식으로 용량을 최소화시킨 색인을 생성하는 단계,
(d) 상기 암호생성수단이 생성된 색인으로부터 키워드를 포함하는 데이터를 찾기 위해 상기 서버가 키워드 정보를 알 수 없도록 하는 트랩 도어를 생성하기 위해 의사 난수 순열에 데이터를 검색할 때 사용되는 검색키를 의사 난수 순열에 넣어 의사 난수 함수에 사용되는 키들을 생성하는 단계, 및
(e) 상기 암호생성수단이 검색하고자 하는 키워드들을 각각 의사 난수 함수에 상기 (d) 단계로부터 생성된 키들과 함께 적용하여 블룸 필터 방식으로 트랩 도어를 생성하여 여러 개의 키워드를 포함하는 데이터를 필드에 제한 없이 한번에 검색하는 단계를 포함하는 것을 특징으로 하는 대칭키 기반의 암호 생성 방법.By the server, the user terminal, and the encryption generating means installed in the user terminal, the server can learn the keywords that the user wants to search from the trap door without information about the keyword is leaked between communication between the user terminal and the server. As a symmetric key-based password generation method,
(a) the user terminal encrypting and transmitting data to a server using a key known only by the symmetric key;
(b) generating the keys used in the pseudo random number function by inserting a search key used in index generation and retrieval of data from the index into a pseudo random sequence;
(c) the cryptographic generation means applying keywords corresponding to each document to the pseudorandom functions together with the keys generated from the step (b) to generate an index which minimizes the capacity by the Bloom filter method;
(d) a search key used when searching for data in a pseudo-random permutation to generate a trap door that causes the server to not know the keyword information to find data containing the keyword from the index generated by the cipher generating means. Generating keys for use in a pseudo random number function in a pseudo random number permutation, and
(e) Applying the keywords to be searched by the cipher generating means to the pseudo random number function together with the keys generated from the step (d) to generate a trap door using a bloom filter method to store data including several keywords in the field. Symmetric key-based password generation method comprising the step of searching without limitation at one time.
서버가 청구항 1의 대칭키 기반의 암호 생성방법에 의해 생성된 트랩 도어를 수신하는 단계,
상기 서버가 가지고 있는 문서들의 블룸 필터로 표현된 색인으로부터 트랩 도어에서 1로 표현된 비트열에 해당하는 색인의 값을 탐색하고, 각 문서별로 일치 여부를 확인하는 테스트 단계, 및
일치하는 문서들을 사용자 단말로 전송하는 단계를 가지는 것을 특징으로 하는 대칭키 기반의 검색 방법.
Search for data between a server having a server, a user terminal, and a cipher generating means installed in the user terminal, the server having an index that securely represents an encrypted document and keywords of the document, and a user who wants to search for a document encrypted with the keyword. As a symmetric key based search method,
Receiving, by the server, a trap door generated by the symmetric key based encryption generation method of claim 1,
A test step of searching for a value of an index corresponding to a bit string represented by 1 in a trap door from an index represented by a bloom filter of the documents owned by the server, and checking whether the document corresponds to each document; and
And transmitting matching documents to a user terminal.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020110025686A KR101232385B1 (en) | 2011-03-23 | 2011-03-23 | Searchable Symmetric Encryption Method and System |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020110025686A KR101232385B1 (en) | 2011-03-23 | 2011-03-23 | Searchable Symmetric Encryption Method and System |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20120108121A KR20120108121A (en) | 2012-10-05 |
| KR101232385B1 true KR101232385B1 (en) | 2013-02-13 |
Family
ID=47279767
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020110025686A Expired - Fee Related KR101232385B1 (en) | 2011-03-23 | 2011-03-23 | Searchable Symmetric Encryption Method and System |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR101232385B1 (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101979267B1 (en) * | 2017-05-29 | 2019-05-16 | 성균관대학교산학협력단 | Encryption systems based on cloud storage and method thereof |
| CN114491613B (en) * | 2021-11-11 | 2024-04-16 | 北京航空航天大学 | Efficient and searchable proxy privacy set intersection method and device |
| CN114915415B (en) * | 2022-04-19 | 2025-03-04 | 上海电力大学 | An efficient malicious traffic detection method based on national secret series algorithm |
| CN116127498B (en) * | 2022-11-28 | 2024-06-07 | 中国民用航空总局第二研究所 | A multi-keyword searchable encryption method with verifiable ciphertext retrieval results |
| CN116996281B (en) * | 2023-07-21 | 2024-02-06 | 华中科技大学 | Dynamic searchable symmetric encryption method, system and medium supporting ciphertext sharing |
| WO2025048418A1 (en) * | 2023-08-30 | 2025-03-06 | 현대자동차주식회사 | Vehicle security method and device |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050166046A1 (en) | 2004-01-23 | 2005-07-28 | Bellovin Steven M. | Privacy-enhanced searches using encryption |
| KR20100003093A (en) * | 2008-06-30 | 2010-01-07 | 주식회사 케이티 | 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 |
| KR20110028968A (en) * | 2009-09-14 | 2011-03-22 | 고려대학교 산학협력단 | Method and system for verifying the integrity of user data in remote computing environment |
-
2011
- 2011-03-23 KR KR1020110025686A patent/KR101232385B1/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050166046A1 (en) | 2004-01-23 | 2005-07-28 | Bellovin Steven M. | Privacy-enhanced searches using encryption |
| KR20100003093A (en) * | 2008-06-30 | 2010-01-07 | 주식회사 케이티 | 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 |
| KR20110028968A (en) * | 2009-09-14 | 2011-03-22 | 고려대학교 산학협력단 | Method and system for verifying the integrity of user data in remote computing environment |
Non-Patent Citations (1)
| Title |
|---|
| 이선호, 이임영, "Bloom Filter를 이용한 다중 키워드 검색가능 공개키 암호 시스템에 관한 연구, 2010년도 한국멀티미디어 학회 춘계학술발표대회 논문집 제13권 1호, pp.44-45, 2010. 05. * |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20120108121A (en) | 2012-10-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Pasupuleti et al. | An efficient and secure privacy-preserving approach for outsourced data of resource constrained mobile devices in cloud computing | |
| US9977918B2 (en) | Method and system for verifiable searchable symmetric encryption | |
| Van Liesdonk et al. | Computationally efficient searchable symmetric encryption | |
| KR101190059B1 (en) | Method for data encryption and method for conjunctive keyword search of encrypted data | |
| US9275250B2 (en) | Searchable encryption processing system | |
| US9111106B2 (en) | Data processing apparatus and data storage apparatus | |
| Salam et al. | Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage | |
| Ren et al. | Secure searching on cloud storage enhanced by homomorphic indexing | |
| CN104636462B (en) | A kind of rapidly searching ciphertext method and system that can resist Statistical Analysis Attacks | |
| US20190036679A1 (en) | Encryption device, encryption method, computer readable medium, and storage device | |
| KR101232385B1 (en) | Searchable Symmetric Encryption Method and System | |
| Liu et al. | Verifiable ranked search over dynamic encrypted data in cloud computing | |
| CN104052740A (en) | Verifiable dictionary-based searchable encryption method in cloud storage | |
| Zhang et al. | Dynamic and Efficient Private Keyword Search over Inverted Index--Based Encrypted Data | |
| KR101217491B1 (en) | A method for searching keyword based on public key | |
| Zhang et al. | Secdedup: Secure encrypted data deduplication with dynamic ownership updating | |
| CN116107967B (en) | Multi-keyword ciphertext searching method and system based on homomorphic encryption and tree structure | |
| KR100899450B1 (en) | Approximate String Matching Method for Encrypted Documents, Recording Media Recording the Same, and Its System | |
| KR100951034B1 (en) | Public key based searchable ciphertext generation method to reduce ciphertext size, and public key based data retrieval method | |
| Hu et al. | Efficient and secure multi‐functional searchable symmetric encryption schemes | |
| CN113407966A (en) | Searchable public key encryption method and system with key updating and ciphertext sharing functions | |
| Pang et al. | Privacy-preserving noisy keyword search in cloud computing | |
| KR100959064B1 (en) | How to generate searchable ciphertext for multiple users and how to retrieve data accordingly | |
| Rani et al. | Key insertion and splay tree encryption algorithm for secure data outsourcing in cloud | |
| Alyousif et al. | Improving Performance of Searchable Symmetric Encryption Through New Information Retrieval Scheme |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
Fee payment year number: 1 St.27 status event code: A-2-2-U10-U11-oth-PR1002 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| FPAY | Annual fee payment |
Payment date: 20160205 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
Fee payment year number: 4 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 St.27 status event code: A-5-5-R10-R13-asn-PN2301 |
|
| FPAY | Annual fee payment |
Payment date: 20170206 Year of fee payment: 5 |
|
| PR1001 | Payment of annual fee |
Fee payment year number: 5 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20180206 Year of fee payment: 6 |
|
| PR1001 | Payment of annual fee |
Fee payment year number: 6 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20190208 Year of fee payment: 7 |
|
| PR1001 | Payment of annual fee |
Fee payment year number: 7 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
| FPAY | Annual fee payment |
Payment date: 20200206 Year of fee payment: 8 |
|
| PR1001 | Payment of annual fee |
Fee payment year number: 8 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 St.27 status event code: A-5-5-R10-R13-asn-PN2301 |
|
| PR1001 | Payment of annual fee |
Fee payment year number: 9 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
| PR1001 | Payment of annual fee |
Fee payment year number: 10 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
| P14-X000 | Amendment of ip right document requested |
St.27 status event code: A-5-5-P10-P14-nap-X000 |
|
| PR1001 | Payment of annual fee |
Fee payment year number: 11 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
| PC1903 | Unpaid annual fee |
Not in force date: 20240206 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE St.27 status event code: A-4-4-U10-U13-oth-PC1903 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PC1903 | Unpaid annual fee |
Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20240206 St.27 status event code: N-4-6-H10-H13-oth-PC1903 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 St.27 status event code: A-5-5-R10-R13-asn-PN2301 |