WO2016203555A1 - 類似性秘匿検索システム、類似性秘匿検索方法 - Google Patents

類似性秘匿検索システム、類似性秘匿検索方法 Download PDF

Info

Publication number
WO2016203555A1
WO2016203555A1 PCT/JP2015/067362 JP2015067362W WO2016203555A1 WO 2016203555 A1 WO2016203555 A1 WO 2016203555A1 JP 2015067362 W JP2015067362 W JP 2015067362W WO 2016203555 A1 WO2016203555 A1 WO 2016203555A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
similarity
search target
target data
search
Prior art date
Application number
PCT/JP2015/067362
Other languages
English (en)
French (fr)
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 PCT/JP2015/067362 priority Critical patent/WO2016203555A1/ja
Priority to JP2017524187A priority patent/JP6557338B2/ja
Publication of WO2016203555A1 publication Critical patent/WO2016203555A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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

Definitions

  • the present invention relates to a similarity secret search system and a similarity secret search method for searching for data similar to data held by itself among plaintext or encrypted data stored in a server.
  • the “scale” is expressed by a normal distance (Euclidean distance) in the vector space, and thus an inner product of the vectors. Therefore, when determining the similarity along the “scale” in which the data (vector) is kept secret, for example, using the technique disclosed in Non-Patent Document 1, the inner product calculation with the vector kept secret A method to execute is necessary.
  • Kana Shimizu "Privacy preserving search for chemical compound libraries", JSBi-55, CBI / JSBi2011 (2011).
  • Non-Patent Document 1 it is possible to calculate the inner product while keeping it secret using homomorphic encryption.
  • due to the slow processing speed of homomorphic encryption it is difficult to process a large amount of data.
  • the vector (B) can obtain the inner product calculation result, the vector ( B) can restore the vector (A) and cannot keep confidentiality. Therefore, the inner product value itself is not disclosed in the vector (B), and it is necessary to calculate the ciphertext of the inner product value.
  • the inner product is used to determine the similarity of data when searching for and retrieving similar data from a large amount of numerical data stored in an external storage or the like while keeping numerical data held by the user confidential.
  • a secret inner product calculation protocol as in Non-Patent Document 1 is required.
  • a huge amount of communication and a huge amount of calculation processing are required on both the user and the external device side, and the efficiency is deteriorated. there were.
  • the present invention has been made in view of the above, and similarity concealment that can efficiently determine the similarity of data while maintaining secrecy without applying a processing load compared to the prior art.
  • An object is to provide a search system and a similarity search method.
  • the similarity concealment search system searches for similarity search data similar to the search target data concealed according to the search request.
  • the user terminal can determine whether or not the input unit that receives input of the search target data including qualitative data or quantitative data matches the qualitative data included in the search target data.
  • the encryption processing unit for encrypting with an encryption method and the quantitative data included in the search target data and the quantitative data included in the search target data Based on the encryption processing unit for encrypting with an encryption method and the quantitative data included in the search target data and the quantitative data included in the search target data.
  • a similarity determination processing unit for calculating a condition for having a search condition, a similar search server for searching the search target data, using the encrypted qualitative data and the condition receives the qualitative data and the condition from the user terminal, or the search target data determined to be similar to the search target data. Whether or not they are similar based on the server communication unit to be transmitted to the user terminal, the qualitative data received from the user terminal, and the qualitative data included in the search target data stored in the storage unit in advance If it is determined that the two are similar, the search target data including quantitative data that satisfies the condition among the search target data determined to be similar is used as the search target data. And a similarity determination calculation processing unit that outputs the data as similar data.
  • the present invention can also be grasped as a similarity concealment search method performed in the similarity concealment search system.
  • FIG. 1 is a diagram showing a configuration example of a similarity concealment search system 1000 to which the similarity concealment search system and the similarity concealment search method according to the present invention are applied.
  • the confidentiality search system 1000 has a configuration in which a plurality of user terminals 300 to 500 and a similarity search server 200 are connected to each other via a network 100.
  • the similar search server 200 is installed in a cloud provider and is configured from a server device that is a general computer.
  • the user terminal 300 operated by a user who uses the service of the cloud provider is configured by an information processing apparatus that is a general computer such as a PC, a mobile phone, or a smartphone.
  • the present system is described as including three user terminals 300 to 500, but the number is arbitrary.
  • FIG. 2 is a diagram illustrating a configuration example of the similar search server 200 according to the first embodiment.
  • the similarity search server 200 includes a control unit 210 that processes data, a storage unit 220 that stores data, an input unit 201 that receives input of information, an output unit 202 that outputs information, and an external device. And a communication unit 203 that transmits and receives data.
  • the control unit 210 includes an arithmetic device such as a CPU (Central Processing Unit)
  • the input unit 210 includes an input device such as a keyboard
  • the output unit 202 includes a display device such as an LCD (Liquid Crystal Display).
  • the communication unit 203 includes a communication device such as a NIC (Network Interface Controller).
  • the control unit 210 includes an overall processing unit 211 and a similarity determination calculation processing unit 212.
  • the overall processing unit 211 performs overall control of processing in the similarity search server 200, stores information received via the input unit 201 in the storage unit 220, and transmits / receives information to / from the user terminals 300 to 500 To control. In addition, the overall processing unit 211 performs processing for displaying data on the output unit 202, reads data stored in the storage unit 220, and transmits the data to the user terminals 300 to 500 via the communication unit 203.
  • the similarity determination calculation processing unit 212 determines the similarity between the search data received from the user terminals 300 to 500 and the search target data stored in the similar search server 200 in advance, and becomes equal to or greater than a certain threshold. Data is extracted from the search target data and output. Specifically, the similarity determination calculation processing unit 212 determines the similarity between an item indicating qualitative data included in the search data and an item indicating qualitative data included in the search target data. For example, when the item indicating the qualitative data included in the search data and the item indicating the qualitative data included in the search target data match 70% or more, it is determined that the two are similar. This similarity determination is performed while being encrypted with an encryption key for encrypting an item indicating qualitative data.
  • the similarity determination calculation processing unit 212 narrows down the search target data determined to be similar, and includes items indicating quantitative data included in the narrowed search target data and the search data. Calculate the inner product value with the item indicating the quantitative data encrypted with the encryption key for encrypting the quantitative data, and within the narrowed search target data, the inner product value is a certain threshold value or more Extract the data. For example, when the inner product value of an item indicating quantitative data included in the search data and an item indicating quantitative data included in the narrowed search target data is 0.7 or more, the data is narrowed down. From the search target data. This similarity determination is performed while being encrypted with an encryption key for encrypting quantitative data. The extracted data is transmitted as search result data 3303 by the overall processing unit 211 via the communication unit 203.
  • the data storage unit 230 of the storage unit 220 stores the data 231 extracted from the search target data by the similarity determination calculation processing unit 212.
  • the temporary information storage unit 240 stores information that is temporarily required for processing executed by the control unit 210. Processing performed by each unit of the similarity search server 200 will be described later using a flowchart.
  • FIG. 3 is a diagram illustrating a configuration example of the user terminal 300 according to the first embodiment.
  • the structure of each user terminal is the same structure, below, the structural example of the user terminal 300 is shown.
  • the encryption processing unit 312, the decryption processing unit 313, the encryption / decryption key storage unit 340, the similarity determination processing unit 314, the encryption / decryption key Each unit necessary for encryption / decryption such as the storage unit 340 may not be provided.
  • the user terminal 300 includes a control unit 310 that processes data, a storage unit 320 that stores data, an input unit 301 that receives input of information, an output unit 302 that outputs information, an external device, and the like. And a communication unit 303 that transmits and receives the data.
  • a control unit 310 that processes data
  • a storage unit 320 that stores data
  • an input unit 301 that receives input of information
  • an output unit 302 that outputs information
  • an external device and the like.
  • a communication unit 303 that transmits and receives the data.
  • Each of the above units is configured by a device having the same function as the similar search server 200.
  • the control unit 310 includes an overall processing unit 311, an encryption processing unit 312, a decryption processing unit 313, and a similarity determination processing unit 314.
  • the overall processing unit 311 performs overall control of processing in the user terminal 300, stores received information in the storage unit 320 via the input unit 301, and transmits / receives information to / from the similarity search server 200. Control. In addition, the overall processing unit 311 performs processing for displaying data on the output unit 303, reads data stored in the storage unit 320, and causes the encryption processing unit 312 to encrypt data or decrypt data, respectively. The encryption processing unit 313 decrypts the encrypted data. The overall processing unit 311 generates data similar to the search target data selected by the user in advance as search data for searching the search target data based on the information received by the input unit 301. . This search data becomes the pre-encryption data 3301. In addition, the overall processing unit 311 transmits the encrypted data 3302 after the pre-encrypted data 3301 is encrypted by the encryption processing unit 312 to the similarity search server 200 via the communication unit 303.
  • the encryption processing unit 312 encrypts the item indicating the qualitative data with the encryption key 341 for encrypting the item indicating the qualitative data in the pre-encryption data 3301 and generates the encrypted data 3302 To do. Further, the encryption processing unit 312 vectorizes the target vector obtained by vectorizing the item indicating the quantitative data and the item indicating the quantitative data included in the search target data, which is obtained by the similarity determination processing unit 314. A set of base vectors constituting a target vector that satisfies a threshold for determining that the inner product value with the target vector is equal to or greater than a certain value is obtained by an encryption key 341 for encrypting an item indicating quantitative data. Encrypt. Satisfying this threshold is a condition for both to have a certain similarity or more.
  • the decryption processing unit 313 decrypts the item indicating the qualitative data and the item indicating the quantitative data of the search result data 3303 received from the similar search server 200 with the decryption key 342 to generate decrypted data 3304.
  • the similarity determination processing unit 314 performs a linear decomposition process that is a process for obtaining a set of base vectors that constitute a target vector that satisfies the above threshold, and sets a set of base vectors and a scalar value that is a coefficient of the base vector Are output.
  • the storage unit 320 includes a data storage unit 330, an encryption / decryption key storage unit 340, and a temporary information storage unit 350.
  • the data storage unit 330 includes the pre-encryption data 3301, the post-encryption data 3302, search result data 3303 that is similar to the pre-encryption data 3301 searched by the similar search server 200, and search result data. 3303 stores the decrypted data 3304 decrypted by the decryption key 342.
  • the encryption / decryption key storage unit 340 stores an encryption key for encrypting the pre-encryption data 3301 and a decryption key 342 for decrypting the search result data 3303.
  • the encryption key may store an encryption key for encrypting qualitative data and an encryption key for encrypting quantitative data, or may store the same encryption key.
  • the decryption key may be stored for each qualitative data and quantitative data, or the same decryption key may be stored.
  • the temporary information storage unit 350 stores information temporarily necessary for processing executed by the control unit 310 as in the case of the similar search server 200.
  • the user terminals 300 to 500 transmit the search target data to the similar search server 200 in advance, and the similar search server 200 stores the search target data as data 231 in the data storage unit 230.
  • the data 231 will be described on the assumption that qualitative data is recorded as plain text or cipher text, and quantitative data is recorded as plain text.
  • FIG. 4 is a table in which search target data to be searched from the search target data by the user terminal 300 is classified. Since the search target data handled by this system includes items indicating qualitative data and items indicating quantitative data, the classification of both will be described below.
  • the qualitative data is, for example, data only for distinguishing classifications and types such as gender, address, occupation, etc., and is data that cannot be calculated numerically.
  • the quantitative data is data that can be calculated numerically, for example, in terms of numerical values such as numerical data, number of sheets, amount of money, etc. of examination results in a hospital.
  • the items indicating qualitative data are encrypted using an encryption method capable of determining whether they match or not, and used as search data (S403).
  • an encryption method for example, a searchable encryption technique (Japanese Patent No. 5412414) can be used.
  • the item indicating the quantitative data is encrypted using an encryption method capable of determining the similarity between the two while being kept secret and used as search data (S404).
  • an encryption method for example, various conventionally known homomorphic encryption techniques can be used. Whether or not each item included in the search data can be disclosed depends on the disclosure criteria, for example, when the consent of the patient or their family cannot be obtained, or when confidentiality is high for research purposes. Can be determined.
  • FIG. 5 is a flowchart showing a processing procedure of a process in which the user terminal 300 searches for similar data from search target data stored in advance using the search target data, and the similar search server 200 narrows down.
  • the search data of a patient is set as search target data, and the test data of a patient similar to that patient is searched Target data.
  • the examination target data and the search target data include items indicating one or more qualitative data (for example, patient name, address, sex, disease name, etc.) and items indicating one or more quantitative data (for example, Patient age, laboratory values, etc.).
  • the overall processing unit 311 generates items of search data by extracting items indicating qualitative data and quantitative data from the search target data, and the generated search data is encrypted. It is stored as data 3301 (S501). At this time, if it is not necessary to encrypt the extracted item, the process proceeds to S505.
  • the encryption processing unit 312 encrypts an item indicating qualitative data with the encryption key 341 in the pre-encryption data 3301, and generates post-encryption data 3302 (S502). At this time, if an item indicating quantitative data is not included in the search data, the process proceeds to S505.
  • the similarity determination processing unit 314 executes the linear decomposition process, and outputs a set of basis vectors and a set of scalar values that are coefficients of the basis vectors (S503). Specific processing of the linear decomposition processing will be described later with reference to FIG.
  • the encryption processing unit 312 encrypts the set of basis vectors and the set of scalar values output by executing the linear decomposition process using the encryption key 341 (S504).
  • the overall processing unit 311 transmits the data generated in S501 to S504 to the similarity search server 200 (S505). Note that the steps S501 to S504 do not necessarily have to be executed. If the search data is plaintext only, if only the items indicating qualitative data are included, only the items indicating quantitative data are included. In this case, it can be selected and executed as described above. Either S502 or S503 may be processed first.
  • the similarity determination calculation processing unit 212 narrows down the search target data using the data received from the user terminal 300 as a key (S506). For example, when the data received from the user terminal 300 includes an item indicating qualitative data, the item and an item indicating qualitative data included in the search target data match 70% or more. In this case, it is determined that both are similar, and the search target data is narrowed down.
  • narrowing down for example, narrowing down is performed by complete matching, partial matching, or synonyms for character string data.
  • a dictionary for searching for synonyms is stored in advance in the similar search server 200, and the degree of coincidence between the dictionary and the data and the degree of coincidence between the dictionary and the data to be searched are similar. Alternatively, it may be determined that both are similar.
  • the similarity determination calculation processing unit 212 calculates the inner product value of the item indicating the quantitative data included in the search target data narrowed down in S506 and the item indicating the quantitative data included in the data, and is narrowed down.
  • Data for which the inner product value is equal to or greater than a threshold value is extracted from the search target data (S507). For example, all data for which the inner product value of both is equal to or greater than the threshold value 0.7 is extracted from the narrowed search target data.
  • the overall processing unit 211 transmits the extracted data as search result data 3303 via the communication unit 203 (S508).
  • the decryption processing unit 313 of the user terminal 300 decrypts the item indicating the qualitative data and the item indicating the quantitative data of the search result data 3303 received from the similar search server 200 with the decryption key 342, and decrypts the decrypted data 3304. Is generated (S509). Thereafter, the overall control unit 311 of the user terminal 300 outputs the generated decoded data 3304 to the output unit 302, and the result is evaluated by the user (S510).
  • FIG. 6 is a flowchart showing the processing procedure of the linear decomposition process in S503 shown in FIG.
  • the user terminal 300 has a vector X as quantitative data to be concealed (S404).
  • the similarity determination processing unit 314 of the user terminal 300 first determines the natural numbers m and t (S601), and randomly generates t types of linear decompositions using m basis vectors constituting the vector X (S602). ).
  • some scalars aij may be zero.
  • the similarity determination processing unit 314 calculates a basis vector Gij and a scalar value that constitute each vector X derived from a threshold value that the inner product value with the vector X should satisfy, that is, a condition of the inner product value that satisfies the threshold value. (S603).
  • the similarity determination processing unit 314 sets the vector set ⁇ Gij ⁇ generated in S602 and the scalar value derived in S603 as data to be output in S503 illustrated in FIG. 5 and each scalar value ⁇ aij ⁇ . Is stored in the encryption / decryption key storage unit 340 in a secret state without being disclosed to others (S604). When the process of S604 ends, the linear decomposition process ends.
  • Similarity determination is performed while encrypting qualitative data included in data for determining similarity and qualitative data included in data for which similarity determination is performed, and data that is equal to or greater than a predetermined threshold value Furthermore, data whose inner product value of the quantitative data included in the extracted data and the quantitative data included in the similarity determination data is equal to or larger than a predetermined threshold is narrowed down, and the result is returned to the client. Therefore, the user (s) can leave the plaintext or encrypted data in the similar search server, and a certain user (user terminal 300) can disclose part of the data held by himself / herself and keep the rest secret. Similar search. That is, it becomes possible to efficiently search for similar data while concealing the data owned by the user from a large amount of data deposited in a third party such as the cloud.
  • the conventional similarity determination is performed as it is to narrow down, and for the parts that cannot be disclosed, an encryption method that can determine the match / mismatch while encrypting the qualitative data is applied.
  • the quantitative data is narrowed down by sending additional data necessary for similarity determination.
  • a method using random linear division of data to be concealed is described as the additional data.
  • other methods may be used.
  • the user terminal 300 (which may include the user terminals 400 and 500; the same shall apply hereinafter) encrypts the quantitative data portion that is to be concealed among the data deposited in advance.
  • a procedure and a procedure in which the vector X which is the data of the similar search target is encrypted and sent, and the similar search server 200 executes the similar search processing are added.
  • the similarity determination processing unit 314 randomly generates orthogonal transformation T for a plurality of quantitative data deposited in the similarity search server 200 (S701), and randomly generates a scalar r (S702). Further, a vector W is randomly generated (S703). The order of generation may be changed. W may be a 0 vector.
  • the similarity determination calculation processing unit 212 of the similarity search server 200 stores the data received from the user terminal 300 in the storage unit 220 (S706).
  • the user terminal 300 transmits the above X ′ and the condition obtained in S803 to the similar search server 200 (S804).
  • the similarity determination processing unit 314 of the user terminal 300 regards the quantitative data included in the search target data as a vector, and performs orthogonal transformation and affine transformation on the vector as in S802, and after these transformations In order to determine that the vector is similar to the search target data and the search target data, the inner product value to be satisfied by the converted vector is calculated as a condition.
  • the similarity determination calculation processing unit 212 of the similarity search server 200 includes quantitative data that satisfies the inner product value among the search target data determined to be similar based on the qualitative data.
  • the search target data is output as the data.
  • the similarity determination calculation processing unit 212 of the similar search server 200 calculates the inner product of the recorded ⁇ Y′i ⁇ and X ′, extracts the one that matches the condition calculated in S803, and is searched for The data is narrowed down and the list is generated (S805). Thereafter, the similarity determination calculation processing unit 212 executes the same processing as the processing after S507 shown in FIG. 5 and transmits the extracted data (S806, S507 and S508 in FIG. 5).
  • the user can perform narrowing down by performing a prior encryption deposit and a narrowing-down procedure while keeping confidential portions of quantitative data to be concealed. Similar search is possible.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

