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 PDF

Info

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
Application number
KR1020170162121A
Other languages
Korean (ko)
Other versions
KR20190063204A (en
Inventor
한창희
허준범
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020170162121A priority Critical patent/KR102050888B1/en
Publication of KR20190063204A publication Critical patent/KR20190063204A/en
Application granted granted Critical
Publication of KR102050888B1 publication Critical patent/KR102050888B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex 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

복수의 사용자 장치, 클라우드 서버, 복수의 데이터 업로더 기기, 및 신뢰기관 서버를 포함하는 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템에서의 유사도 검색 방법이 개시된다. 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법은 신뢰기관 서버가 보안상수(

Figure 112019072641677-pat00181
)를 입력값으로 하여 임의의 생성원(
Figure 112019072641677-pat00182
)을 선택하고, 임의의 난수(
Figure 112019072641677-pat00183
)를 선택하여, 공개 파라미터 (
Figure 112019072641677-pat00184
)를 생성하는 셋업 단계; 신뢰기관 서버가 서브특징(subfeature)의 개수(l)를 입력값으로 하여, l 개의 무작위 값을 비밀키(
Figure 112019072641677-pat00185
)로 생성하는 키생성 단계; 데이터 업로더 기기가 데이터 업로더 기기의 비밀키(k), 공개 파라미터(
Figure 112019072641677-pat00186
), 암호화 대상 데이터(I), 및 데이터 업로더 기기의 식별자(
Figure 112019072641677-pat00187
)를 입력값으로 하여, 제1 암호문(
Figure 112019072641677-pat00188
)과 식별자(
Figure 112019072641677-pat00189
)를 생성하는 암호화 단계; 데이터 업로더 기기가 제1 암호문(
Figure 112019072641677-pat00190
) 및 식별자(
Figure 112019072641677-pat00191
)를 클라우드 서버에 전송하는 단계; 사용자 장치가 사용자 장치의 비밀키(k')와 공개 파라미터(
Figure 112019072641677-pat00192
), 및 검색 대상 데이터(I’)를 입력값으로 하여, 제2 암호문(
Figure 112019072641677-pat00193
)을 생성하는 트랩도어 생성 단계; 사용자 장치가 제2 암호문(
Figure 112019072641677-pat00194
)을 클라우드 서버에 전송하는 단계; 및 클라우드 서버가 데이터 업로더 기기와 사용자 장치로부터 수신한 제1 암호문(
Figure 112019072641677-pat00195
), 식별자(
Figure 112019072641677-pat00196
), 제2 암호문(
Figure 112019072641677-pat00197
), 및 임계값(
Figure 112019072641677-pat00198
)을 입력값으로 하여, 제1 암호문(
Figure 112019072641677-pat00199
)과 제2 암호문(
Figure 112019072641677-pat00200
)이 유사한 것으로 판단되면 해당 식별자(
Figure 112019072641677-pat00201
)를 반환하는 검색 단계를 포함한다.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.
Figure 112019072641677-pat00181
) As an input value
Figure 112019072641677-pat00182
), Select a random random number (
Figure 112019072641677-pat00183
), Select the public parameter (
Figure 112019072641677-pat00184
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 (
Figure 112019072641677-pat00185
Generating a key; The data uploader device uses the secret key (k) of the data uploader device,
Figure 112019072641677-pat00186
), The data to be encrypted (I), and the identifier of the data uploader device (
Figure 112019072641677-pat00187
) As an input value, the first cipher text (
Figure 112019072641677-pat00188
) And identifier (
Figure 112019072641677-pat00189
Creating an encryption step; The data uploader device
Figure 112019072641677-pat00190
) And identifier (
Figure 112019072641677-pat00191
Transmitting c) to the cloud server; The user device has a secret key (k ') and public parameters (
Figure 112019072641677-pat00192
), And the second cipher text (
Figure 112019072641677-pat00193
Trapdoor generation step of generating a); The user device has a second passphrase (
Figure 112019072641677-pat00194
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 (
Figure 112019072641677-pat00195
), Identifier (
Figure 112019072641677-pat00196
), Second pass phrase (
Figure 112019072641677-pat00197
), And the threshold (
Figure 112019072641677-pat00198
) As an input value, the first cipher text (
Figure 112019072641677-pat00199
) And the second pass phrase (
Figure 112019072641677-pat00200
) Is determined to be similar, the identifier (
Figure 112019072641677-pat00201
), A search step that returns).

Description

클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법 및 시스템{METHOD AND SYSTEM FOR SIMILARITY SEARCH OVER ENCRYPTED DATA IN CLOUD COMPUTING} Similarity search method and system for encrypted data in cloud computing environment {METHOD AND SYSTEM FOR SIMILARITY SEARCH OVER ENCRYPTED DATA IN CLOUD COMPUTING}

본 발명은 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법 및 시스템에 관한 것으로, 특히, 다수의 데이터 업로더가 암호 데이터를 클라우드 서버에 업로드하는 환경에서 사용자가 데이터 업로더와의 비밀키 공유 없이도 유사도 검색 쿼리를 생성하며, 클라우드 서버는 데이터와 쿼리에 대한 복호 없이 둘 간의 유사도를 판별할 수 있는 유사도 검색 방법 및 시스템에 관한 것이다.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.

US 9311494 B2US 9311494 B2 KR 1489876 B1KR 1489876 B1 KR 1661549 B1KR 1661549 B1 JP 5948060 B2JP 5948060 B2

C. Wang, N. Cao, J. Li, K. Ren, and W. Lou, “Secure ranked keyword search over encrypted cloud data,” In Distributed Computing Systems (ICDCS), 2010. C. Wang, N. Cao, J. Li, K. Ren, and W. Lou, “Secure ranked keyword search over encrypted cloud data,” In Distributed Computing Systems (ICDCS), 2010. Kiayias, A., Oksuz, O., Russell, A., Tang, Q., and Wang, B., “Efficient encrypted keyword search for multi-user data sharing,” In European Symposium on Research in Computer Security, pp. 173-195, 2016. Kiayias, A., Oksuz, O., Russell, A., Tang, Q., and Wang, B., “Efficient encrypted keyword search for multi-user data sharing,” In European Symposium on Research in Computer Security, pp. 173-195, 2016.

본 발명이 이루고자 하는 기술적인 과제는 클라우드 컴퓨팅 환경에서 암호화된 데이터와 쿼리에 대한 복호 없이 둘 간의 유사도를 판별할 수 있는 유사도 검색 방법 및 시스템을 제공하는 것이다.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.

본 발명의 실시 예에 따른 복수의 사용자 장치, 복수의 데이터 업로더 기기, 클라우드 서버, 및 신뢰기관 서버를 포함하는 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템에서의 유사도 검색 방법은 신뢰기관 서버가 보안상수(

Figure 112019072641677-pat00001
)를 입력값으로 하여 임의의 생성원(
Figure 112019072641677-pat00002
)을 선택하고, 임의의 난수(
Figure 112019072641677-pat00003
)를 선택하여, 공개 파라미터 (
Figure 112019072641677-pat00004
)를 생성하는 셋업 단계; 신뢰기관 서버가 서브특징(subfeature)의 개수(l)를 입력값으로 하여, l 개의 무작위 값을 비밀키(
Figure 112019072641677-pat00005
)로 생성하는 키생성 단계; 데이터 업로더 기기가 데이터 업로더 기기의 비밀키(k), 공개 파라미터(
Figure 112019072641677-pat00006
), 암호화 대상 데이터(I), 및 데이터 업로더 기기의 식별자(
Figure 112019072641677-pat00007
)를 입력값으로 하여, 제1 암호문(
Figure 112019072641677-pat00008
)과 식별자(
Figure 112019072641677-pat00009
)를 생성하는 암호화 단계; 데이터 업로더 기기가 제1 암호문(
Figure 112019072641677-pat00010
) 및 식별자(
Figure 112019072641677-pat00011
)를 클라우드 서버에 전송하는 단계; 사용자 장치가 사용자 장치의 비밀키(k')와 공개 파라미터(
Figure 112019072641677-pat00012
), 및 검색 대상 데이터(I’)를 입력값으로 하여, 제2 암호문(
Figure 112019072641677-pat00013
)을 생성하는 트랩도어 생성 단계; 사용자 장치가 제2 암호문(
Figure 112019072641677-pat00014
)을 클라우드 서버에 전송하는 단계; 및 클라우드 서버가 데이터 업로더 기기와 사용자 장치로부터 수신한 제1 암호문(
Figure 112019072641677-pat00015
), 식별자(
Figure 112019072641677-pat00016
), 제2 암호문(
Figure 112019072641677-pat00017
), 및 임계값(
Figure 112019072641677-pat00018
)을 입력값으로 하여, 제1 암호문(
Figure 112019072641677-pat00019
)과 제2 암호문(
Figure 112019072641677-pat00020
)이 유사한 것으로 판단되면 해당 식별자(
Figure 112019072641677-pat00021
)를 반환하는 검색 단계를 포함한다.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 (
Figure 112019072641677-pat00001
) As an input value
Figure 112019072641677-pat00002
), Select a random random number (
Figure 112019072641677-pat00003
), Select the public parameter (
Figure 112019072641677-pat00004
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 (
Figure 112019072641677-pat00005
Generating a key; The data uploader device uses the secret key (k) of the data uploader device,
Figure 112019072641677-pat00006
), The data to be encrypted (I), and the identifier of the data uploader device (
Figure 112019072641677-pat00007
) As an input value, the first cipher text (
Figure 112019072641677-pat00008
) And identifier (
Figure 112019072641677-pat00009
Creating an encryption step; The data uploader device will issue the first passphrase (
Figure 112019072641677-pat00010
) And identifier (
Figure 112019072641677-pat00011
Transmitting c) to the cloud server; The user device has a secret key (k ') and public parameters (
Figure 112019072641677-pat00012
), And the second cipher text (
Figure 112019072641677-pat00013
Trapdoor generation step of generating a); The user device has a second passphrase (
Figure 112019072641677-pat00014
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 (
Figure 112019072641677-pat00015
), Identifier (
Figure 112019072641677-pat00016
), Second pass phrase (
Figure 112019072641677-pat00017
), And the threshold (
Figure 112019072641677-pat00018
) As an input value, the first cipher text (
Figure 112019072641677-pat00019
) And the second pass phrase (
Figure 112019072641677-pat00020
) Is determined to be similar, the identifier (
Figure 112019072641677-pat00021
), A search step that returns).

본 발명의 실시 예에 따른 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템은 보안상수(

Figure 112017119365041-pat00022
)를 입력값으로 하여 임의의 생성원(
Figure 112017119365041-pat00023
) 및 임의의 난수(
Figure 112017119365041-pat00024
)를 선택하고,
Figure 112017119365041-pat00025
를 연산하여. 공개 파라미터 (
Figure 112017119365041-pat00026
)를 생성하고, 서브특징(subfeature)의 개수 l을 입력값으로 하여 비밀키(
Figure 112017119365041-pat00027
)를 생성하는 신뢰기관 서버; 데이터 업로더 기기의 비밀키(k), 상기 공개 파라미터(
Figure 112017119365041-pat00028
), 암호화 대상 데이터(I), 및 데이터 업로더 기기의 식별자(
Figure 112017119365041-pat00029
)를 입력값으로 하여, 최종적으로 제1 암호문(
Figure 112017119365041-pat00030
)과 식별자(
Figure 112017119365041-pat00031
)를 반환하고, 상기 제1 암호문(
Figure 112017119365041-pat00032
)과 상기 식별자(
Figure 112017119365041-pat00033
)를 클라우드 서버에 전송하는 데이터 업로더 기기; 사용자 장치의 비밀키(k')와 공개 파라미터(
Figure 112017119365041-pat00034
), 및 검색 대상 데이터(I')를 입력값으로 하여, 최종적으로 제2 암호문(
Figure 112017119365041-pat00035
)을 반환하고, 상기 제2 암호문(
Figure 112017119365041-pat00036
)을 클라우드 서버에 전송하는 사용자 장치; 및 데이터 업로더 기기와 사용자 장치로부터 수신한 상기 제1 암호문(
Figure 112017119365041-pat00037
), 상기 식별자(
Figure 112017119365041-pat00038
), 상기 제2 암호문(
Figure 112017119365041-pat00039
), 및 임계값(
Figure 112017119365041-pat00040
)을 입력값으로 하여, 제1 암호문(
Figure 112017119365041-pat00041
)과 제2 암호문(
Figure 112017119365041-pat00042
)이 유사한 것으로 판단되면 해당 식별자(
Figure 112017119365041-pat00043
)를 반환하는 클라우드 서버를 포함한다.In a cloud computing environment, a similarity search system for encrypted data may include a security constant (
Figure 112017119365041-pat00022
) As an input value
Figure 112017119365041-pat00023
) And any random number (
Figure 112017119365041-pat00024
),
Figure 112017119365041-pat00025
By calculating. Public parameters (
Figure 112017119365041-pat00026
), And the secret key () with the number l of subfeatures as the input value.
Figure 112017119365041-pat00027
A trusted authority server for generating; The secret key k of the data uploader device, the public parameter (
Figure 112017119365041-pat00028
), The data to be encrypted (I), and the identifier of the data uploader device (
Figure 112017119365041-pat00029
) As an input value, and finally the first cipher text (
Figure 112017119365041-pat00030
) And identifier (
Figure 112017119365041-pat00031
) And the first cipher text (
Figure 112017119365041-pat00032
) And the identifier (
Figure 112017119365041-pat00033
A data uploader device for transmitting the c) to a cloud server; The secret key (k ') and public parameters (
Figure 112017119365041-pat00034
) And the search target data I 'as input values, and finally the second cipher text (
Figure 112017119365041-pat00035
) And the second cipher text (
Figure 112017119365041-pat00036
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.
Figure 112017119365041-pat00037
), The identifier (
Figure 112017119365041-pat00038
), The second cipher text (
Figure 112017119365041-pat00039
), And the threshold (
Figure 112017119365041-pat00040
) As an input value, the first cipher text (
Figure 112017119365041-pat00041
) And the second pass phrase (
Figure 112017119365041-pat00042
) Is determined to be similar, the identifier (
Figure 112017119365041-pat00043
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.

Figure 112017119365041-pat00044
Figure 112017119365041-pat00044

이하, 도 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 similarity search system 10 for encrypted data in a cloud computing environment in accordance with an embodiment of the present invention. Referring to FIG. 1, the similarity search system 10 for encrypted data in a cloud computing environment includes a plurality of user devices 100, a plurality of data uploader devices 200, a cloud server 300, and a trust authority server. 400.

신뢰기관 서버(400)는 보안상수(

Figure 112017119365041-pat00045
)를 입력값으로 하여 임의의 생성원(
Figure 112017119365041-pat00046
) 및 임의의 난수(
Figure 112017119365041-pat00047
)를 선택하고,
Figure 112017119365041-pat00048
를 연산하여(S130). 아래와 같이 공개 파라미터(
Figure 112017119365041-pat00049
)를 생성한다.The trust authority server 400 has a security constant (
Figure 112017119365041-pat00045
) As an input value
Figure 112017119365041-pat00046
) And any random number (
Figure 112017119365041-pat00047
),
Figure 112017119365041-pat00048
By calculating (S130). Public parameters (
Figure 112017119365041-pat00049
)

