KR102050888B1 - Method and system for similarity search over encrypted data in cloud computing - Google Patents
Method and system for similarity search over encrypted data in cloud computing Download PDFInfo
- Publication number
- KR102050888B1 KR102050888B1 KR1020170162121A KR20170162121A KR102050888B1 KR 102050888 B1 KR102050888 B1 KR 102050888B1 KR 1020170162121 A KR1020170162121 A KR 1020170162121A KR 20170162121 A KR20170162121 A KR 20170162121A KR 102050888 B1 KR102050888 B1 KR 102050888B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- identifier
- cipher text
- encrypted
- cloud computing
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Bioethics (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
복수의 사용자 장치, 클라우드 서버, 복수의 데이터 업로더 기기, 및 신뢰기관 서버를 포함하는 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템에서의 유사도 검색 방법이 개시된다. 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법은 신뢰기관 서버가 보안상수()를 입력값으로 하여 임의의 생성원()을 선택하고, 임의의 난수()를 선택하여, 공개 파라미터 ()를 생성하는 셋업 단계; 신뢰기관 서버가 서브특징(subfeature)의 개수(l)를 입력값으로 하여, l 개의 무작위 값을 비밀키()로 생성하는 키생성 단계; 데이터 업로더 기기가 데이터 업로더 기기의 비밀키(k), 공개 파라미터(), 암호화 대상 데이터(I), 및 데이터 업로더 기기의 식별자()를 입력값으로 하여, 제1 암호문()과 식별자()를 생성하는 암호화 단계; 데이터 업로더 기기가 제1 암호문() 및 식별자()를 클라우드 서버에 전송하는 단계; 사용자 장치가 사용자 장치의 비밀키(k')와 공개 파라미터(), 및 검색 대상 데이터(I’)를 입력값으로 하여, 제2 암호문()을 생성하는 트랩도어 생성 단계; 사용자 장치가 제2 암호문()을 클라우드 서버에 전송하는 단계; 및 클라우드 서버가 데이터 업로더 기기와 사용자 장치로부터 수신한 제1 암호문(), 식별자(), 제2 암호문(), 및 임계값()을 입력값으로 하여, 제1 암호문()과 제2 암호문()이 유사한 것으로 판단되면 해당 식별자()를 반환하는 검색 단계를 포함한다.A similarity search method in a similarity search system for encrypted data in a cloud computing environment including a plurality of user devices, a cloud server, a plurality of data uploader devices, and a trust authority server is disclosed. In the cloud computing environment, the similarity detection method for encrypted data is performed by a trusted authority server. ) As an input value ), Select a random random number ( ), Select the public parameter ( Creating a setup step; The relying authority server takes the number of subfeatures (l) as input and uses l random values for the private key ( Generating a key; The data uploader device uses the secret key (k) of the data uploader device, ), The data to be encrypted (I), and the identifier of the data uploader device ( ) As an input value, the first cipher text ( ) And identifier ( Creating an encryption step; The data uploader device ) And identifier ( Transmitting c) to the cloud server; The user device has a secret key (k ') and public parameters ( ), And the second cipher text ( Trapdoor generation step of generating a); The user device has a second passphrase ( Transmitting c) to the cloud server; And the first cipher text received by the cloud server from the data uploader device and the user device ( ), Identifier ( ), Second pass phrase ( ), And the threshold ( ) As an input value, the first cipher text ( ) And the second pass phrase ( ) Is determined to be similar, the identifier ( ), A search step that returns).
Description
본 발명은 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법 및 시스템에 관한 것으로, 특히, 다수의 데이터 업로더가 암호 데이터를 클라우드 서버에 업로드하는 환경에서 사용자가 데이터 업로더와의 비밀키 공유 없이도 유사도 검색 쿼리를 생성하며, 클라우드 서버는 데이터와 쿼리에 대한 복호 없이 둘 간의 유사도를 판별할 수 있는 유사도 검색 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for searching for similarity of encrypted data in a cloud computing environment. In particular, in an environment in which a plurality of data uploaders upload cryptographic data to a cloud server, a user may share a secret key with a data uploader. A similarity search query is generated, and the cloud server relates to a similarity search method and system that can determine the similarity between the two without decoding the data and the query.
본 발명은 다수가 문서를 암호화하며, 다수의 사용자가 키워드를 암호화하는 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 기술을 제시한다.The present invention proposes a similarity retrieval technique for encrypted data in a cloud computing environment where many encrypt documents and many users encrypt keywords.
검색 가능 암호(searchable encryption, SE) 기법은 암호화된 자료를 복호화하지 않고도 원하는 자료를 검색할 수 있도록 하는 암호 기반 기술이다. 검색 가능 암호는 개인의 정보가 외부 저장 공간에 저장되면서 발생하는 여러 문제점에 대한 해결 방법으로 지금까지 많은 연구가 진행되었다.Searchable encryption (SE) is a cryptographic-based technology that allows you to search for the desired data without decrypting the encrypted data. Searchable passwords have been studied so far as a solution to various problems caused by the storage of personal information in an external storage space.
검색 가능 암호는 대부분 암호화된 문서에 대하여 사용자가 특정 키워드를 암호화한다. 이후, 암호화된 키워드가 해당 문서 내에 포함되어 있는지를 판별하는데, 이 때 키워드와 문서에 대한 복호가 필요하지 않다는 점에서 데이터 프라이버시를 보장한다.Searchable ciphers encrypt a user's specific keywords for most encrypted documents. Then, it is determined whether the encrypted keyword is included in the document. At this time, data privacy is guaranteed in that decryption of the keyword and the document is not necessary.
문서와 키워드를 암호화하는 주체가 단일한 사용자인 singlewriter/singlereader(S/S) SE 기법, 한 명이 문서를 암호화하며, 다수의 사용자가 키워드를 암호화하는 singlewriter/multireader (S/M) SE 기법, 다수가 문서를 암호화하며, 한 명의 사용자가 키워드를 암호화하는 multiwriter/singlreader (M/S) SE 기법, 다수가 문서를 암호화하며, 다수의 사용자가 키워드를 암호화하는 multiwriter/multireader (M/M) SE 기법이 있으며, 위의 네 가지 기법 중에서 M/M SE가 가장 복잡하며 구현하기 어려운 기법으로 간주된다.Singlewriter / singlereader (S / S) SE technique, where a single user encrypts documents and keywords, singlewriter / multireader (S / M) SE technique, where one person encrypts documents and multiple users encrypt keywords, Multiwriter / singlreader (M / S) SE technique that encrypts documents, one user encrypts keywords, and multiwriter / multireader (M / M) SE technique, many encrypts documents, and multiple users encrypt keywords Among the above four techniques, M / M SE is considered as the most complicated and difficult to implement.
검색 암호는 대부분 문서를 대상으로 하는 키워드 검색과 관련한 연구가 주를 이루고 있다. 이미지 등의 데이터를 대상으로 하는 유사도 검색(similarity search)은 비교적 최근에 활발히 연구가 된 분야인데, 대부분의 연구가 S/M 환경에서 동작하도록 하는 기법 설계에 초점이 맞추어져 있다. Most search ciphers are mainly related to keyword searching for documents. Similarity search for data such as images is an area that has been actively researched in recent years, and most of the research has focused on designing techniques to operate in S / M environment.
2016년에 M/M 환경에서 유사도 검색을 지원하는 기법이 소개되었는데, 사용자의 쿼리를 재암호화하는 방식을 취하고 있다. 이와 같은 방법은 각각의 데이터 업로더 별로 재암호화키를 관리해야 한다는 점과 재암호화를 위한 부가적인 연산이 필요하단 점에서 비효율적이다. In 2016, a technique to support similarity search in the M / M environment was introduced, which takes the method of re-encrypting the user's query. This method is inefficient in that the re-encryption key must be managed for each data uploader and additional operations for re-encryption are required.
M/M 환경에서 유사도 검색 기법의 이론적 측면에서의 최적의 효율성은 암호화된 데이터와 쿼리에 대한 부가적인 연산 없이 유사도 측정이 가능함이 전제되어야 한다. 하지만 아직까지 이러한 요구사항을 만족하는 안전한 유사도 검색 기법은 존재하지 않는다.In the M / M environment, the optimal efficiency in the theoretical aspect of the similarity retrieval technique should be assumed that the similarity can be measured without additional operations on encrypted data and queries. However, there is no safe similarity searching technique that meets these requirements.
본 발명이 이루고자 하는 기술적인 과제는 클라우드 컴퓨팅 환경에서 암호화된 데이터와 쿼리에 대한 복호 없이 둘 간의 유사도를 판별할 수 있는 유사도 검색 방법 및 시스템을 제공하는 것이다.The technical problem to be achieved by the present invention is to provide a similarity search method and system that can determine the similarity between the encrypted data and the query without decryption in a cloud computing environment.
본 발명의 실시 예에 따른 복수의 사용자 장치, 복수의 데이터 업로더 기기, 클라우드 서버, 및 신뢰기관 서버를 포함하는 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템에서의 유사도 검색 방법은 신뢰기관 서버가 보안상수()를 입력값으로 하여 임의의 생성원()을 선택하고, 임의의 난수()를 선택하여, 공개 파라미터 ()를 생성하는 셋업 단계; 신뢰기관 서버가 서브특징(subfeature)의 개수(l)를 입력값으로 하여, l 개의 무작위 값을 비밀키()로 생성하는 키생성 단계; 데이터 업로더 기기가 데이터 업로더 기기의 비밀키(k), 공개 파라미터(), 암호화 대상 데이터(I), 및 데이터 업로더 기기의 식별자()를 입력값으로 하여, 제1 암호문()과 식별자()를 생성하는 암호화 단계; 데이터 업로더 기기가 제1 암호문() 및 식별자()를 클라우드 서버에 전송하는 단계; 사용자 장치가 사용자 장치의 비밀키(k')와 공개 파라미터(), 및 검색 대상 데이터(I’)를 입력값으로 하여, 제2 암호문()을 생성하는 트랩도어 생성 단계; 사용자 장치가 제2 암호문()을 클라우드 서버에 전송하는 단계; 및 클라우드 서버가 데이터 업로더 기기와 사용자 장치로부터 수신한 제1 암호문(), 식별자(), 제2 암호문(), 및 임계값()을 입력값으로 하여, 제1 암호문()과 제2 암호문()이 유사한 것으로 판단되면 해당 식별자()를 반환하는 검색 단계를 포함한다.A similarity search method in a similarity search system for encrypted data in a cloud computing environment including a plurality of user devices, a plurality of data uploader devices, a cloud server, and a trust authority server according to an embodiment of the present invention is a trust authority server. Is the security constant ( ) As an input value ), Select a random random number ( ), Select the public parameter ( Creating a setup step; The relying authority server takes the number of subfeatures (l) as input and uses l random values for the private key ( Generating a key; The data uploader device uses the secret key (k) of the data uploader device, ), The data to be encrypted (I), and the identifier of the data uploader device ( ) As an input value, the first cipher text ( ) And identifier ( Creating an encryption step; The data uploader device will issue the first passphrase ( ) And identifier ( Transmitting c) to the cloud server; The user device has a secret key (k ') and public parameters ( ), And the second cipher text ( Trapdoor generation step of generating a); The user device has a second passphrase ( Transmitting c) to the cloud server; And the first cipher text received by the cloud server from the data uploader device and the user device ( ), Identifier ( ), Second pass phrase ( ), And the threshold ( ) As an input value, the first cipher text ( ) And the second pass phrase ( ) Is determined to be similar, the identifier ( ), A search step that returns).
본 발명의 실시 예에 따른 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템은 보안상수()를 입력값으로 하여 임의의 생성원() 및 임의의 난수()를 선택하고, 를 연산하여. 공개 파라미터 ()를 생성하고, 서브특징(subfeature)의 개수 l을 입력값으로 하여 비밀키()를 생성하는 신뢰기관 서버; 데이터 업로더 기기의 비밀키(k), 상기 공개 파라미터(), 암호화 대상 데이터(I), 및 데이터 업로더 기기의 식별자()를 입력값으로 하여, 최종적으로 제1 암호문()과 식별자()를 반환하고, 상기 제1 암호문()과 상기 식별자()를 클라우드 서버에 전송하는 데이터 업로더 기기; 사용자 장치의 비밀키(k')와 공개 파라미터(), 및 검색 대상 데이터(I')를 입력값으로 하여, 최종적으로 제2 암호문()을 반환하고, 상기 제2 암호문()을 클라우드 서버에 전송하는 사용자 장치; 및 데이터 업로더 기기와 사용자 장치로부터 수신한 상기 제1 암호문(), 상기 식별자(), 상기 제2 암호문(), 및 임계값()을 입력값으로 하여, 제1 암호문()과 제2 암호문()이 유사한 것으로 판단되면 해당 식별자()를 반환하는 클라우드 서버를 포함한다.In a cloud computing environment, a similarity search system for encrypted data may include a security constant ( ) As an input value ) And any random number ( ), By calculating. Public parameters ( ), And the secret key () with the number l of subfeatures as the input value. A trusted authority server for generating; The secret key k of the data uploader device, the public parameter ( ), The data to be encrypted (I), and the identifier of the data uploader device ( ) As an input value, and finally the first cipher text ( ) And identifier ( ) And the first cipher text ( ) And the identifier ( A data uploader device for transmitting the c) to a cloud server; The secret key (k ') and public parameters ( ) And the search target data I 'as input values, and finally the second cipher text ( ) And the second cipher text ( A user device for transmitting C) to a cloud server; And the first cipher text received from the data uploader device and the user device. ), The identifier ( ), The second cipher text ( ), And the threshold ( ) As an input value, the first cipher text ( ) And the second pass phrase ( ) Is determined to be similar, the identifier ( It includes a cloud server that returns).
본 발명의 실시 예에 따른 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법 및 시스템에 의할 경우, 서로 다른 신뢰 도메인(trust domain)을 가진 다수 데이터 업로더가 암호데이터를 클라우드 서버에 업로드하며 동시에 데이터 기밀성을 보장받을 수 있는 효과가 있다. According to a method and system for searching similarity for encrypted data in a cloud computing environment according to an embodiment of the present invention, a plurality of data uploaders having different trust domains upload encrypted data to a cloud server and simultaneously Data confidentiality can be guaranteed.
또한, 본 발명의 실시 예에 따른 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법 및 시스템에 의할 경우, 서로 다른 신뢰 도메인을 가진 다수의 사용자가 암호 데이터에 대한 유사도 검색을 통해 유사 데이터에 대한 정보를 받아볼 수 있으며 동시에 검색 요청에 대한 프라이버시를 보장받을 수 있는 효과가 있다. In addition, according to the method and system for searching similarity for encrypted data in a cloud computing environment according to an embodiment of the present invention, a plurality of users having different trust domains may search for similar data through similarity search for encrypted data. It can receive the information and at the same time ensure the privacy of the search request.
또한, 본 발명의 실시 예에 따른 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법 및 시스템에 의할 경우, 다수의 데이터 업로더와 사용자 환경에서 각각의 개체가 고유한 비밀키로 데이터를 암호화하더라도 유사도 검색이 가능하다.In addition, in the cloud computing environment according to an embodiment of the present invention, the similarity retrieval method and system for encrypted data may be used even if each entity encrypts data with a unique secret key in a plurality of data uploaders and a user environment. Search is possible.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템의 개략도이다.
도 2는 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법이 적용되는 시스템의 전체 흐름을 도시한 도면이다.
도 4는 도 2의 셋업 단계를 보다 세부적으로 도시한 도면이고, 도 5는 도 2의 키생성 단계를 보다 세부적으로 도시한 도면이다.
도 6은 도 2의 암호화 단계를 보다 세부적으로 도시한 도면이고, 도 7은 도 2의 트랩도어 생성 단계를 보다 세부적으로 도시한 도면이다.
도 8은 도 2의 검색 단계를 보다 세부적으로 도시한 도면이다. The detailed description of each drawing is provided in order to provide a thorough understanding of the drawings cited in the detailed description of the invention.
1 is a schematic diagram of a similarity search system for encrypted data in a cloud computing environment according to an embodiment of the present invention.
2 is a flowchart illustrating a similarity search method for encrypted data in a cloud computing environment according to an exemplary embodiment of the present invention.
3 is a diagram illustrating an overall flow of a system to which a similarity search method for encrypted data is applied in a cloud computing environment according to an exemplary embodiment of the present invention.
4 is a diagram illustrating in detail the setup step of FIG. 2, and FIG. 5 is a diagram illustrating in detail the key generation step of FIG. 2.
FIG. 6 is a diagram illustrating the encryption step of FIG. 2 in more detail, and FIG. 7 is a diagram illustrating the trapdoor generation step of FIG. 2 in more detail.
FIG. 8 is a diagram illustrating in detail the search step of FIG. 2.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the inventive concept disclosed herein are provided only for the purpose of describing the embodiments according to the inventive concept. It may be embodied in various forms and is not limited to the embodiments described herein.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Embodiments according to the inventive concept may be variously modified and have various forms, so embodiments are illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments in accordance with the concept of the invention to the specific forms disclosed, it includes all changes, equivalents, or substitutes included in the spirit and scope of the present invention.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another, for example without departing from the scope of the rights according to the inventive concept, and the first component may be called a second component and similarly the second component. The component may also be referred to as a first component.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "comprise" or "have" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described herein, but one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined herein. Do not.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
우선, 본 발명에 사용된 모든 알고리즘은 겹선형 사상(Bilinear Map)의 수학적 특성에 기반하여 생성되었다. Bilinear Map의 세부 특성은 아래와 같다.First, all the algorithms used in the present invention were generated based on the mathematical properties of the bilinear map. Details of Bilinear Map are as follows.
이하, 도 1을 참조하여, 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템에 대해 상술한다. Hereinafter, a similarity search system for encrypted data in a cloud computing environment according to an exemplary embodiment of the present invention will be described in detail with reference to FIG. 1.
도 1은 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템(10)을 도시한다. 도 1을 참조하면, 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템(10)은 복수의 사용자 장치(100), 복수의 데이터 업로더 기기(200), 클라우드 서버(300), 및 신뢰기관 서버(400)를 포함한다.1 illustrates a
신뢰기관 서버(400)는 보안상수()를 입력값으로 하여 임의의 생성원() 및 임의의 난수()를 선택하고, 를 연산하여(S130). 아래와 같이 공개 파라미터()를 생성한다.The
또한, 신뢰기관 서버(400)는 l을 입력값으로 받은 후, l 개의 무작위 값을 비밀키(k)로 반환한다.In addition, after receiving l as an input value, the trusted
이때, l은 서브특징(subfeature)의 개수이며, 모든 개체는 키생성(KeyGen) 알고리즘을 실행하여 비밀키 k를 획득한다. In this case, l is the number of subfeatures, and all entities obtain a secret key k by executing a key generation algorithm.
데이터(I)를 클라우드 서버(300)에 업로드하고자 하는 데이터 업로더 기기(200)는 데이터 업로더 기기(200)의 비밀키, 공개 파라미터(), 암호화할 데이터(I), 데이터 업로더 기기의 식별자()를 입력값으로 하여, 최종적으로 제1 암호문()과 식별자()를 반환하고, 제1 암호문()과 식별자()를 클라우드 서버(300)에 전송한다.The
사용자 장치(100)는 자신의 비밀키(k')와 공개 파라미터(), 그리고 검색할 대상 데이터 I'를 입력값으로 하여, 최종적으로 제2 암호문()을 반환하고, 제2 암호문()을 클라우드 서버(300)에 전송한다.The
클라우드 서버(300)는 데이터 업로더 기기(200)와 사용자 장치(100)로부터 전달받은 값()과 임계값(threshold, )을 입력값으로 하여, 제1 암호문()과 제2 암호문()이 유사한 것으로 판단되는 경우, 식별자()를를 반환한다. 이때, 는 사전에 지정되는 값으로서 필요에 따라 변경될 수 있다.The
이하, 도 2 내지 도 8을 참조하여, 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법에 대하여 자세히 살펴보도록 한다.2 to 8, a similarity search method for encrypted data in a cloud computing environment according to an exemplary embodiment of the present invention will be described in detail.
도 2는 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법을 설명하기 위한 흐름도이고, 도 3은 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법이 적용되는 시스템의 전체 흐름을 도시한 도면이다.2 is a flowchart illustrating a similarity search method for encrypted data in a cloud computing environment according to an embodiment of the present invention, and FIG. 3 is a diagram for encrypted data in a cloud computing environment according to an embodiment of the present invention. A diagram illustrating the overall flow of a system to which a similarity search method is applied.
본 발명은 클라우드 컴퓨팅 환경에서의 유사도 검색 방법에 관한 것으로, 다수의 데이터 업로더 기기(200)가 암호 데이터를 클라우드 서버(300)에 업로드하는 환경에서 사용자 장치(100)가 데이터 업로더 기기(200)와의 비밀키 공유 없이도 유사도 검색 쿼리를 생성하며, 클라우드 서버(300)는 암호 데이터와 쿼리에 대한 복호 없이 둘 간의 유사도를 판별할 수 있다.The present invention relates to a similarity search method in a cloud computing environment, wherein the
도 4 내지 도 8은 도 3의 셋업 단계, 키생성 단계, 암호화 단계, 트랩도어 생성 단계, 및 검색 단계를 보다 세부적으로 도시한 도면이다. 4 through 8 illustrate in detail the setup step, key generation step, encryption step, trap door generation step, and retrieval step of FIG.
셋업set up (( SetupSetup ) 단계) step
먼저, 신뢰기관 서버(400)는 데이터 업로더 기기(200)와 사용자 장치(100)가 공유하게 될 공개 파라미터()를 생성한다(S100). Setup 알고리즘이 반환하는 공개 파라미터()는 시스템에 참여하는 모든 개체가 공유한다.First, the trusted
도 4를 참조하면, 신뢰기관 서버(400)는 보안상수()를 입력값으로 하여 임의의 생성원()을 선택한다(S110). 다음, 임의의 난수()를 선택하고(S120), 를 연산하여(S130). 아래와 같이 공개 파라미터()를 설정한다(S140).4, the
키생성Key Generation (( KeyGenKeygen ) 단계) step
신뢰기관 서버(400)는 ㅣ을 입력값으로 받은 후, l 개의 무작위 값을 비밀키(k)로 반환한다(S200, 도 5 참조).The
이때, l은 subfeature의 개수이며, 모든 개체는 키생성(KeyGen) 알고리즘을 실행하여 비밀키 k를 획득한다. In this case, l is the number of subfeatures, and all entities obtain a secret key k by executing a key generation algorithm.
암호화(encryption( BuildIndexBuildindex ) 단계) step
데이터를 클라우드 서버(300)에 업로드하고자 하는 데이터 업로더 기기(200)가 실행하며, 데이터 업로더 기기(200)의 비밀키, 공개 파라미터(), 암호화할 데이터(I), 데이터 업로더 기기의 식별자()를 입력값으로 하여, 최종적으로 제1 암호문()과 식별자()를 반환한다(S300).The
도 6을 참조하면, 암호화(BuildIndex) 알고리즘은 업로드 대상 데이터(I)로부터 l 개의 subfeature를 추출한다(S310). 이때 subfeature을 추출하기 위하여 기존의LSH(Locality sensitive hashing) 알고리즘을 이용할 수 있다. Referring to FIG. 6, the encryption (BuildIndex) algorithm extracts l subfeatures from the upload target data I (S310). In this case, an existing Locality sensitive hashing (LSH) algorithm may be used to extract subfeatures.
다음, 암호화(BuildIndex) 알고리즘은 모든 subfeature에 대하여 암호문 을 생성한다.(S330).Next, the BuildIndex algorithm uses ciphertext for all subfeatures. It generates (S330).
최종적으로 암호화(BuildIndex) 알고리즘은 제1 암호문()과 식별자()를 반환하고(S340), 데이터 업로더 기기(200)는 반환된 결과(, )를 클라우드 서버(300)에 전송한다(S350). Finally, the encryption (BuildIndex) algorithm uses the first ciphertext ( ) And identifier ( ) (S340), and the
트랩도어Trap Door 생성(Trapdoor) 단계 Trapdoor
사용자 장치(100)는 자신의 비밀키(k')와 공개 파라미터(), 그리고 검색할 대상 데이터 I’을 트랩도어(Trapdoor) 알고리즘에 입력한다. The
이후 알고리즘은 암호화(BuildIndex) 알고리즘과 동일하게 동작하며 최종적으로 제2 암호문()을 반환한다(S400, 도 7 참조). The algorithm then operates in the same way as the encryption (BuildIndex) algorithm and finally the second ciphertext ( ) (S400, see FIG. 7).
사용자 장치(100)는 반환된 결과()를 클라우드 서버(300)에 전송한다. The
검색(Search( SearchSearch ) 단계) step
검색(Search) 단계에서 클라우드 서버(300)는 데이터 업로더 기기(200)와 사용자 장치(100)로부터 전달받은 값()과 임계값(threshold, )을 입력값으로 하여, 제1 암호문()과 제2 암호문()이 유사한 것으로 판단되는 경우, 식별자()를를 반환한다(S500). 이때, 는 사전에 지정되는 값으로서 필요에 따라 변경될 수 있다. In the search step, the
구체적으로, 도 8을 참조하면, 클라우드 서버(300)는 ,를 입력값으로 하여 아래의 식을 계산한다.Specifically, referring to FIG. 8, the
상기 식을 연산한 후, 아래의 조건을 만족하면 count 를 1 증가시킨다. After calculating the above expression, count is increased by one if the following conditions are met.
만약 count 가 th 보다 크다면 알고리즘은 제1 암호문()과 제2 암호문()이 유사한 것으로 판단하고 해당 식별자()를 반환한다.If count is greater than th, the algorithm uses the first ciphertext ( ) And the second pass phrase ( ) Are similar, and the identifier ( )
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to the embodiments illustrated in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
10 : 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템
100 : 사용자 장치
200 : 데이터 업로더 기기
300 : 클라우드 서버
400 : 신뢰기관 서버10: Similarity Search System for Encrypted Data in Cloud Computing Environment
100: user device
200: data uploader device
300: cloud server
400: trusted authority server
Claims (8)
신뢰기관 서버가 보안상수()를 입력값으로 하여 임의의 생성원()을 선택하고, 임의의 난수()를 선택하여, 공개 파라미터 ()를 생성하는 셋업 단계;
신뢰기관 서버가 서브특징(subfeature)의 개수(l)를 입력값으로 하여, l 개의 무작위 값을 비밀키()로 생성하는 키생성 단계;
데이터 업로더 기기가 데이터 업로더 기기의 비밀키(k), 공개 파라미터(), 암호화 대상 데이터(I), 및 데이터 업로더 기기의 식별자()를 입력값으로 하여, 제1 암호문()과 식별자()를 생성하는 암호화 단계;
데이터 업로더 기기가 상기 제1 암호문() 및 상기 식별자()를 클라우드 서버에 전송하는 단계;
사용자 장치가 사용자 장치의 비밀키(k')와 공개 파라미터(), 및 검색 대상 데이터(I’)를 입력값으로 하여, 제2 암호문()을 생성하는 트랩도어 생성 단계;
사용자 장치가 상기 제2 암호문()을 클라우드 서버에 전송하는 단계; 및
클라우드 서버가 데이터 업로더 기기와 사용자 장치로부터 수신한 상기 제1 암호문(), 상기 식별자(), 상기 제2 암호문(), 및 임계값()을 입력값으로 하여, 제1 암호문()과 제2 암호문()이 유사한 것으로 판단되면 해당 식별자()를 반환하는 검색 단계를 포함하는 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법.In the cloud computing environment including a plurality of user devices, a plurality of data uploader device, a cloud server, and a trust authority server, the similarity search method for encrypted data in a similarity search system for encrypted data,
The relying authority server has a security constant ( ) As an input value ), Select a random random number ( ), Select the public parameter ( Creating a setup step;
The relying authority server takes the number of subfeatures (l) as input and uses l random values for the private key ( Generating a key;
The data uploader device uses the secret key (k) of the data uploader device, ), The data to be encrypted (I), and the identifier of the data uploader device ( ) As an input value, the first cipher text ( ) And identifier ( Creating an encryption step;
The data uploader device ) And the identifier ( Transmitting c) to the cloud server;
The user device has a secret key (k ') and public parameters ( ), And the second cipher text ( Trapdoor generation step of generating a);
The user device is connected to the second cipher text ( Transmitting c) to the cloud server; And
The first cipher text received by the cloud server from the data uploader device and the user device ( ), The identifier ( ), The second cipher text ( ), And the threshold ( ) As an input value, the first cipher text ( ) And the second pass phrase ( ) Is determined to be similar, the identifier ( A similarity search method for encrypted data in a cloud computing environment that includes a search step that returns;
상기 암호화 단계는,
LSH(Locality sensitive hashing) 알고리즘을 이용하여 상기 암호화 대상 데이터(I)로부터 l 개의 서브특징(subfeature)을 추출하는 과정;
상기 l 개의 서브특징(subfeature)에 대하여 아래의 식을 이용하여 암호문 을 생성하는 과정; 및
제1 암호문()과 식별자()를 반환하는 과정을 포함하는,
클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법.The method of claim 1,
The encryption step,
Extracting l subfeatures from the data to be encrypted (I) using a locality sensitive hashing (LSH) algorithm;
The ciphertext for the l subfeatures using the following equation Creating a process; And
First pass phrase ( ) And identifier ( Returning),
A similarity search method for encrypted data in a cloud computing environment.
상기 트랩도어 생성 단계는,
LSH(Locality sensitive hashing) 알고리즘을 이용하여 상기 검색 대상 데이터(I')로부터 l 개의 서브특징(subfeature)을 추출하는 과정;
상기 l 개의 서브특징(subfeature)에 대하여 아래의 식을 이용하여 암호문 을 생성하는 과정; 및
제2 암호문()을 생성하는 과정을 포함하는,
클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법.The method of claim 2,
The trap door generation step,
Extracting l subfeatures from the search target data I ′ using a locality sensitive hashing (LSH) algorithm;
The ciphertext for the l subfeatures using the following equation Creating a process; And
Second cipher text ( Including the process of generating
A similarity search method for encrypted data in a cloud computing environment.
상기 검색 단계는,
아래의 수학식을 계산하는 과정;
아래의 조건식을 만족하면 count를 1 증가시키는 과정; 및
count가 임계값()보다 크면 상기 제1 암호문()과 상기 제2 암호문()이 유사한 것으로 판단하고 해당 식별자()를 반환하는 과정;을 포함하는 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법.The method of claim 3,
The search step,
Calculating the following equation;
Count is increased by 1 if the following condition is met; And
count is the threshold ( Greater than), the first ciphertext ( ) And the second cipher text ( ) Are similar, and the identifier ( Returning a;) similarity search method for encrypted data in a cloud computing environment.
데이터 업로더 기기의 비밀키(k), 상기 공개 파라미터(), 암호화 대상 데이터(I), 및 데이터 업로더 기기의 식별자()를 입력값으로 하여, 최종적으로 제1 암호문()과 식별자()를 반환하고, 상기 제1 암호문()과 상기 식별자()를 클라우드 서버에 전송하는 데이터 업로더 기기;
사용자 장치의 비밀키(k')와 공개 파라미터(), 및 검색 대상 데이터(I')를 입력값으로 하여, 최종적으로 제2 암호문()을 반환하고, 상기 제2 암호문()을 클라우드 서버에 전송하는 사용자 장치; 및
데이터 업로더 기기와 사용자 장치로부터 수신한 상기 제1 암호문(), 상기 식별자(), 상기 제2 암호문(), 및 임계값()을 입력값으로 하여, 제1 암호문()과 제2 암호문()이 유사한 것으로 판단되면 해당 식별자()를 반환하는 클라우드 서버;를 포함하는 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템.Security constant ( ) As an input value ) And any random number ( ), By calculating. Public parameters ( ), And the secret key () with the number l of subfeatures as the input value. A trusted authority server for generating;
The secret key k of the data uploader device, the public parameter ( ), The data to be encrypted (I), and the identifier of the data uploader device ( ) As an input value, and finally the first cipher text ( ) And identifier ( ) And the first cipher text ( ) And the identifier ( A data uploader device for transmitting the c) to a cloud server;
The secret key (k ') and public parameters ( ) And the search target data I 'as input values, and finally the second cipher text ( ) And the second cipher text ( A user device for transmitting C) to a cloud server; And
The first cipher text received from the data uploader device and the user device ( ), The identifier ( ), The second cipher text ( ), And the threshold ( ) As an input value, the first cipher text ( ) And the second pass phrase ( ) Is determined to be similar, the identifier ( A similarity search system for encrypted data in a cloud computing environment.
상기 데이터 업로더 기기는,
LSH(Locality sensitive hashing) 알고리즘을 이용하여 상기 암호화 대상 데이터(I)로부터 l 개의 서브특징(subfeature)을 추출하며,
상기 l 개의 서브특징(subfeature)에 대하여 아래의 식을 이용하여 암호문 을 생성하고,
제1 암호문()과 식별자()를 생성하는,
클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템.The method of claim 5,
The data uploader device,
Extracting l subfeatures from the data to be encrypted (I) using a locality sensitive hashing (LSH) algorithm,
The ciphertext for the l subfeatures using the following equation Creates a,
First pass phrase ( ) And identifier ( ),
Similarity search system for encrypted data in cloud computing environment.
상기 사용자 장치는
LSH(Locality sensitive hashing) 알고리즘을 이용하여 상기 검색 대상 데이터(I')로부터 l 개의 서브특징(subfeature)을 추출하며,
상기 l 개의 서브특징(subfeature)에 대하여 아래의 식을 이용하여 암호문 을 생성하고,
제2 암호문()을 생성하는,
클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템.The method of claim 6,
The user device is
Extracting l subfeatures from the search target data I ′ using a locality sensitive hashing (LSH) algorithm,
The ciphertext for the l subfeatures using the following equation Creates a,
Second cipher text ( ),
Similarity search system for encrypted data in cloud computing environment.
상기 클라우드 서버는
아래의 수학식을 계산하고,
아래의 조건식을 만족하면 count를 1 증가시켜,
count가 임계값()보다 크면 상기 제1 암호문()과 상기 제2 암호문()이 유사한 것으로 판단하고 해당 식별자()를 반환하는,
클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템.
The method of claim 7, wherein
The cloud server
Calculate the equation below,
If the following condition is met, count is increased by 1.
count is the threshold ( Greater than), the first ciphertext ( ) And the second cipher text ( ) Are similar, and the identifier ( ),
Similarity search system for encrypted data in cloud computing environment.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170162121A KR102050888B1 (en) | 2017-11-29 | 2017-11-29 | Method and system for similarity search over encrypted data in cloud computing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170162121A KR102050888B1 (en) | 2017-11-29 | 2017-11-29 | Method and system for similarity search over encrypted data in cloud computing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190063204A KR20190063204A (en) | 2019-06-07 |
KR102050888B1 true KR102050888B1 (en) | 2019-12-02 |
Family
ID=66850064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170162121A KR102050888B1 (en) | 2017-11-29 | 2017-11-29 | Method and system for similarity search over encrypted data in cloud computing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102050888B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102292246B1 (en) | 2019-11-29 | 2021-08-24 | 고려대학교 산학협력단 | Device and method for scalable and secure similarity search for multiple entities |
KR20230078518A (en) | 2021-11-26 | 2023-06-02 | 한양대학교 에리카산학협력단 | Apparatus and method for encrypting 3-multi |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101701295B1 (en) | 2015-08-31 | 2017-02-01 | 고려대학교 산학협력단 | Method of privacy-preserving equi join using mapreduce |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100318782A1 (en) * | 2009-06-12 | 2010-12-16 | Microsoft Corporation | Secure and private backup storage and processing for trusted computing and data services |
JP5816299B2 (en) | 2011-12-01 | 2015-11-18 | 株式会社日立製作所 | Secret search method and secret search device |
JP5948060B2 (en) | 2012-01-13 | 2016-07-06 | 株式会社日立製作所 | High-speed similarity search processing system for encrypted data |
EP2709306B1 (en) * | 2012-09-14 | 2019-03-06 | Alcatel Lucent | Method and system to perform secure boolean search over encrypted documents |
KR101489876B1 (en) | 2013-08-30 | 2015-02-06 | 고려대학교 산학협력단 | System and method for searching encryption document |
KR101661549B1 (en) | 2014-12-26 | 2016-09-30 | 전남대학교산학협력단 | System and method for searching contents |
KR101697868B1 (en) * | 2015-05-19 | 2017-01-19 | 포항공과대학교 산학협력단 | Method for encrypting data for sharing or searching the data and apparatus for performing the method |
-
2017
- 2017-11-29 KR KR1020170162121A patent/KR102050888B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101701295B1 (en) | 2015-08-31 | 2017-02-01 | 고려대학교 산학협력단 | Method of privacy-preserving equi join using mapreduce |
Also Published As
Publication number | Publication date |
---|---|
KR20190063204A (en) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mollah et al. | Secure data sharing and searching at the edge of cloud-assisted internet of things | |
CN108418681B (en) | Attribute-based ciphertext retrieval system and method supporting proxy re-encryption | |
CN108494768B (en) | Ciphertext searching method and system supporting access control | |
CN105915520B (en) | It can search for file storage, searching method and the storage system of encryption based on public key | |
CN106921674B (en) | The proxy re-encryption semanteme of quantum attack can search for encryption method after anti- | |
WO2018024056A1 (en) | User password management method and server | |
Salam et al. | Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage | |
US20170262546A1 (en) | Key search token for encrypted data | |
EP4235473A2 (en) | Encrypted search with a public key | |
Ying et al. | Reliable policy updating under efficient policy hidden fine-grained access control framework for cloud data sharing | |
KR102050888B1 (en) | Method and system for similarity search over encrypted data in cloud computing | |
Shekhawat et al. | Privacy-preserving techniques for big data analysis in cloud | |
KR101140576B1 (en) | Multi?user search system and method of encrypted document | |
Yan et al. | Secure and efficient big data deduplication in fog computing | |
Kaci et al. | Access control aware search on the cloud computing | |
CN115694921B (en) | Data storage method, device and medium | |
Wani et al. | Cloud security architecture based on user authentication and symmetric key cryptographic techniques | |
Kumari et al. | Privacy preserving similarity based text retrieval through blind storage | |
Altarawneh | A strong combination of cryptographic techniques to secure cloud-hosted data | |
Kumar et al. | AMulti-Stage Cloud Security for Cloud Datausing Amalgamate Data Security | |
Liu et al. | A fast and secure scheme for data outsourcing in the cloud | |
JP6381861B2 (en) | Registration destination determination device, registration device, secret search system, registration destination determination method, and registration destination determination program | |
Lee et al. | A study of practical proxy reencryption with a keyword search scheme considering cloud storage structure | |
Gupta et al. | A Review Paper of Data Security in Cloud Computing | |
Chen et al. | Memory leakage-resilient dynamic and verifiable multi-keyword ranked search on encrypted smart body sensor network data |
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 |