検索要求にしたがって秘匿化されている検索対象データに類似する被検索対象データを検索する類似性秘匿検索システムであって、ユーザ端末は、質的データまたは量的データを含む検索対象データの入力を受け付ける入力部と、検索対象データに含まれる質的データを、一致不一致の判定が可能な暗号化方式で暗号化する暗号化処理部と、検索対象データに含まれる量的データと被検索対象データに含まれる量的データとに基づいて、両者が一定以上の類似性を有するための条件を算出する類似性判定処理部と、暗号化された質的データと条件とを、被検索対象データを検索するための類似検索サーバに送信する通信部と、を備え、類似検索サーバは、ユーザ端末から質的データと条件とを受信し、または検索対象データに類似すると判定された被検索対象データをユーザ端末に送信するサーバ通信部と、ユーザ端末から受信した質的データと、あらかじめ記憶部に記憶された被検索対象データに含まれる質的データとに基づいて両者が類似しているか否かを判定し、両者が類似していると判定した場合、類似していると判定した被検索対象データの中から条件を満たす量的データを含む被検索対象データを検索対象データに類似するデータとして出力する類似性判定計算処理部と、を備える。

Description

類似性秘匿検索システム、類似性秘匿検索方法
 本発明は、サーバが保管する平文、あるいは暗号化されたデータのうち、自身が保有するデータと類似したデータを検索する類似性秘匿検索システム、類似性秘匿検索方法に関する。
 近年膨大なデータから未知の、かつ有効な知識を引き出すビッグデータ分析が注目を集めている。また、企業では自社保有のデータはもとより、社外のデータも収集し、マーケティングや業務効率化に活用するなど情報の種々の分析はますます重要な活動として認識されるようになっている。一方でそのようなデータの管理に不備があり、顧客の個人情報を含む情報が大量に漏えいする事件・事故が多発しており、社会問題となっている。
 このような漏えい事故は漏えいさせた企業は多額の補償金を負担することになり、場合によっては企業の存亡に関わる事態となる。また、無関係の企業にとっても情報保有者である個人などが情報提供時に躊躇、結果、情報を収集しにくくなり、有効な分析結果を得られなくなるなど、悪影響が出ることが懸念される。
 これらの状況に対し、正しく情報を収集、利活用するための法整備が進んでいる。また、各業界において取り扱う情報、特に個人情報について機微性、プライバシ性が異なるため、各業界におけるガイドラインも整備されつつある。しかし、これらはあくまでも法律面の整備であり、情報漏えいに対しての抑止には効果があるものの、情報漏えい対策そのものではない。
 情報漏えいやそれが引き起こすプライバシ侵害を防ぐ技術としては、従来から、情報にアクセスする人を制限するアクセスコントロールや、機材の盗難などで効果的な暗号化などが考えられてきた。しかし、昨今の情報漏えい事件では、計算機リソースの管理を任された外部委託業者の権限悪用によるものが少なくない。このような外部委託業者が情報を管理するために、データベースなどにアクセスする正当な権限を渡されるため、管理業務に不必要な情報まで閲覧可能となり、それが悪用されてしまう。これに対しては、従来のアクセスコントロールは無力であり、また、暗号化はストレージ暗号のように記録媒体からデータを取り出して、利用する際には復号化する運用のものである場合には、やはり管理者は正当な手続きのもと、復号されたデータを閲覧できるため無力である。
 外部委託者、あるいはその傍には復号鍵を置かず、社内の限られた正当なユーザのみが復号鍵を持っていて、利用時には手元に暗号文を引き戻して復号する運用も可能である。しかし、従来の暗号技術ではデータベースに保管した場合、暗号化状態では何も処理できず、例えば、基本的な操作である検索や、数値データの場合の集計等も諦めなければならない。これでは単なる暗号文保管庫でしかなく、データベース機能を無駄にしてしまう。
 そこで昨今、安全性の高い暗号化技術を用いながら、復号化することなく何等かの処理を可能にする技術の研究に注目が集まっている。例えば、復号化することなく平文の一致不一致が判定できる検索可能暗号の研究が盛んに行われている。これは、平文が文字列(氏名、住所など)の場合を対象としたもので、数値データに対する大小比較など、順序関係を判定することは難しい。 数値データの比較、特にある尺度の下で類似しているか否かなどの判定は、あらゆる分析はもとより、通常業務においても頻出する重要な演算機能である。その際、複数の項目からなる数値データをベクトルとみなした場合、多くの場合で「尺度」はベクトル空間の通常の距離(ユークリッド距離)、従ってベクトルの内積で表現される。よって、そのデータ(ベクトル)を秘匿したままである「尺度」に沿った類似性を判定する場合、例えば、非特許文献1に開示された技術を用いて、ベクトルを秘匿化したままで内積計算を実行する方式が必要である。