Figure 112017119365041-pat00050
Figure 112017119365041-pat00050

또한, 신뢰기관 서버(400)는 l을 입력값으로 받은 후, l 개의 무작위 값을 비밀키(k)로 반환한다.In addition, after receiving l as an input value, the trusted authority server 400 returns l random values as a secret key k.

Figure 112017119365041-pat00051
Figure 112017119365041-pat00051

이때, 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)의 비밀키, 공개 파라미터(

Figure 112017119365041-pat00052
), 암호화할 데이터(I), 데이터 업로더 기기의 식별자(
Figure 112017119365041-pat00053
)를 입력값으로 하여, 최종적으로 제1 암호문(
Figure 112017119365041-pat00054
)과 식별자(
Figure 112017119365041-pat00055
)를 반환하고, 제1 암호문(
Figure 112017119365041-pat00056
)과 식별자(
Figure 112017119365041-pat00057
)를 클라우드 서버(300)에 전송한다.The data uploader device 200 to upload the data I to the cloud server 300 may include a secret key of the data uploader device 200 and a public parameter (
Figure 112017119365041-pat00052
), The data to be encrypted (I), and the identifier of the data uploader device (
Figure 112017119365041-pat00053
) As an input value, and finally the first cipher text (
Figure 112017119365041-pat00054
) And identifier (
Figure 112017119365041-pat00055
) And the first pass phrase (
Figure 112017119365041-pat00056
) And identifier (
Figure 112017119365041-pat00057
) Is transmitted to the cloud server 300.