Kana Shimizu, "Privacy preserving search for chemical compound libraries", JSBi-55, CBI/JSBi2011(2011).
 非特許文献1では、準同型暗号を利用して秘匿化したままで内積計算することは可能である。しかし、準同型暗号の処理速度が遅いことにより、大量のデータを処理することは困難である。また、一方のベクトル(A)と、他方の大量のベクトル(B)との内積計算を考えた場合、ベクトル(B)がその内積計算結果を得ることができると、内積の性質から、ベクトル(B)はベクトル(A)を復元可能となり、秘匿性を保つことができない。従って、ベクトル(B)には内積値そのものは開示せず、内積値の暗号文を計算させる必要がある。
 しかし、ベクトル(B)が保有する大量のベクトル全てに対応した暗号文をベクトル(A)に送付する方式では、通信量の増大や、ベクトル(B)側のみならずベクトル(A)側の処理も膨大になるために非現実的である。従って、ベクトル(B)をある程度まで絞り込んだ上で、データの送受信や復号処理を行うことが必要となる。
 すなわち、ユーザが持つ数値データを秘匿しつつ、外部ストレージ等に保管された大量の数値データの中から類似したデータを検索して引き出す際、データの類似性を判定するために内積を用いることが多く、非特許文献1のような秘匿内積計算プロトコルが必要となる。しかし、大量のデータとの間で類似性を判定するためには、膨大な量の通信と、ユーザおよび外部装置側双方に膨大な計算処理が必要となるとともに効率が悪くなってしまうという問題があった。
 本発明は、上記に鑑みてなされたものであって、従来技術に比べて処理負荷をかけずに、秘匿性を維持しつつ、効率よくデータの類似性を判定することが可能な類似性秘匿検索システム、類似性秘匿検索方法を提供することを目的とする。
 上述した課題を解決し、目的を達成するために、本発明にかかる類似性秘匿検索システムは、検索要求にしたがって秘匿化されている検索対象データに類似する被検索対象データを検索する類似性秘匿検索システムであって、ユーザ端末は、質的データまたは量的データを含む前記検索対象データの入力を受け付ける入力部と、前記検索対象データに含まれる前記質的データを、一致不一致の判定が可能な暗号化方式で暗号化する暗号化処理部と、前記検索対象データに含まれる前記量的データと前記被検索対象データに含まれる前記量的データとに基づいて、両者が一定以上の類似性を有するための条件を算出する類似性判定処理部と、暗号化された前記質的データと前記条件とを、前記被検索対象データを検索するための類似検索サーバに送信する通信部と、を備え、前記類似検索サーバは、前記ユーザ端末から前記質的データと前記条件とを受信し、または前記検索対象データに類似すると判定された前記被検索対象データを前記ユーザ端末に送信するサーバ通信部と、前記ユーザ端末から受信した質的データと、あらかじめ記憶部に記憶された前記被検索対象データに含まれる質的データとに基づいて両者が類似しているか否かを判定し、両者が類似していると判定した場合、類似していると判定した前記被検索対象データの中から前記条件を満たす量的データを含む被検索対象データを前記検索対象データに類似するデータとして出力する類似性判定計算処理部と、を備えることを特徴とする類似性秘匿検索システムとして構成される。
 また、本発明は、上記類似性秘匿検索システムで行われる類似性秘匿検索方法としても把握される。
 本発明によれば、従来技術に比べて処理負荷をかけずに、秘匿性を維持しつつ、効率よくデータの類似性を判定することが可能となる。
本実施形態に係る類似性秘匿検索方式の構成例を示す図である。 第一実施形態に係るデータ保管・類似検索サーバの構成例を示す図である。 第一実施形態に係るユーザ端末の構成例を示す図である。 第一実施形態に係るデータの分類を表す表である。 第一実施形態に係る各ユーザの処理とデータ保管・類似検索サーバの処理を示すフローチャートである。 第一実施形態に係るユーザの類似性判定に用いるデータ生成手順を示すフローチャートである。 第二実施形態に係るユーザのデータ暗号化とその送付、データ保管・類似検索サーバによるデータ保管の手順を示すフローチャートである。 第二実施形態に係るユーザのデータ暗号化と判定条件生成とその送付、データ保管・類似検索サーバによる類似データの絞込み手順を示すフローチャートである。
 次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。なお、以下に示す実施形態において、同一の構成要素には原則として同一の符号を付け、繰り返しの説明は省略する。
 《システム構成》
 図1は、本発明にかかる類似性秘匿検索システム、および類似性秘匿検索方法を適用した類似性秘匿検索システム1000の構成例を示す図である。図1に示すように、類似性秘匿検索システム1000は、複数のユーザ端末300~500と、類似検索サーバ200とがネットワーク100を介して互いに接続された構成となっている。例えば、あるサービス提供形態では、類似検索サーバ200はクラウド事業者に設置され、一般的なコンピュータであるサーバ装置から構成される。また、クラウド事業者のサービスを利用するユーザが操作するユーザ端末300は、PCや携帯電話、スマートフォン等の一般的なコンピュータである情報処理装置から構成される。なお、図1では、本システムがユーザ端末300~500の3台を含む構成として記載されているが、その台数は任意である。
 《第一実施形態》
 次に、図2~図8を参照して、類似性秘匿検索システム1000の第一実施形態を説明する。
 (類似検索サーバ)
 図2は、第一実施形態に係る類似検索サーバ200の構成例を示す図である。図示するように、類似検索サーバ200は、データを処理する制御部210と、データを記憶する記憶部220と、情報の入力を受け付ける入力部201と、情報を出力する出力部202と、外部装置とのデータの送受信を行う通信部203とを備える。制御部210は、例えば、CPU(Central Processing Unit)等の演算装置から構成され、入力部210は、キーボード等の入力装置から構成され、出力部202は、LCD(Liquid Crystal Display)等の表示装置から構成され、通信部203は、NIC(Network Interface Controller)等の通信装置から構成される。 制御部210は、全体処理部211と、類似性判定計算処理部212と、を備える。
 全体処理部211は、類似検索サーバ200における処理を統括制御したり、入力部201を介して受け付けた情報を記憶部220に格納したり、ユーザ端末300~500との間で行われる情報の送受信を制御する。また、全体処理部211は、データを出力部202に表示する処理を行ったり、記憶部220に格納されているデータを読み込み、通信部203を介して、ユーザ端末300~500に送信する。
 類似性判定計算処理部212は、ユーザ端末300~500から受信した検索用データと、あらかじめ類似検索サーバ200内に記憶されている被検索対象データとの類似性を判定し、ある閾値以上となるデータを被検索対象データの中から抽出して出力する。具体的には、類似性判定計算処理部212は、検索用データに含まれる質的データを示す項目と、上記被検索対象データに含まれる質的データを示す項目との類似性を判定する。例えば、検索用データに含まれる質的データを示す項目と上記被検索対象データに含まれる質的データを示す項目が70%以上一致している場合、両者は類似していると判定する。この類似性の判定は、質的データを示す項目を暗号化するための暗号化鍵により暗号化されたまま行われる。
 さらに、類似性判定計算処理部212は、類似していると判定した被検索対象データを絞り込み、絞り込まれた被検索対象データに含まれる量的データを示す項目と、上記検索用データに含まれ量的データを暗号化するための暗号化鍵により暗号化された量的データを示す項目との内積値を計算し、絞り込まれた被検索対象データの中から、その内積値がある閾値以上となるデータを抽出する。例えば、検索用データに含まれる量的データを示す項目と上記絞り込まれた被検索対象データに含まれる量的データを示す項目との内積値が0.7以上となる場合、そのデータを絞り込まれた被検索対象データの中から抽出する。この類似性の判定は、量的データを暗号化するための暗号化鍵により暗号化されたまま行われる。抽出された上記データは、全体処理部211により、通信部203を介して検索結果データ3303として送信される。
 記憶部220のデータ記憶部230には、類似性判定計算処理部212が被検索対象データの中から抽出した上記データ231が格納されている。一時情報記憶部240は、制御部210が実行する処理で一時的に必要となる情報が格納される。類似検索サーバ200の各部が行う処理については、フローチャートを用いて後述する。
 (ユーザ端末)
 図3は、第一実施形態に係るユーザ端末300の構成例を示す図である。なお、各ユーザ端末の構成は同様の構成であるため、以下では、ユーザ端末300の構成例について示している。また、これらのユーザ端末は、暗号化を行わない場合には、暗号化処理部312と、復号化処理部313と、暗復号化鍵記憶部340、類似性判定処理部314、暗復号化鍵記憶部340等、暗復号化に必要な各部を備えなくてもよい。
 図示するように、ユーザ端末300は、データを処理する制御部310と、データを記憶する記憶部320と、情報の入力を受け付ける入力部301と、情報を出力する出力部302と、外部装置とのデータの送受信を行う通信部303とを備える。上記各部は、類似検索サーバ200と同様の機能を備えた装置から構成される。
 制御部310は、全体処理部311と、暗号化処理部312と、復号化処理部313と、類似性判定処理部314とを備える。
 全体処理部311は、ユーザ端末300における処理を統括制御したり、入力部301を介して、受け付けた情報を記憶部320に格納したり、類似検索サーバ200との間で行われる情報の送受信を制御する。また、全体処理部311は、データを出力部303に表示する処理を行ったり、記憶部320に格納されているデータを読み込み、それぞれ、暗号化処理部312にデータの暗号化をさせたり、復号化処理部313に暗号化データの復号化をさせる。また、全体処理部311は、入力部301が受け付けた情報に基づいて、あらかじめユーザにより選定された検索対象データに類似するデータを被検索対象データの中から検索するための検索用データとして生成する。この検索用データが暗号化前データ3301となる。また、全体処理部311は、暗号化処理部312により暗号化前データ3301が暗号化された後の暗号化後データ3302を、通信部303を介して、類似検索サーバ200に送信する。
 暗号化処理部312は、上記暗号化前データ3301のうち、質的データを示す項目を暗号化するための暗号化鍵341により質的データを示す項目を暗号化し、暗号化後データ3302を生成する。また、暗号化処理部312は、類似性判定処理部314により求められた、量的データを示す項目をベクトル化した対象ベクトルと被検索対象データに含まれる量的データを示す項目をベクトル化した被対象ベクトルとの内積値が一定値以上であると判定するための閾値を満たす対象ベクトルを構成する基底ベクトルの組とを、量的データを示す項目を暗号化するための暗号化鍵341により暗号化する。この閾値を満たすことが、両者が一定以上の類似性を有するための条件となる。
 復号化処理部313は、類似検索サーバ200から受信した検索結果データ3303の質的データを示す項目および量的データを示す項目を、復号化鍵342により復号化し、復号化データ3304を生成する。
 類似性判定処理部314は、上記閾値を満たす対象ベクトルを構成する基底ベクトルの組を求めるための処理である線形分解処理を実行し、基底ベクトルの組と、上記基底ベクトルの係数であるスカラー値の組とを出力する。
 記憶部320は、データ記憶部330と、暗復号化鍵記憶部340と、一時情報記憶部350とを有している。データ記憶部330は、上記暗号化前データ3301と、上記暗号化後データ3302と、類似検索サーバ200によって検索された暗号化前データ3301に類似するデータである検索結果データ3303と、検索結果データ3303が復号化鍵342により復号化された復号化データ3304とを記憶する。
 また、暗復号化鍵記憶部340は、暗号化前データ3301を暗号化するための暗号化鍵と、検索結果データ3303を復号化するための復号化鍵342とを記憶する。暗号化鍵は、質的データを暗号化するための暗号化鍵と、量的データを暗号化するための暗号化鍵とを記憶してもよいし、同じ暗号化鍵を記憶してもよい。復号化鍵についても暗号化鍵と同様、質的データおよび量的データごとに記憶してもよいし、同じ復号化鍵を記憶してもよい。なお、一時情報記憶部350には、類似検索サーバ200の場合と同様に、制御部310が実行する処理で一時的に必要となる情報が格納される。
 以下では、ユーザ端末300~500は、類似検索サーバ200に対して、あらかじめ上記被検索対象データを送信し、類似検索サーバ200は、データ記憶部230に、その被検索対象データをデータ231として記憶しているものとする。また、第一実施形態ではデータ231は、質的データは平文または暗号文として、量的データは平文として記録されている前提で説明する。
 (データの分類)
 図4は、ユーザ端末300が被検索対象データの中から検索する検索対象データを分類した表である。本システムで取り扱う検索対象データには、質的データを示す項目と量的データを示す項目とが含まれるため、以下、両者の分類について説明する。質的データとは、例えば、性別、住所、職種等、分類や種類を区別するためだけのデータであって、数値で演算できないデータである。また、量的データとは、例えば、病院での検査結果の数値データ、枚数、金額等、数値の大小に意味があり、数値で演算可能なデータである。
 本システムでは、図4に示すように、検索対象データに含まれる質的データを示す項目および量的データを示す項目のいずれの場合も、これらのデータが他者(例えば、治療を受ける患者や家族以外の者)に開示可能である場合には、暗号化せずにそのまま被検索対象データを絞り込むための検索用データとして利用する(S401、S402)。
 一方、これらのデータが他者に開示可能でない場合、質的データを示す項目については、両者の一致不一致の判定が可能な暗号化方式を用いて暗号化し、検索用データとして利用する(S403)。このような暗号化方式としては、例えば、検索可能暗号技術(特許第5412414号)を用いることができる。量的データを示す項目については、秘匿したまま両者の類似性を判定することが可能な暗号化方式を用いて暗号化し、検索用データとして利用する(S404)。このような暗号化方式としては、例えば、従来から知られている様々な準同型暗号技術を用いることができる。 なお、検索用データに含まれる各項目が開示可能であるか否かは、例えば、患者やその家族の同意が得られない場合、研究のためにそれ自体秘匿性が高い場合等の開示基準により判定することができる。
 (絞込み例)
 図5は、ユーザ端末300が、検索対象データにより、あらかじめ記憶されている被検索対象データの中から類似するデータを検索し、類似検索サーバ200が絞込みを行う処理の処理手順を示すフローチャートである。以下では、検索対象データを用いて被検索対象データの中から類似するデータを絞り込んで検索する例として、ある患者の検査データを検索対象データとし、その患者に類似する患者の検査データを被検索対象データとしている。また、検査対象データおよび被検索対象データは、1または複数の質的データを示す項目(例えば、患者の氏名、住所、性別、病名等)と、1または複数の量的データを示す項目(例えば、患者の年齢、検査値等)とを含んでいる。
 まず、ユーザ端末300では、全体処理部311は、検索対象データの中から質的データや量的データを示す項目を抽出して上記検索用データを生成し、生成した検索用データを暗号化前データ3301として記憶する(S501)。このとき、抽出した項目を暗号化する必要がない場合にはS505に進む。
 続いて、暗号化処理部312は、暗号化前データ3301のうち、上記暗号化鍵341により質的データを示す項目を暗号化し、暗号化後データ3302を生成する(S502)。このとき、検索用データに量的データを示す項目が含まれない場合にはS505に進む。
 続いて、類似性判定処理部314は、上記線形分解処理を実行し、基底ベクトルの組と、基底ベクトルの係数であるスカラー値の組とを出力する(S503)。線形分解処理の具体的な処理については図6を用いて後述する。
 暗号化処理部312は、上記線形分解処理を実行して出力された基底ベクトルの組およびスカラー値の組を、暗号化鍵341により暗号化する(S504)。
 全体処理部311は、上記S501~S504で生成されたデータを、類似検索サーバ200に送信する(S505)。なお、上記S501~S504の各ステップは、必ずしもすべて実行される必要はなく、検索用データが平文のみである場合、質的データを示す項目のみを含む場合、量的データを示す項目のみを含む場合には、上述したように取捨選択して実行することができる。また、S502、S503はどちらが先に処理されてもよい。
 類似検索サーバ200では、類似性判定計算処理部212が、ユーザ端末300から受信した上記データをキーとして被検索対象データを絞り込む(S506)。例えば、ユーザ端末300から受信した上記データが質的データを示す項目を含む場合には、その項目と、上記被検索対象データに含まれる質的データを示す項目とが70%以上一致している場合には両者は類似していると判定し、被検索対象データを絞り込む。上記絞り込みにおいては、例えば、文字列データであれば完全一致や部分一致、あるいは類義語などにより絞込みを行う。この場合、あらかじめ類似検索サーバ200に類義語を検索するための辞書を記憶しておき、その辞書と上記データとの一致度、およびその辞書と上記被検索対象データとの一致度が同程度の場合に、両者が類似すると判定してもよい。
 類似性判定計算処理部212は、S506で絞り込んだ被検索対象データに含まれる量的データを示す項目と、上記データに含まれる量的データを示す項目との内積値を計算し、絞り込まれた被検索対象データの中から、その内積値がある閾値以上となるデータを抽出する(S507)。例えば、両者の内積値が閾値0.7以上となる全てのデータを、絞り込まれた被検索対象データの中から抽出する。
 そして、全体処理部211は、上記抽出したデータを、通信部203を介して検索結果データ3303として送信する(S508)。
 ユーザ端末300の復号化処理部313は、類似検索サーバ200から受信した検索結果データ3303の質的データを示す項目および量的データを示す項目を、復号化鍵342により復号化し、復号化データ3304を生成する(S509)。その後、ユーザ端末300の全体制御部311は、生成された復号化データ3304を出力部302に出力し、ユーザによりその結果が評価される(S510)。
 (線形分解処理)
 図6は、図5に示したS503における線形分解処理の処理手順を示すフローチャートである。ユーザ端末300では、秘匿したい量的データ(S404)としてベクトルXを有している。ユーザ端末300の類似性判定処理部314は、まず、自然数mとtとを決定し(S601)、ベクトルXを構成する、m個の基底ベクトルによるt種類の線形分解をランダムに生成する(S602)。ここでいくつかのスカラーaijは0でもよい。
 続いて、類似性判定処理部314は、上記ベクトルXとの内積値が満たすべき閾値から導かれる各ベクトルXを構成する基底ベクトルGijとスカラー値、すなわち上記閾値を満たす内積値の条件を算出する(S603)。
 類似性判定処理部314は、S602で生成したベクトルの集合{Gij}と、S603で導かれたスカラー値とを、図5に示したS503で出力するデータとするとともに、各スカラー値{aij}は、他者に開示することなく秘密の状態で暗復号化鍵記憶部340に記憶する(S604)。S604の処理が終了すると、線形分解処理が終了する。
 (第一実施形態のまとめ)
 第一実施形態によれば、類似性判定するデータに含まれる質的データと、類似性判定されるデータに含まれる質的データとを暗号化したまま類似性判定し、所定の閾値以上のデータを抽出し、さらに、抽出されたデータに含まれる量的データと、類似性判定するデータに含まれる量的データとの内積値が所定の閾値以上のデータを絞り込み、その結果をクライアントに返す。したがって、ユーザ(複数でも可)が平文のままあるいは暗号化したデータを類似検索サーバに預託し、あるユーザ(ユーザ端末300)が自身の持つデータのうち一部を開示、残りを秘匿したまま効率的に類似検索することができる。すなわち、クラウドなど第三者に預託されている大量データに対し、ユーザ自身の持つデータを秘匿しつつ、効率的に類似のデータを検索することが可能になる。
 また、平文で開示可能な部分はそのまま従来の類似性判定を実施して絞込みを行い、また開示不可な部分は、質的データに対しては暗号化したまま一致不一致判定できる暗号方式を適用して絞込みを行い、また量的データに対しては類似性判定に必要な付加的データを送付することで絞込みを実施する。第一実施形態ではその付加的データとして、秘匿したいデータのランダムな線形分割を利用した方法を記述したが、他の手法を用いてもよい。
 《第二実施形態》
 次に、図7と図8を参照して、類似性秘匿検索システム1000の第二実施形態を説明する。
 第二実施形態では、第一実施形態に対し、ユーザ端末300(ユーザ端末400、500を含んでもよい。以下同じ。)が、事前に預託するデータのうち秘匿したい量的データ部分の暗号化の手順と、類似検索対象のデータであるベクトルXを暗号化して送付し、類似検索サーバ200が類似検索処理を実行する手順を加えたものである。
 ユーザ端末300は、類似性判定処理部314が、類似検索サーバ200に預託する複数の量的データに対し、直交変換Tをランダムに生成し(S701)、スカラーrをランダムに生成し(S702)、さらにベクトルWをランダムに生成する(S703)。これらの生成の順番は入れ替えてもよい。またWは0ベクトルでもよい。
 次に、類似性判定処理部314は、預託対象となる検索対象データの秘匿したい量的データ部分{Yi}をベクトルとみなし、そのベクトルに対してアフィン変換Y’i=rTYi+Wを施し、{Y’i}を他のデータをともに預託するため、これらのデータを類似検索サーバ200に送信する(S705)。類似検索サーバ200の類似性判定計算処理部212は、ユーザ端末300から受信した上記データを記憶部220に記憶する(S706)。
 そして、ユーザ端末300が類似検索される被検索対象データの秘匿したい量的データを秘匿化してベクトルXとする場合、第二実施形態では、まず、ユーザ端末300の類似性判定処理部314は、スカラーsをランダムに生成し(S801)、直交変換およびアフィン変換を施してX’=sTXを計算し(S802)、ベクトルXとの内積値が満たすべき閾値から導かれる各Y’iとスカラー値、すなわち上記閾値を満たす内積値の条件を算出する(S803)。ユーザ端末300は上記X’とS803で求めた条件を類似検索サーバ200に送信する(S804)。すなわち、ユーザ端末300の類似性判定処理部314は、検索対象データに含まれる量的データをベクトルとみなして当該ベクトルに対して、S802のように直交変換およびアフィン変換し、これらの変換後のベクトルと、検索対象データと被検索対象データとが類似していると判定するために変換後のベクトルが満たすべき内積値を条件として算出する。
 そして、後述するように、類似検索サーバ200の類似性判定計算処理部212は、質的データに基づいて類似していると判定した被検索対象データのうち上記内積値を満たす量的データを含む被検索対象データを前記データとして出力する。
 類似検索サーバ200の類似性判定計算処理部212は、記録されている{Y’i}とX’との内積を計算し、S803で算出された条件に合致するものを抽出して被検索対象データを絞込み、そのリストを生成する(S805)。その後、類似性判定計算処理部212は、図5に示したS507以降の処理と同様の処理を実行し、抽出したデータを送信する(S806、図5のS507、S508)。
 (第二実施形態のまとめ)
 第二実施形態によれば、ユーザは量的データのうち秘匿したい部分についても事前の暗号化預託と、秘匿化したままでの絞込み手順を実施することで、絞込みを実施可能で、効率的な類似検索が可能となる。