사용자 장치(100)는 자신의 비밀키(k')와 공개 파라미터(

Figure 112017119365041-pat00058
), 그리고 검색할 대상 데이터 I'를 입력값으로 하여, 최종적으로 제2 암호문(
Figure 112017119365041-pat00059
)을 반환하고, 제2 암호문(
Figure 112017119365041-pat00060
)을 클라우드 서버(300)에 전송한다.The user device 100 has its private key k 'and public parameters (
Figure 112017119365041-pat00058
), And the second cipher text (
Figure 112017119365041-pat00059
), And the second pass phrase (
Figure 112017119365041-pat00060
) Is transmitted to the cloud server 300.

클라우드 서버(300)는 데이터 업로더 기기(200)와 사용자 장치(100)로부터 전달받은 값(

Figure 112017119365041-pat00061
)과 임계값(threshold,
Figure 112017119365041-pat00062
)을 입력값으로 하여, 제1 암호문(
Figure 112017119365041-pat00063
)과 제2 암호문(
Figure 112017119365041-pat00064
)이 유사한 것으로 판단되는 경우, 식별자(
Figure 112017119365041-pat00065
)를를 반환한다. 이때,
Figure 112017119365041-pat00066
는 사전에 지정되는 값으로서 필요에 따라 변경될 수 있다.The cloud server 300 receives the values received from the data uploader device 200 and the user device 100 (
Figure 112017119365041-pat00061
) And threshold,
Figure 112017119365041-pat00062
) As an input value, the first cipher text (
Figure 112017119365041-pat00063
) And the second pass phrase (
Figure 112017119365041-pat00064
) Is determined to be similar, the identifier (
Figure 112017119365041-pat00065
Returns). At this time,
Figure 112017119365041-pat00066
Is a value specified in advance and can be changed as necessary.