100:ネットワーク
200:類似検索サーバ
201:入力部
202:出力部
203:通信部
210:制御部
211:全体処理部
212:類似性判定計算処理部
220:記憶部
230:データ記憶部
231:データ
240:一時情報記憶部
300、400、500:ユーザ端末
301:入力部
302:出力部
303:通信部
310:制御部
311:全体処理部
312:暗号化処理部
313:復号化処理部
314:類似性判定処理部
320:記憶部
330:データ記憶部
340:暗復号化鍵記憶部
341:暗号化鍵
342:復号化鍵
350:一時情報記憶部。

Claims (8)

  1.  検索要求にしたがって秘匿化されている検索対象データに類似する被検索対象データを検索する類似性秘匿検索システムであって、
     ユーザ端末は、
     質的データまたは量的データを含む前記検索対象データの入力を受け付ける入力部と、
     前記検索対象データに含まれる前記質的データを、一致不一致の判定が可能な暗号化方式で暗号化する暗号化処理部と、
     前記検索対象データに含まれる前記量的データと前記被検索対象データに含まれる前記量的データとに基づいて、両者が一定以上の類似性を有するための条件を算出する類似性判定処理部と、
     暗号化された前記質的データと前記条件とを、前記被検索対象データを検索するための類似検索サーバに送信する通信部と、を備え、
     前記類似検索サーバは、
     前記ユーザ端末から前記質的データと前記条件とを受信し、または前記検索対象データに類似すると判定された前記被検索対象データを前記ユーザ端末に送信するサーバ通信部と、
     前記ユーザ端末から受信した質的データと、あらかじめ記憶部に記憶された前記被検索対象データに含まれる質的データとに基づいて両者が類似しているか否かを判定し、両者が類似していると判定した場合、類似していると判定した前記被検索対象データの中から前記条件を満たす量的データを含む被検索対象データを前記検索対象データに類似するデータとして出力する類似性判定計算処理部と、
     を備えることを特徴とする類似性秘匿検索システム。
  2.  請求項1に記載の類似性秘匿検索システムであって、
     前記ユーザ端末の前記類似性判定処理部は、前記量的データをベクトルとみなして当該ベクトルを構成する1または複数の基底ベクトルとスカラー値との組を生成し、生成した前記基底ベクトルと、前記検索対象データと前記被検索対象データとが類似していると判定するために前記基底ベクトルが満たすべき内積値を前記条件として算出し、
     前記類似検索サーバの前記類似性判定計算処理部は、質的データに基づいて類似していると判定した前記被検索対象データのうち前記内積値を満たす前記量的データを含む被検索対象データを前記データとして出力する、
     ことを特徴とする類似性秘匿検索システム。
  3.  請求項2に記載の類似性秘匿検索システムであって、
     前記ユーザ端末の前記類似性判定処理部は、前記検索対象データに含まれる前記量的データをベクトルとみなして当該ベクトルに対して直交変換およびアフィン変換し、前記各変換後のベクトルと、前記検索対象データと前記被検索対象データとが類似していると判定するために前記変換後のベクトルが満たすべき内積値を前記条件として算出し、
     前記類似検索サーバの前記類似性判定計算処理部は、質的データに基づいて類似していると判定した前記被検索対象データのうち前記内積値を満たす前記量的データを含む被検索対象データを前記データとして出力する、
     ことを特徴とする類似性秘匿検索システム。
  4.  請求項1に記載の類似性秘匿検索システムであって、
     前記入力部は、秘匿化されていない平文を含む前記質的データまたは前記量的データの入力を受け付け、
     前記暗号化処理部は、前記質的データが前記平文である場合には処理を実行せず、
     前記類似性判定処理部は、前記検索対象データに含まれる前記平文の前記量的データと前記被検索対象データに含まれる前記量的データとに基づいて、両者が一定以上の類似性を有するための条件を算出する、
     ことを特徴とする類似性秘匿検索システム。
  5.  検索要求にしたがって秘匿化されている検索対象データに類似する被検索対象データを検索する類似性秘匿検索方法であって、
     ユーザ端末から質的データまたは量的データを含む前記検索対象データの入力を受け付ける入力ステップと、
     前記検索対象データに含まれる前記質的データを、一致不一致の判定が可能な暗号化方式で暗号化する暗号化処理ステップと、
     前記検索対象データに含まれる前記量的データと前記被検索対象データに含まれる前記量的データとに基づいて、両者が一定以上の類似性を有するための条件を算出する類似性判定処理ステップと、
     暗号化された前記質的データと前記条件とを、前記被検索対象データを検索するための類似検索サーバに送信する送信ステップと、
     前記ユーザ端末から前記質的データと前記条件とを受信する受信ステップと、
     前記ユーザ端末から受信した質的データと、あらかじめ記憶部に記憶された前記被検索対象データに含まれる質的データとに基づいて両者が類似しているか否かを判定する判定ステップと、
     両者が類似していると判定した場合、類似していると判定した前記被検索対象データの中から前記条件を満たす量的データを含む被検索対象データを前記検索対象データに類似するデータとして出力する類似性判定計算処理ステップと、
     前記検索対象データに類似すると判定された前記被検索対象データを前記ユーザ端末に送信するサーバ送信ステップと、
     を含むことを特徴とする類似性秘匿検索方法。
  6.  請求項5に記載の類似性秘匿検索方法であって、
     前記類似性判定処理ステップでは、前記量的データをベクトルとみなして当該ベクトルを構成する1または複数の基底ベクトルとスカラー値との組を生成し、生成した前記基底ベクトルと、前記検索対象データと前記被検索対象データとが類似していると判定するために前記基底ベクトルが満たすべき内積値を前記条件として算出し、
     前記類似性判定計算処理ステップでは、質的データに基づいて類似していると判定した前記被検索対象データのうち前記内積値を満たす前記量的データを含む被検索対象データを前記データとして出力する、
     ことを特徴とする類似性秘匿検索方法。
  7.  請求項6に記載の類似性秘匿検索方法であって、
     前記類似性判定処理ステップでは、前記検索対象データに含まれる前記量的データをベクトルとみなして当該ベクトルに対して直交変換およびアフィン変換し、前記各変換後のベクトルと、前記検索対象データと前記被検索対象データとが類似していると判定するために前記変換後のベクトルが満たすべき内積値を前記条件として算出し、
     前記類似性判定計算処理ステップでは、質的データに基づいて類似していると判定した前記被検索対象データのうち前記内積値を満たす前記量的データを含む被検索対象データを前記データとして出力する、
     ことを特徴とする類似性秘匿検索方法。
  8.  請求項5に記載の類似性秘匿検索方法であって、
     前記入力ステップでは、秘匿化されていない平文を含む前記質的データまたは前記量的データの入力を受け付け、
     前記暗号化処理ステップでは、前記質的データが前記平文である場合には処理を実行せず、
     前記類似性判定処理ステップでは、前記検索対象データに含まれる前記平文の前記量的データと前記被検索対象データに含まれる前記量的データとに基づいて、両者が一定以上の類似性を有するための条件を算出する、
     ことを特徴とする類似性秘匿検索方法。