이하, 도 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 user device 100 in the environment in which a plurality of data uploader device 200 uploads encrypted data to the cloud server 300, the data uploader device 200. Similarity search query is generated even without sharing a secret key with), and the cloud server 300 may determine similarity between the two without decrypting the encrypted data and the query.

도 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)가 공유하게 될 공개 파라미터(

Figure 112017119365041-pat00067
)를 생성한다(S100). Setup 알고리즘이 반환하는 공개 파라미터(
Figure 112017119365041-pat00068
)는 시스템에 참여하는 모든 개체가 공유한다.First, the trusted authority server 400 is a public parameter that will be shared between the data uploader device 200 and the user device 100 (
Figure 112017119365041-pat00067
) Is generated (S100). Public parameters returned by the Setup algorithm (
Figure 112017119365041-pat00068
) Is shared by all entities participating in the system.

도 4를 참조하면, 신뢰기관 서버(400)는 보안상수(

Figure 112017119365041-pat00069
)를 입력값으로 하여 임의의 생성원(
Figure 112017119365041-pat00070
)을 선택한다(S110). 다음, 임의의 난수(
Figure 112017119365041-pat00071
)를 선택하고(S120),
Figure 112017119365041-pat00072
를 연산하여(S130). 아래와 같이 공개 파라미터(
Figure 112017119365041-pat00073
)를 설정한다(S140).4, the trust authority server 400 is a security constant (
Figure 112017119365041-pat00069
) As an input value
Figure 112017119365041-pat00070
Select (S110). Next, any random number (
Figure 112017119365041-pat00071
), (S120),
Figure 112017119365041-pat00072
By calculating (S130). Public parameters (
Figure 112017119365041-pat00073
(S140).

Figure 112017119365041-pat00074
Figure 112017119365041-pat00074

키생성Key Generation (( KeyGenKeygen ) 단계) step

신뢰기관 서버(400)는 ㅣ을 입력값으로 받은 후, l 개의 무작위 값을 비밀키(k)로 반환한다(S200, 도 5 참조).The trust authority server 400 receives l as an input value and returns l random values as the secret key k (S200, see FIG. 5).

Figure 112017119365041-pat00075
Figure 112017119365041-pat00075

이때, 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)의 비밀키, 공개 파라미터(

Figure 112017119365041-pat00076
), 암호화할 데이터(I), 데이터 업로더 기기의 식별자(
Figure 112017119365041-pat00077
)를 입력값으로 하여, 최종적으로 제1 암호문(
Figure 112017119365041-pat00078
)과 식별자(
Figure 112017119365041-pat00079
)를 반환한다(S300).The data uploader device 200 to upload data to the cloud server 300 is executed, and the secret key of the data uploader device 200 and public parameters (
Figure 112017119365041-pat00076
), The data to be encrypted (I), and the identifier of the data uploader device (
Figure 112017119365041-pat00077
) As an input value, and finally the first cipher text (
Figure 112017119365041-pat00078
) And identifier (
Figure 112017119365041-pat00079
Return (S300).

도 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.

Figure 112017119365041-pat00080
Figure 112017119365041-pat00080

다음, 암호화(BuildIndex) 알고리즘은 모든 subfeature에 대하여 암호문

Figure 112017119365041-pat00081
을 생성한다.(S330).Next, the BuildIndex algorithm uses ciphertext for all subfeatures.
Figure 112017119365041-pat00081
It generates (S330).

Figure 112017119365041-pat00082
Figure 112017119365041-pat00082

최종적으로 암호화(BuildIndex) 알고리즘은 제1 암호문(

Figure 112017119365041-pat00083
)과 식별자(
Figure 112017119365041-pat00084
)를 반환하고(S340), 데이터 업로더 기기(200)는 반환된 결과(
Figure 112017119365041-pat00085
,
Figure 112017119365041-pat00086
)를 클라우드 서버(300)에 전송한다(S350). Finally, the encryption (BuildIndex) algorithm uses the first ciphertext (
Figure 112017119365041-pat00083
) And identifier (
Figure 112017119365041-pat00084
) (S340), and the data uploader device 200 returns the returned result (
Figure 112017119365041-pat00085
,
Figure 112017119365041-pat00086
) Is transmitted to the cloud server 300 (S350).

트랩도어Trap Door 생성(Trapdoor) 단계 Trapdoor

사용자 장치(100)는 자신의 비밀키(k')와 공개 파라미터(

Figure 112017119365041-pat00087
), 그리고 검색할 대상 데이터 I’을 트랩도어(Trapdoor) 알고리즘에 입력한다. The user device 100 has its private key k 'and public parameters (
Figure 112017119365041-pat00087
) And the target data I 'to be searched are input to the trapdoor algorithm.