PCT/JP2015/067362 2015-06-16 2015-06-16 類似性秘匿検索システム、類似性秘匿検索方法 WO2016203555A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2015/067362 WO2016203555A1 (ja) 2015-06-16 2015-06-16 類似性秘匿検索システム、類似性秘匿検索方法
JP2017524187A JP6557338B2 (ja) 2015-06-16 2015-06-16 類似性秘匿検索システム、類似性秘匿検索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/067362 WO2016203555A1 (ja) 2015-06-16 2015-06-16 類似性秘匿検索システム、類似性秘匿検索方法

Publications (1)

Publication Number Publication Date
WO2016203555A1 true WO2016203555A1 (ja) 2016-12-22

Family

ID=57545649

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/067362 WO2016203555A1 (ja) 2015-06-16 2015-06-16 類似性秘匿検索システム、類似性秘匿検索方法

Country Status (2)

Country Link
JP (1) JP6557338B2 (ja)
WO (1) WO2016203555A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112232367A (zh) * 2020-09-10 2021-01-15 山东师范大学 一种网络行为相似性判断方法及系统
CN114638002A (zh) * 2022-03-21 2022-06-17 华南理工大学 支持相似性检索的压缩图像加密方法
WO2022201234A1 (ja) * 2021-03-22 2022-09-29 日本電信電話株式会社 秘密検索方法、秘密検索システム、秘密検索装置、暗号化装置、検索者端末、およびプログラム
WO2022201235A1 (ja) * 2021-03-22 2022-09-29 日本電信電話株式会社 秘密検索方法、秘密検索システム、秘密検索装置、暗号化装置、検索者端末、およびプログラム
WO2023008045A1 (ja) * 2021-07-29 2023-02-02 株式会社日立製作所 情報処理システム及び情報処理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050120233A1 (en) * 2003-11-13 2005-06-02 International Business Machines Corporation Method and apparatus for conducting a confidential search
WO2011086687A1 (ja) * 2010-01-15 2011-07-21 三菱電機株式会社 秘匿検索システム及び暗号処理システム
WO2013038698A1 (ja) * 2011-09-14 2013-03-21 独立行政法人産業技術総合研究所 検索システム、検索方法、およびプログラム
JP2013105207A (ja) * 2011-11-10 2013-05-30 Fujitsu Ltd 秘匿化データの検索のための情報処理方法及び装置
JP2013145420A (ja) * 2012-01-13 2013-07-25 Hitachi Ltd 暗号化データの高速な類似検索処理システム
WO2013190810A1 (ja) * 2012-06-18 2013-12-27 日本電気株式会社 情報処理装置、及び、情報匿名化方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009271584A (ja) * 2008-04-30 2009-11-19 Tokyo Metropolitan Univ 類似情報検索システムおよび類似情報検索プログラム
US9602278B2 (en) * 2011-07-05 2017-03-21 Nec Corporation Encryption device, cipher-text comparison system, cipher-text comparison method, and cipher-text comparison program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050120233A1 (en) * 2003-11-13 2005-06-02 International Business Machines Corporation Method and apparatus for conducting a confidential search
WO2011086687A1 (ja) * 2010-01-15 2011-07-21 三菱電機株式会社 秘匿検索システム及び暗号処理システム
WO2013038698A1 (ja) * 2011-09-14 2013-03-21 独立行政法人産業技術総合研究所 検索システム、検索方法、およびプログラム
JP2013105207A (ja) * 2011-11-10 2013-05-30 Fujitsu Ltd 秘匿化データの検索のための情報処理方法及び装置
JP2013145420A (ja) * 2012-01-13 2013-07-25 Hitachi Ltd 暗号化データの高速な類似検索処理システム
WO2013190810A1 (ja) * 2012-06-18 2013-12-27 日本電気株式会社 情報処理装置、及び、情報匿名化方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112232367A (zh) * 2020-09-10 2021-01-15 山东师范大学 一种网络行为相似性判断方法及系统
CN112232367B (zh) * 2020-09-10 2022-06-21 山东师范大学 一种网络行为相似性判断方法及系统
WO2022201234A1 (ja) * 2021-03-22 2022-09-29 日本電信電話株式会社 秘密検索方法、秘密検索システム、秘密検索装置、暗号化装置、検索者端末、およびプログラム
WO2022201235A1 (ja) * 2021-03-22 2022-09-29 日本電信電話株式会社 秘密検索方法、秘密検索システム、秘密検索装置、暗号化装置、検索者端末、およびプログラム
WO2023008045A1 (ja) * 2021-07-29 2023-02-02 株式会社日立製作所 情報処理システム及び情報処理方法
CN114638002A (zh) * 2022-03-21 2022-06-17 华南理工大学 支持相似性检索的压缩图像加密方法
CN114638002B (zh) * 2022-03-21 2023-04-28 华南理工大学 支持相似性检索的压缩图像加密方法