이후 알고리즘은 암호화(BuildIndex) 알고리즘과 동일하게 동작하며 최종적으로 제2 암호문(

Figure 112017119365041-pat00088
)을 반환한다(S400, 도 7 참조). The algorithm then operates in the same way as the encryption (BuildIndex) algorithm and finally the second ciphertext (
Figure 112017119365041-pat00088
) (S400, see FIG. 7).

Figure 112017119365041-pat00089
Figure 112017119365041-pat00089

사용자 장치(100)는 반환된 결과(

Figure 112017119365041-pat00090
)를 클라우드 서버(300)에 전송한다. The user device 100 returns the result (
Figure 112017119365041-pat00090
) Is transmitted to the cloud server 300.

검색(Search( SearchSearch ) 단계) step

검색(Search) 단계에서 클라우드 서버(300)는 데이터 업로더 기기(200)와 사용자 장치(100)로부터 전달받은 값(

Figure 112017119365041-pat00091
)과 임계값(threshold,
Figure 112017119365041-pat00092
)을 입력값으로 하여, 제1 암호문(
Figure 112017119365041-pat00093
)과 제2 암호문(
Figure 112017119365041-pat00094
)이 유사한 것으로 판단되는 경우, 식별자(
Figure 112017119365041-pat00095
)를를 반환한다(S500). 이때,
Figure 112017119365041-pat00096
는 사전에 지정되는 값으로서 필요에 따라 변경될 수 있다. In the search step, the cloud server 300 receives the values received from the data uploader device 200 and the user device 100.
Figure 112017119365041-pat00091
) And threshold,
Figure 112017119365041-pat00092
) As an input value, the first cipher text (
Figure 112017119365041-pat00093
) And the second pass phrase (
Figure 112017119365041-pat00094
) Is determined to be similar, the identifier (
Figure 112017119365041-pat00095
Return (S500). At this time,
Figure 112017119365041-pat00096
Is a value specified in advance and can be changed as necessary.

구체적으로, 도 8을 참조하면, 클라우드 서버(300)는

Figure 112017119365041-pat00097
,
Figure 112017119365041-pat00098
를 입력값으로 하여 아래의 식을 계산한다.Specifically, referring to FIG. 8, the cloud server 300 is
Figure 112017119365041-pat00097
,
Figure 112017119365041-pat00098
Calculate the following formula with.

Figure 112017119365041-pat00099
Figure 112017119365041-pat00099

상기 식을 연산한 후, 아래의 조건을 만족하면 count 를 1 증가시킨다. After calculating the above expression, count is increased by one if the following conditions are met.

Figure 112017119365041-pat00100
Figure 112017119365041-pat00100

만약 count 가 th 보다 크다면 알고리즘은 제1 암호문(

Figure 112017119365041-pat00101
)과 제2 암호문(
Figure 112017119365041-pat00102
)이 유사한 것으로 판단하고 해당 식별자(
Figure 112017119365041-pat00103
)를 반환한다.If count is greater than th, the algorithm uses the first ciphertext (
Figure 112017119365041-pat00101
) And the second pass phrase (
Figure 112017119365041-pat00102
) Are similar, and the identifier (
Figure 112017119365041-pat00103
)

본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.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)