Also Published As

Publication number Publication date
JPWO2016203555A1 (ja) 2018-02-15
JP6557338B2 (ja) 2019-08-07

Similar Documents

Publication Publication Date Title
CN107547525B (zh) 一种大数据查询处理的隐私保护方法
US11003681B2 (en) Anonymization system
JP6557338B2 (ja) 類似性秘匿検索システム、類似性秘匿検索方法
CN110326253A (zh) 用于对加密数据进行模糊关键字搜索的方法和系统
EP2709306B1 (en) Method and system to perform secure boolean search over encrypted documents
KR100903599B1 (ko) 내적을 이용한 암호화된 데이터 검색 방법 및 이를 위한단말 장치와 서버
EP2624498B1 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
WO2015155896A1 (ja) サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法
Buyrukbilen et al. Secure similar document detection with simhash
JP2014002365A (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
CN112042150B (zh) 登记装置、服务器装置、隐匿检索系统、隐匿检索方法及计算机可读取的记录介质
EP3511845B1 (en) Encrypted message search method, message transmission/reception system, server, terminal and programme
JP2022151535A (ja) データ共有システム、データ共有方法、およびデータ共有プログラム
Rane et al. Multi-user multi-keyword privacy preserving ranked based search over encrypted cloud data
US10594473B2 (en) Terminal device, database server, and calculation system
Wang et al. PeGraph: A system for privacy-preserving and efficient search over encrypted social graphs
JP2013150026A (ja) データ処理システム及び秘匿化装置及び秘密鍵生成装置及び秘匿化方法及び秘密鍵生成方法及びプログラム
JP2020086116A (ja) 情報処理装置および情報処理方法
CN109255248A (zh) 一种基于加解密算法的全文检索方法
CN113779597B (zh) 加密文档的存储和相似检索方法、装置、设备及介质
US20220309178A1 (en) Private searchable database
CN107707528A (zh) 一种用户信息隔离的方法和装置
Guo et al. A privacy preserving Markov model for sequence classification
Jin et al. Privacy-preserving mining of association rules for horizontally distributed databases based on FP-tree
CN112214771A (zh) 基于大数据的信息分析方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15895576

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017524187

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15895576

Country of ref document: EP

Kind code of ref document: A1