복수의 사용자 장치, 복수의 데이터 업로더 기기, 클라우드 서버, 및 신뢰기관 서버를 포함하는 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템에서의 암호화된 데이터에 대한 유사도 검색 방법에 있어서,
신뢰기관 서버가 보안상수(
Figure 112019072641677-pat00104
)를 입력값으로 하여 임의의 생성원(
Figure 112019072641677-pat00105
)을 선택하고, 임의의 난수(
Figure 112019072641677-pat00106
)를 선택하여, 공개 파라미터 (
Figure 112019072641677-pat00107
)를 생성하는 셋업 단계;
신뢰기관 서버가 서브특징(subfeature)의 개수(l)를 입력값으로 하여, l 개의 무작위 값을 비밀키(
Figure 112019072641677-pat00108
)로 생성하는 키생성 단계;
데이터 업로더 기기가 데이터 업로더 기기의 비밀키(k), 공개 파라미터(
Figure 112019072641677-pat00109
), 암호화 대상 데이터(I), 및 데이터 업로더 기기의 식별자(
Figure 112019072641677-pat00110
)를 입력값으로 하여, 제1 암호문(
Figure 112019072641677-pat00111
)과 식별자(
Figure 112019072641677-pat00112
)를 생성하는 암호화 단계;
데이터 업로더 기기가 상기 제1 암호문(
Figure 112019072641677-pat00113
) 및 상기 식별자(
Figure 112019072641677-pat00114
)를 클라우드 서버에 전송하는 단계;
사용자 장치가 사용자 장치의 비밀키(k')와 공개 파라미터(
Figure 112019072641677-pat00115
), 및 검색 대상 데이터(I’)를 입력값으로 하여, 제2 암호문(
Figure 112019072641677-pat00116
)을 생성하는 트랩도어 생성 단계;
사용자 장치가 상기 제2 암호문(
Figure 112019072641677-pat00117
)을 클라우드 서버에 전송하는 단계; 및
클라우드 서버가 데이터 업로더 기기와 사용자 장치로부터 수신한 상기 제1 암호문(
Figure 112019072641677-pat00118
), 상기 식별자(
Figure 112019072641677-pat00119
), 상기 제2 암호문(
Figure 112019072641677-pat00120
), 및 임계값(
Figure 112019072641677-pat00121
)을 입력값으로 하여, 제1 암호문(
Figure 112019072641677-pat00122
)과 제2 암호문(
Figure 112019072641677-pat00123
)이 유사한 것으로 판단되면 해당 식별자(
Figure 112019072641677-pat00124
)를 반환하는 검색 단계를 포함하는 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법.
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 (
Figure 112019072641677-pat00104
) As an input value
Figure 112019072641677-pat00105
), Select a random random number (
Figure 112019072641677-pat00106
), Select the public parameter (
Figure 112019072641677-pat00107
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 (
Figure 112019072641677-pat00108
Generating a key;
The data uploader device uses the secret key (k) of the data uploader device,
Figure 112019072641677-pat00109
), The data to be encrypted (I), and the identifier of the data uploader device (
Figure 112019072641677-pat00110
) As an input value, the first cipher text (
Figure 112019072641677-pat00111
) And identifier (
Figure 112019072641677-pat00112
Creating an encryption step;
The data uploader device
Figure 112019072641677-pat00113
) And the identifier (
Figure 112019072641677-pat00114
Transmitting c) to the cloud server;
The user device has a secret key (k ') and public parameters (
Figure 112019072641677-pat00115
), And the second cipher text (
Figure 112019072641677-pat00116
Trapdoor generation step of generating a);
The user device is connected to the second cipher text (
Figure 112019072641677-pat00117
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 (
Figure 112019072641677-pat00118
), The identifier (
Figure 112019072641677-pat00119
), The second cipher text (
Figure 112019072641677-pat00120
), And the threshold (
Figure 112019072641677-pat00121
) As an input value, the first cipher text (
Figure 112019072641677-pat00122
) And the second pass phrase (
Figure 112019072641677-pat00123
) Is determined to be similar, the identifier (
Figure 112019072641677-pat00124
A similarity search method for encrypted data in a cloud computing environment that includes a search step that returns;
제1항에 있어서,
상기 암호화 단계는,
LSH(Locality sensitive hashing) 알고리즘을 이용하여 상기 암호화 대상 데이터(I)로부터 l 개의 서브특징(subfeature)을 추출하는 과정;
Figure 112019072641677-pat00125

상기 l 개의 서브특징(subfeature)에 대하여 아래의 식을 이용하여 암호문
Figure 112019072641677-pat00126
을 생성하는 과정; 및
Figure 112019072641677-pat00127

제1 암호문(
Figure 112019072641677-pat00128
)과 식별자(
Figure 112019072641677-pat00129
)를 반환하는 과정을 포함하는,
Figure 112019072641677-pat00130

클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법.
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;
Figure 112019072641677-pat00125

The ciphertext for the l subfeatures using the following equation
Figure 112019072641677-pat00126
Creating a process; And
Figure 112019072641677-pat00127

First pass phrase (
Figure 112019072641677-pat00128
) And identifier (
Figure 112019072641677-pat00129
Returning),
Figure 112019072641677-pat00130

A similarity search method for encrypted data in a cloud computing environment.
제2항에 있어서,
상기 트랩도어 생성 단계는,
LSH(Locality sensitive hashing) 알고리즘을 이용하여 상기 검색 대상 데이터(I')로부터 l 개의 서브특징(subfeature)을 추출하는 과정;
Figure 112017119365041-pat00131

상기 l 개의 서브특징(subfeature)에 대하여 아래의 식을 이용하여 암호문
Figure 112017119365041-pat00132
을 생성하는 과정; 및
Figure 112017119365041-pat00133

제2 암호문(
Figure 112017119365041-pat00134
)을 생성하는 과정을 포함하는,
Figure 112017119365041-pat00135

클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법.
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;
Figure 112017119365041-pat00131

The ciphertext for the l subfeatures using the following equation
Figure 112017119365041-pat00132
Creating a process; And
Figure 112017119365041-pat00133

Second cipher text (
Figure 112017119365041-pat00134
Including the process of generating
Figure 112017119365041-pat00135

A similarity search method for encrypted data in a cloud computing environment.
제3항에 있어서,
상기 검색 단계는,
아래의 수학식을 계산하는 과정;
Figure 112017119365041-pat00136

아래의 조건식을 만족하면 count를 1 증가시키는 과정; 및
Figure 112017119365041-pat00137

count가 임계값(
Figure 112017119365041-pat00138
)보다 크면 상기 제1 암호문(
Figure 112017119365041-pat00139
)과 상기 제2 암호문(
Figure 112017119365041-pat00140
)이 유사한 것으로 판단하고 해당 식별자(
Figure 112017119365041-pat00141
)를 반환하는 과정;을 포함하는 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법.
The method of claim 3,
The search step,
Calculating the following equation;
Figure 112017119365041-pat00136

Count is increased by 1 if the following condition is met; And
Figure 112017119365041-pat00137

count is the threshold (
Figure 112017119365041-pat00138
Greater than), the first ciphertext (
Figure 112017119365041-pat00139
) And the second cipher text (
Figure 112017119365041-pat00140
) Are similar, and the identifier (
Figure 112017119365041-pat00141
Returning a;) similarity search method for encrypted data in a cloud computing environment.
보안상수(
Figure 112017119365041-pat00142
)를 입력값으로 하여 임의의 생성원(
Figure 112017119365041-pat00143
) 및 임의의 난수(
Figure 112017119365041-pat00144
)를 선택하고,
Figure 112017119365041-pat00145
를 연산하여. 공개 파라미터 (
Figure 112017119365041-pat00146
)를 생성하고, 서브특징(subfeature)의 개수 l을 입력값으로 하여 비밀키(
Figure 112017119365041-pat00147
)를 생성하는 신뢰기관 서버;
데이터 업로더 기기의 비밀키(k), 상기 공개 파라미터(
Figure 112017119365041-pat00148
), 암호화 대상 데이터(I), 및 데이터 업로더 기기의 식별자(
Figure 112017119365041-pat00149
)를 입력값으로 하여, 최종적으로 제1 암호문(
Figure 112017119365041-pat00150
)과 식별자(
Figure 112017119365041-pat00151
)를 반환하고, 상기 제1 암호문(
Figure 112017119365041-pat00152
)과 상기 식별자(
Figure 112017119365041-pat00153
)를 클라우드 서버에 전송하는 데이터 업로더 기기;
사용자 장치의 비밀키(k')와 공개 파라미터(
Figure 112017119365041-pat00154
), 및 검색 대상 데이터(I')를 입력값으로 하여, 최종적으로 제2 암호문(
Figure 112017119365041-pat00155
)을 반환하고, 상기 제2 암호문(
Figure 112017119365041-pat00156
)을 클라우드 서버에 전송하는 사용자 장치; 및
데이터 업로더 기기와 사용자 장치로부터 수신한 상기 제1 암호문(
Figure 112017119365041-pat00157
), 상기 식별자(
Figure 112017119365041-pat00158
), 상기 제2 암호문(
Figure 112017119365041-pat00159
), 및 임계값(
Figure 112017119365041-pat00160
)을 입력값으로 하여, 제1 암호문(
Figure 112017119365041-pat00161
)과 제2 암호문(
Figure 112017119365041-pat00162
)이 유사한 것으로 판단되면 해당 식별자(
Figure 112017119365041-pat00163
)를 반환하는 클라우드 서버;를 포함하는 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템.
Security constant (
Figure 112017119365041-pat00142
) As an input value
Figure 112017119365041-pat00143
) And any random number (
Figure 112017119365041-pat00144
),
Figure 112017119365041-pat00145
By calculating. Public parameters (
Figure 112017119365041-pat00146
), And the secret key () with the number l of subfeatures as the input value.
Figure 112017119365041-pat00147
A trusted authority server for generating;
The secret key k of the data uploader device, the public parameter (
Figure 112017119365041-pat00148
), The data to be encrypted (I), and the identifier of the data uploader device (
Figure 112017119365041-pat00149
) As an input value, and finally the first cipher text (
Figure 112017119365041-pat00150
) And identifier (
Figure 112017119365041-pat00151
) And the first cipher text (
Figure 112017119365041-pat00152
) And the identifier (
Figure 112017119365041-pat00153
A data uploader device for transmitting the c) to a cloud server;
The secret key (k ') and public parameters (
Figure 112017119365041-pat00154
) And the search target data I 'as input values, and finally the second cipher text (
Figure 112017119365041-pat00155
) And the second cipher text (
Figure 112017119365041-pat00156
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 (
Figure 112017119365041-pat00157
), The identifier (
Figure 112017119365041-pat00158
), The second cipher text (
Figure 112017119365041-pat00159
), And the threshold (
Figure 112017119365041-pat00160
) As an input value, the first cipher text (
Figure 112017119365041-pat00161
) And the second pass phrase (
Figure 112017119365041-pat00162
) Is determined to be similar, the identifier (
Figure 112017119365041-pat00163
A similarity search system for encrypted data in a cloud computing environment.
제5항에 있어서,
상기 데이터 업로더 기기는,
LSH(Locality sensitive hashing) 알고리즘을 이용하여 상기 암호화 대상 데이터(I)로부터 l 개의 서브특징(subfeature)을 추출하며,
Figure 112019072641677-pat00164

상기 l 개의 서브특징(subfeature)에 대하여 아래의 식을 이용하여 암호문
Figure 112019072641677-pat00165
을 생성하고,
Figure 112019072641677-pat00166

제1 암호문(
Figure 112019072641677-pat00167
)과 식별자(
Figure 112019072641677-pat00168
)를 생성하는,
Figure 112019072641677-pat00169

클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템.
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,
Figure 112019072641677-pat00164

The ciphertext for the l subfeatures using the following equation
Figure 112019072641677-pat00165
Creates a,
Figure 112019072641677-pat00166

First pass phrase (
Figure 112019072641677-pat00167
) And identifier (
Figure 112019072641677-pat00168
),
Figure 112019072641677-pat00169

Similarity search system for encrypted data in cloud computing environment.
제6항에 있어서,
상기 사용자 장치는
LSH(Locality sensitive hashing) 알고리즘을 이용하여 상기 검색 대상 데이터(I')로부터 l 개의 서브특징(subfeature)을 추출하며,
Figure 112017119365041-pat00170

상기 l 개의 서브특징(subfeature)에 대하여 아래의 식을 이용하여 암호문
Figure 112017119365041-pat00171
을 생성하고,
Figure 112017119365041-pat00172

제2 암호문(
Figure 112017119365041-pat00173
)을 생성하는,
Figure 112017119365041-pat00174

클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템.
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,
Figure 112017119365041-pat00170

The ciphertext for the l subfeatures using the following equation
Figure 112017119365041-pat00171
Creates a,
Figure 112017119365041-pat00172

Second cipher text (
Figure 112017119365041-pat00173
),
Figure 112017119365041-pat00174

Similarity search system for encrypted data in cloud computing environment.
제7항에 있어서,
상기 클라우드 서버는
아래의 수학식을 계산하고,
Figure 112017119365041-pat00175

아래의 조건식을 만족하면 count를 1 증가시켜,
Figure 112017119365041-pat00176

count가 임계값(
Figure 112017119365041-pat00177
)보다 크면 상기 제1 암호문(
Figure 112017119365041-pat00178
)과 상기 제2 암호문(
Figure 112017119365041-pat00179
)이 유사한 것으로 판단하고 해당 식별자(
Figure 112017119365041-pat00180
)를 반환하는,
클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 시스템.


The method of claim 7, wherein
The cloud server
Calculate the equation below,
Figure 112017119365041-pat00175

If the following condition is met, count is increased by 1.
Figure 112017119365041-pat00176

count is the threshold (
Figure 112017119365041-pat00177
Greater than), the first ciphertext (
Figure 112017119365041-pat00178
) And the second cipher text (
Figure 112017119365041-pat00179
) Are similar, and the identifier (
Figure 112017119365041-pat00180
),
Similarity search system for encrypted data in cloud computing environment.


KR1020170162121A 2017-11-29 2017-11-29 Method and system for similarity search over encrypted data in cloud computing KR102050888B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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