JP6742852B2 - Search method, search system and program - Google Patents

Search method, search system and program Download PDF

Info

Publication number
JP6742852B2
JP6742852B2 JP2016154076A JP2016154076A JP6742852B2 JP 6742852 B2 JP6742852 B2 JP 6742852B2 JP 2016154076 A JP2016154076 A JP 2016154076A JP 2016154076 A JP2016154076 A JP 2016154076A JP 6742852 B2 JP6742852 B2 JP 6742852B2
Authority
JP
Japan
Prior art keywords
conversion
feature amount
encrypted
encryption
feature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016154076A
Other languages
Japanese (ja)
Other versions
JP2017111793A (en
Inventor
勇二 海上
勇二 海上
松崎 なつめ
なつめ 松崎
翔太 山田
翔太 山田
アッタラパドゥン ナッタポン
アッタラパドゥン ナッタポン
隆宏 松田
隆宏 松田
花岡 悟一郎
悟一郎 花岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to US15/366,129 priority Critical patent/US10303893B2/en
Priority to EP16201667.9A priority patent/EP3182640B1/en
Publication of JP2017111793A publication Critical patent/JP2017111793A/en
Application granted granted Critical
Publication of JP6742852B2 publication Critical patent/JP6742852B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、暗号化により内容を秘匿して類似検索を行う検索方法及び検索システムに関する。 The present invention relates to a search method and a search system for concealing contents by encryption and performing a similar search.

近年、例えばユーザが家庭で血圧等の測定を行ってユーザ端末から測定結果の情報をサーバに送信すると、サーバで分析を行うことにより食生活等に関してユーザにアドバイスを行うシステムがある。この分析においては、そのユーザ本人の過去の情報のみならず、類似した他の症例を参考にすることにより、そのユーザに有用なアドバイスを行うことができる。サーバにおける類似症例の検索(類似検索)においては、プライバシー保護の観点により、そのユーザの情報等は、暗号化して秘匿することが望ましい。特許文献1には、加法準同型暗号を用いて、暗号化したまま被認証データ及び認証データを照合することでこれらのデータをサーバに対して秘匿する照合システムの技術が開示されている。 In recent years, for example, when a user measures blood pressure and the like at home and sends information on the measurement result from a user terminal to a server, there is a system that advises the user regarding eating habits and the like by performing analysis on the server. In this analysis, it is possible to give useful advice to the user by referring to not only the past information of the user himself but also other similar cases. In the search for similar cases in the server (similarity search), it is desirable to encrypt and conceal the user information and the like from the viewpoint of privacy protection. Patent Literature 1 discloses a technique of a collation system that uses additive homomorphic encryption to collate the data to be authenticated and the authentication data while they are encrypted to conceal these data from the server.

国際公開第2014/185450号International Publication No. 2014/185450

Allison Bishop、外2名、「Function-Hiding Inner Product Encryption」、「Advances in Cryptology - ASIACRYPT 2015」、Springer Berlin Heidelberg、(URL:https://eprint.iacr.org/2015/672.pdf)Allison Bishop, 2 people outside, "Function-Hiding Inner Product Encryption", "Advances in Cryptology-ASIACRYPT 2015", Springer Berlin Heidelberg, (URL: https://eprint.iacr.org/2015/672.pdf) Emily Shen、外2名、「Predicate Privacy in Encryption Systems」、「Theory of Cryptography」、Springer Berlin Heidelberg、(URL:https://eprint.iacr.org/2008/536.pdf)Emily Shen, 2 others, "Predicate Privacy in Encryption Systems", "Theory of Cryptography", Springer Berlin Heidelberg, (URL: https://eprint.iacr.org/2008/536.pdf)

しかし、従来の類似検索では、ユーザ端末からサーバにユーザの情報を暗号化して送信して、暗号化したままサーバで検索した結果としての参照情報をユーザ端末側で照合する必要があり、参照情報が多くなるとユーザ端末への処理負荷及び通信量が増大してしまう。 However, in the conventional similarity search, it is necessary to encrypt and transmit the user information from the user terminal to the server, and to collate the reference information as a result of the search on the server with the encrypted information on the user terminal side. As the number increases, the processing load on the user terminal and the communication amount increase.

そこで、本発明は、サーバにおいてユーザの情報を秘匿して検索を行う上でユーザ端末の処理負荷を抑制し通信量を抑制し得る検索方法を提供する。また、本発明は、検索においてユーザ端末の処理負荷を抑制し通信量を抑制し得る検索システム、及び、検索システムで用いられるコンピュータプログラムを提供する。 Therefore, the present invention provides a search method capable of suppressing the processing load of the user terminal and suppressing the communication amount when the user information is concealed and searched in the server. Further, the present invention provides a search system capable of suppressing the processing load of the user terminal and suppressing the communication amount in the search, and a computer program used in the search system.

上記課題を解決するために本発明の一態様に係る検索方法は、第1装置におけるデータの検索のための検索方法であって、ユーザのプライバシーデータから抽出された複数の成分を含むベクトルで表される特徴量に対する第1変換の結果としての第1変換特徴量に所定暗号化を施して得られる暗号化第1変換特徴量を第2装置から受信し、複数の参照特徴量のそれぞれが複数の参照データのいずれかと対応して前記特徴量と同数の成分を含むベクトルで表される当該複数の参照特徴量のそれぞれについて、当該参照特徴量に対する第2変換の結果としての第2変換特徴量に前記所定暗号化を施して得られる暗号化第2変換特徴量を取得し、前記取得した複数の暗号化第2変換特徴量のそれぞれについて当該暗号化第2変換特徴量と前記暗号化第1変換特徴量とを用いた内積演算を行い、当該内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量のそれぞれと対応関係を有する1つ以上の前記参照データを示す情報を前記第2装置へ送信し、前記第1変換、前記第2変換及び前記所定暗号化は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離に関連する値となるように、定められている。 In order to solve the above problems, a search method according to an aspect of the present invention is a search method for searching data in a first device, and is represented by a vector including a plurality of components extracted from user privacy data. The encrypted first converted feature amount obtained by performing the predetermined encryption on the first converted feature amount as the result of the first conversion for the feature amount to be received is received from the second device, and each of the plurality of reference feature amounts is plural. Corresponding to any of the reference data, the second conversion feature amount as a result of the second conversion for the reference feature amount for each of the plurality of reference feature amounts represented by a vector including the same number of components as the feature amount. The encrypted second conversion feature amount obtained by performing the predetermined encryption on the encrypted second conversion feature amount and the encryption first conversion feature amount for each of the obtained plurality of encrypted second conversion feature amounts. Information indicating one or more pieces of the reference data having a corresponding relationship with each of the one or more encrypted second conversion feature quantities, the result of the inner product operation being performed using the transform feature quantity To the second device, and the first conversion, the second conversion, and the predetermined encryption are inner product operations of the encrypted first conversion feature amount and the acquired one encrypted second conversion feature amount. Is determined as a value related to the Euclidean distance between the feature quantity corresponding to the encrypted first conversion feature quantity and the reference feature quantity corresponding to the one encrypted second conversion feature quantity. ing.

また、上記課題を解決するために本発明の一態様に係る検索システムは、相互に通信可能な第1装置及び第2装置を備える検索システムであって、前記第2装置は、ユーザについて測定を行い、当該測定結果としてのプライバシーデータから抽出された複数の成分を含むベクトルで表される特徴量に対する第1変換の結果としての第1変換特徴量に所定暗号化を施して得られる暗号化第1変換特徴量を前記第1装置へ送信し、前記第1装置は、前記暗号化第1変換特徴量を前記第2装置から受信し、複数の参照特徴量のそれぞれが複数の参照データのいずれかと対応して前記特徴量と同数の成分を含むベクトルで表される当該複数の参照特徴量のそれぞれについて、当該参照特徴量に対する第2変換の結果としての第2変換特徴量に前記所定暗号化を施して得られる暗号化第2変換特徴量を取得し、前記取得した複数の暗号化第2変換特徴量のそれぞれについて当該暗号化第2変換特徴量と前記暗号化第1変換特徴量とを用いた内積演算を行い、当該内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量のそれぞれと対応関係を有する1つ以上の前記参照データを示す情報を前記第2装置へ送信し、前記第2装置は、前記参照データを示す前記情報を受信して前記参照データを提示し、前記第1変換、前記第2変換及び前記所定暗号化は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離に関連する値となるように、定められている。 Further, in order to solve the above problems, a search system according to an aspect of the present invention is a search system including a first device and a second device that can communicate with each other, and the second device measures a user. An encryption obtained by performing a predetermined encryption on the first conversion feature amount as a result of the first conversion with respect to the feature amount represented by a vector including a plurality of components extracted from the privacy data as the measurement result. 1 conversion feature amount is transmitted to the first device, the first device receives the encrypted first conversion feature amount from the second device, and each of the plurality of reference feature amounts is one of a plurality of reference data. Correspondingly, for each of the plurality of reference feature amounts represented by a vector including the same number of components as the feature amount, the predetermined encryption is performed on the second converted feature amount as a result of the second conversion for the reference feature amount. To obtain the encrypted second conversion feature quantity, and obtain the encrypted second conversion feature quantity and the encrypted first conversion feature quantity for each of the acquired plurality of encrypted second conversion feature quantities. The inner device operation is performed, and the information indicating the one or more reference data having a corresponding relationship with each of the one or more encrypted second conversion feature amounts whose result of the inner product operation satisfies a certain condition is used as the second device. To the second device, the second device receives the information indicating the reference data, presents the reference data, and the first conversion, the second conversion, and the predetermined encryption are the encryption first conversion. The result of the inner product operation of the feature amount and the acquired one encrypted second conversion feature amount corresponds to the feature amount corresponding to the encrypted first conversion feature amount and the one encrypted second conversion feature amount. The reference value is set to a value related to the Euclidean distance.

また、上記課題を解決するために本発明の一態様に係るプログラムは、記憶媒体及びマイクロプロセッサを備える第1装置に所定データ検索処理を実行させるためのプログラムであって、前記第1装置は、前記記憶媒体に複数の参照データと、複数の成分を含むベクトルで表される複数の参照特徴量とを対応付けて記憶しており、前記所定データ検索処理は、ユーザのプライバシーデータから抽出された前記参照特徴量と同数の成分を含むベクトルで表される特徴量に対する第1変換の結果としての第1変換特徴量に所定暗号化を施して得られる暗号化第1変換特徴量を第2装置から受信する受信ステップと、前記記憶媒体における前記複数の参照特徴量のそれぞれについて、当該参照特徴量に対して第2変換を施した第2変換特徴量を生成する変換ステップと、前記変換ステップで生成された複数の前記第2変換特徴量のそれぞれについて、当該第2変換特徴量に前記所定暗号化を施した暗号化第2変換特徴量を生成する暗号化ステップと、前記暗号化ステップで生成された複数の前記暗号化第2変換特徴量のそれぞれについて当該暗号化第2変換特徴量と前記暗号化第1変換特徴量とを用いた内積演算を行い、当該内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量を選出する選出ステップと、前記選出ステップで選出された前記1つ以上の暗号化第2変換特徴量のそれぞれと対応関係を有する1つ以上の前記参照データを示す情報を前記第2装置へ送信する送信ステップとを含み、前記第1変換、前記第2変換及び前記所定暗号化は、前記暗号化第1変換特徴量と前記暗号化ステップで生成された1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離に関連する値となるように、定められている。 Further, in order to solve the above problems, a program according to an aspect of the present invention is a program for causing a first device including a storage medium and a microprocessor to perform a predetermined data search process, wherein the first device includes: A plurality of reference data and a plurality of reference feature amounts represented by a vector containing a plurality of components are stored in the storage medium in association with each other, and the predetermined data search process is extracted from the privacy data of the user. The second device is an encrypted first conversion feature amount obtained by performing predetermined encryption on the first conversion feature amount as a result of the first conversion for the feature amount represented by a vector including the same number of components as the reference feature amount. A receiving step of receiving from the conversion medium, a conversion step of generating a second conversion characteristic amount obtained by performing a second conversion on the reference characteristic amount for each of the plurality of reference characteristic amounts in the storage medium, and the conversion step. For each of the plurality of generated second conversion feature amounts, an encryption step of generating an encrypted second conversion feature amount obtained by subjecting the second conversion feature amount to the predetermined encryption, and an encryption step An inner product operation using the encrypted second conversion feature quantity and the encrypted first conversion feature quantity is performed for each of the plurality of encrypted second conversion feature quantities, and the result of the inner product operation satisfies a certain condition. A selection step of selecting one or more encrypted second conversion feature quantities to satisfy, and one or more of the one or more corresponding to each of the one or more encrypted second conversion feature quantities selected in the selection step. And a step of transmitting information indicating reference data to the second device, wherein the first conversion, the second conversion, and the predetermined encryption are generated in the encrypted first conversion feature amount and the encryption step. The result of the inner product operation with the generated one encrypted second conversion feature amount is the feature amount corresponding to the encrypted first conversion feature amount and the reference feature amount corresponding to the one encrypted second conversion feature amount. It is set to be a value related to the Euclidean distance between and.

本発明によれば、ユーザの情報を秘匿して行う検索においてユーザ端末の処理負荷を抑制し通信量を抑制し得る。 According to the present invention, it is possible to suppress the processing load of the user terminal and suppress the communication amount in the search performed by concealing the user information.

実施の形態に係る検索システムが提供するサービスの態様の一例を示す概念図である。It is a conceptual diagram which shows an example of the aspect of the service which the search system which concerns on embodiment provides. 実施の形態に係るデータセンタ運営会社の一例を示す概念図である。It is a conceptual diagram which shows an example of the data center operating company which concerns on embodiment. 実施の形態1に係る検索システムの全体を示す概略構成図である。1 is a schematic configuration diagram showing an entire search system according to Embodiment 1. FIG. 実施の形態1に係るユーザ端末装置の構成を示す構成図である。FIG. 3 is a configuration diagram showing a configuration of a user terminal device according to the first embodiment. 実施の形態1に係るユーザ端末装置での特徴量の変換の一例を示す図である。FIG. 6 is a diagram showing an example of conversion of a feature amount in the user terminal device according to the first embodiment. 実施の形態1に係るデータ演算装置の構成を示す構成図である。FIG. 3 is a configuration diagram showing a configuration of a data operation device according to the first embodiment. データ演算装置における参照特徴量格納部の格納内容の一例を示す図である。It is a figure which shows an example of the storage content of the reference feature-value storage part in a data arithmetic unit. データ演算装置における参照データ格納部の格納内容の一例を示す図である。It is a figure which shows an example of the storage content of the reference data storage part in a data arithmetic unit. 実施の形態1に係るデータ演算装置での参照特徴量の変換の一例を示す図である。FIG. 5 is a diagram showing an example of conversion of reference feature quantities in the data arithmetic unit according to the first embodiment. 実施の形態1に係る検索システムの動作を示すシーケンス図である。FIG. 6 is a sequence diagram showing an operation of the search system according to the first embodiment. ユーザ端末からデータ演算装置への通信データのデータフォーマットの一例を示す図である。It is a figure which shows an example of the data format of the communication data from a user terminal to a data processor. データ演算装置からユーザ端末への通信データのデータフォーマットの一例を示す図である。It is a figure which shows an example of the data format of the communication data from a data arithmetic unit to a user terminal. 実施の形態2に係る検索システムの全体を示す構成図である。It is a block diagram which shows the whole search system which concerns on Embodiment 2. 実施の形態2に係る検索システムの動作を示すシーケンス図である。FIG. 9 is a sequence diagram showing an operation of the search system according to the second embodiment. 変形例1に係る参照特徴量の変換の一例を示す図である。FIG. 9 is a diagram showing an example of conversion of reference feature amounts according to Modification Example 1. 検索システムが提供するサービス(類型1)を示す概念図である。It is a conceptual diagram which shows the service (type 1) which a search system provides. 検索システムが提供するサービス(類型2)を示す概念図である。It is a conceptual diagram which shows the service (type 2) which a search system provides. 検索システムが提供するサービス(類型3)を示す概念図である。It is a conceptual diagram which shows the service (type 3) which a search system provides. 検索システムが提供するサービス(類型4)を示す概念図である。It is a conceptual diagram which shows the service (type 4) which a search system provides.

(本発明の基礎となった知見等)
ユーザ端末がサーバにデータを秘匿してサーバで検索を行わせることに関して、データ(特徴量)を暗号化したままその特徴量に類似する参照特徴量を検索するための類似検索を行う際のその暗号化に、準同型暗号を用いることができる。しかしながら、準同型暗号を用いてできる演算は、加算及び乗算のいずれかの演算のみである。類似検索の対象となる特徴量が複数の成分(要素)を有するベクトルで表されるような場合において、類似検索において類似性を示す指標として、特徴量と参照特徴量とのユークリッド距離を特定するために内積等を用いるときには、加算及び乗算のいずれかの演算のみでは類似性の指標が導出できない。なお、特徴量を成分毎に分解してユーザ端末がサーバで類似検索を行わせると、ユーザ端末での処理負荷が増大してしまう。
(Findings that form the basis of the present invention)
Concerning that the user terminal keeps the data secret in the server and causes the server to perform the search, that is performed when performing the similarity search for searching the reference feature amount similar to the feature amount while the data (feature amount) is encrypted. Homomorphic encryption can be used for encryption. However, the operation that can be performed using the homomorphic encryption is only one of addition and multiplication. In the case where the feature quantity to be subjected to the similarity search is represented by a vector having a plurality of components (elements), the Euclidean distance between the feature quantity and the reference feature quantity is specified as an index indicating the similarity in the similarity search. Therefore, when using the inner product or the like, the index of similarity cannot be derived only by one of the addition and multiplication operations. When the feature amount is decomposed into each component and the user terminal causes the server to perform the similarity search, the processing load on the user terminal increases.

そこで、サーバにおいてユーザの情報を秘匿して検索を行う上でユーザ端末の処理負荷を抑制し通信量を抑制すべく、本願発明者らは、特徴量を変換し、内積演算に関連した暗号方式を用いることで類似検索を行う方式を着想した。そして、その方式を用いた検索方法、検索システム、及び、その検索システムで用いられるコンピュータプログラムを提供する。 Therefore, in order to suppress the processing load of the user terminal and suppress the communication amount when the user information is concealed and searched in the server, the inventors of the present application convert the feature amount and perform the encryption method related to the inner product operation. I came up with a method to perform similarity search by using. Then, a search method using the method, a search system, and a computer program used in the search system are provided.

本発明の一態様に係る検索方法は、第1装置におけるデータの検索のための検索方法であって、ユーザのプライバシーデータから抽出された複数の成分を含むベクトルで表される特徴量に対する第1変換の結果としての第1変換特徴量に所定暗号化を施して得られる暗号化第1変換特徴量を第2装置から受信し、複数の参照特徴量のそれぞれが複数の参照データのいずれかと対応して前記特徴量と同数の成分を含むベクトルで表される当該複数の参照特徴量のそれぞれについて、当該参照特徴量に対する第2変換の結果としての第2変換特徴量に前記所定暗号化を施して得られる暗号化第2変換特徴量を取得し、前記取得した複数の暗号化第2変換特徴量のそれぞれについて当該暗号化第2変換特徴量と前記暗号化第1変換特徴量とを用いた内積演算を行い、当該内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量のそれぞれと対応関係を有する1つ以上の前記参照データを示す情報を前記第2装置へ送信し、前記第1変換、前記第2変換及び前記所定暗号化は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離に関連する値となるように、定められている。ここでのユークリッド距離は重み付きユークリッド距離を含む概念である。この構成によると、類似検索において、ユーザの情報を秘匿して暗号化したままで第1装置(例えばデータ演算装置)において内積演算を行って類似に係る条件の判断を行うことができ、第2装置(例えばユーザ端末装置)の処理負荷を抑制し通信量を抑制し得る。 A search method according to an aspect of the present invention is a search method for searching for data in a first device, wherein the first method for a feature amount represented by a vector including a plurality of components extracted from user privacy data is used. An encrypted first conversion feature amount obtained by performing a predetermined encryption on the first conversion feature amount as a result of the conversion is received from the second device, and each of the plurality of reference feature amounts corresponds to one of the plurality of reference data. Then, for each of the plurality of reference feature quantities represented by a vector including the same number of components as the feature quantity, the second encryption feature quantity as a result of the second conversion for the reference feature quantity is subjected to the predetermined encryption. The encrypted second conversion feature quantity obtained by the above is acquired, and the encrypted second conversion feature quantity and the encrypted first conversion feature quantity are used for each of the acquired plurality of encrypted second conversion feature quantities. An inner product operation is performed, and the result of the inner product operation is transmitted to the second device, the information indicating one or more reference data having a correspondence relationship with each of the one or more encrypted second conversion feature amounts satisfying a certain condition. Then, in the first conversion, the second conversion, and the predetermined encryption, the result of the inner product operation of the encrypted first conversion feature amount and the acquired one encrypted second conversion feature amount is the encryption result. It is set to be a value related to the Euclidean distance between the feature amount corresponding to the first conversion feature amount and the reference feature amount corresponding to the one encrypted second conversion feature amount. The Euclidean distance here is a concept including a weighted Euclidean distance. With this configuration, in the similarity search, the inner product operation can be performed in the first device (for example, the data operation device) while the user information is kept secret and encrypted, and the condition related to the similarity can be determined. The processing load of the device (for example, the user terminal device) can be suppressed and the communication amount can be suppressed.

また、例えば、前記所定暗号化は、所定の内積暗号による暗号化であり、前記第1変換及び前記第2変換は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離となるように、定められており、前記一定条件は、前記内積演算の結果が所定閾値以下の場合に満たされる条件であることとしてもよいし、更に、前記特徴量を、n次元のベクトルX=(x1,x2,x3,・・・,xn)で表す場合において、前記第1変換は、前記特徴量を前記第1変換特徴量としてのベクトルX’=(Σxj^2,1,x1,x2,・・・,xn)に変換するように定められており、前記Σxj^2はjが1からnまでのxj^2の総和であり、前記複数の参照特徴量を、kを1から当該複数の参照特徴量の個数までの各整数として、n次元のベクトルYk=(yk1,yk2,yk3,・・・,ykn)で表す場合において、前記第2変換は、前記複数の参照特徴量のそれぞれを前記第2変換特徴量としてのベクトルYk’=(1,Σykj^2,−2yk1,−2yk2,・・・,−2ykn)に変換するように定められており、前記Σykj^2はjが1からnまでのykj^2の総和であることとしてもよい。これらにより、複数の成分を含むベクトル間の類似性について、内積暗号により各ベクトルを暗号化したままで内積値が示すユークリッド距離に基づいて効率的な判断が可能となる。 Further, for example, the predetermined encryption is encryption by a predetermined inner product encryption, and the first conversion and the second conversion are the encrypted first conversion feature amount and the acquired one encrypted second conversion. The result of the inner product operation with the feature quantity is the Euclidean distance between the feature quantity corresponding to the encrypted first conversion feature quantity and the reference feature quantity corresponding to the one encrypted second conversion feature quantity, The predetermined condition may be a condition that is satisfied when the result of the inner product operation is equal to or less than a predetermined threshold value. Further, the feature amount is defined as an n-dimensional vector X=(x1, x2 , X3,..., Xn), the first conversion is performed by the vector X′=(Σxj^2,1,x1,x2,... , Xn), and Σxj^2 is the sum of xj^2 in which j is from 1 to n, and the plurality of reference feature quantities are from k to 1 In the case where the n-dimensional vector Yk=(yk1, yk2, yk3,..., Ykn) is represented as each integer up to the number of quantities, the second conversion includes each of the plurality of reference feature quantities in the first Vector Yk'=(1, Σykj^2, -2yk1, -2yk2,..., -2ykn) as a two-transformation feature amount is defined to be converted, and in the Σykj^2, j is 1 to n. May be the total sum of ykj^2 up to. As a result, the similarity between the vectors including a plurality of components can be efficiently determined based on the Euclidean distance indicated by the inner product value with each vector being encrypted by the inner product encryption.

また、例えば、前記特徴量を、n次元のベクトルX=(x1,x2,x3,・・・,xn)で表す場合において、前記第1変換は、前記特徴量を前記第1変換特徴量としてのベクトルX’=(Σ(wj・xj^2),1,x1,x2,・・・,xn)に変換するように定められており、前記Σ(wj・xj^2)はjが1からnまでの(wj・xj^2)の総和であり、前記複数の参照特徴量を、kを1から当該複数の参照特徴量の個数までの各整数として、n次元のベクトルYk=(yk1,yk2,yk3,・・・,ykn)で表す場合において、前記第2変換は、前記複数の参照特徴量のそれぞれを前記第2変換特徴量としてのベクトルYk’=(1,Σ(wj・ykj^2),−2w1・yk1,−2w2・yk2,・・・,−2wn・ykn)に変換するように定められており、前記Σ(wj・ykj^2)はjが1からnまでの(wj・ykj^2)の総和であり、前記ユークリッド距離は、n次元のベクトルの1番目からn番目までの成分に対応してw1からwnまでの重みを付けた重み付きユークリッド距離であることとしてもよい。これにより、重み付きユークリッド距離によって類似性に係る判断を行うことが可能になる。 Further, for example, in the case where the feature amount is represented by an n-dimensional vector X=(x1, x2, x3,..., xn), the first conversion uses the feature amount as the first conversion feature amount. X′=(Σ(wj·xj^2),1,x1,x2,...,xn), and Σ(wj·xj^2) is such that j is 1 From n to n, the n-dimensional vector Yk=(yk1), where k is each integer from 1 to the number of the plurality of reference feature amounts. , Yk2, yk3,..., Ykn), the second conversion uses each of the plurality of reference feature quantities as a vector Yk′=(1,Σ(wj· ykj^2), −2w1·yk1, −2w2·yk2,..., −2wn·ykn), and the Σ(wj·ykj^2) is from 1 to n. (Wj·ykj^2), and the Euclidean distance is a weighted Euclidean distance with weights w1 to wn corresponding to the first to nth components of the n-dimensional vector. It may be that. As a result, it becomes possible to make a determination regarding similarity based on the weighted Euclidean distance.

また、例えば、前記所定暗号化は、所定の述語暗号による暗号化であり、前記第1変換及び前記第2変換は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離から所定値を減算した値となるように、定められており、前記一定条件は、前記内積演算の結果が0の場合に満たされる条件であることとしてもよい。これにより、複数の成分を含むベクトル間の類似性について、述語暗号により各ベクトルを暗号化したままで所定の内積演算の結果が示すユークリッド距離から所定値を減算した値に基づいて判断が可能となる。 Further, for example, the predetermined encryption is encryption by a predetermined predicate encryption, and the first conversion and the second conversion are the encrypted first conversion feature amount and the acquired one encrypted second conversion. The result of the inner product calculation with the feature amount subtracts a predetermined value from the Euclidean distance between the feature amount corresponding to the encrypted first converted feature amount and the reference feature amount corresponding to the one encrypted second converted feature amount. The constant condition may be a condition that is satisfied when the result of the inner product operation is 0. As a result, it is possible to judge the similarity between vectors including a plurality of components based on the value obtained by subtracting a predetermined value from the Euclidean distance indicated by the result of the predetermined inner product operation with each vector being encrypted by the predicate encryption. Become.

また、例えば、前記第1装置は、記憶媒体を備え、当該記憶媒体に前記複数の参照データと前記複数の参照特徴量とを記憶しており、前記検索方法では、前記記憶媒体における前記複数の参照特徴量のそれぞれについて、当該参照特徴量に対して第2変換を施した前記第2変換特徴量を生成し、当該第2変換特徴量に前記所定暗号化を施した前記暗号化第2変換特徴量を生成することにより前記暗号化第2変換特徴量の前記取得を行うこととしてもよい。これにより、第1装置において記憶している参照特徴量を用いて、類似検索を行うことが可能となる。 Further, for example, the first device includes a storage medium, and the plurality of reference data and the plurality of reference feature amounts are stored in the storage medium. In the search method, the plurality of reference data in the storage medium are stored. For each of the reference feature quantities, the second transformed feature quantity is generated by performing the second transformation on the reference feature quantity, and the encrypted second transformation is performed by performing the predetermined encryption on the second transformed feature quantity. The acquisition of the encrypted second conversion feature amount may be performed by generating a feature amount. As a result, the similarity search can be performed using the reference feature quantity stored in the first device.

また、例えば、前記検索方法では、複数の暗号化第2変換特徴量の前記取得を、第3装置から当該複数の暗号化第2変換特徴量を受信することにより行い、前記第3装置は、前記複数の暗号化第2変換特徴量に対応する前記複数の参照データを記憶しており、前記検索方法では、前記複数の暗号化第2変換特徴量それぞれのうち前記内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量それぞれと対応関係を有する1つ以上の前記参照データを前記第3装置から受信し、当該受信した1つ以上の前記参照データに基づいて前記情報の前記第2装置への前記送信を行うこととしてもよい。これにより、第3装置(例えばデータ提供装置)において参照特徴量に基づいて生成された暗号化第2変換特徴量(暗号化参照特徴量)を利用することで、類似検索を行うことが可能となる。この場合には、例えば、第3装置は、類似検索の対象となる参照特徴量を第1装置に対して秘匿し得る。 Further, for example, in the search method, the acquisition of a plurality of encrypted second conversion feature amounts is performed by receiving the plurality of encrypted second conversion feature amounts from a third device, and the third device, The plurality of reference data corresponding to the plurality of encrypted second conversion feature quantities are stored, and in the search method, the result of the inner product calculation is constant under each of the plurality of encrypted second conversion feature quantities. One or more of the reference data having a correspondence relationship with each of the one or more encrypted second conversion feature amounts satisfying the above conditions are received from the third device, and the information is based on the received one or more of the reference data. The transmission to the second device may be performed. Accordingly, it is possible to perform similarity search by using the encrypted second conversion feature amount (encrypted reference feature amount) generated based on the reference feature amount in the third device (for example, the data providing device). Become. In this case, for example, the third device may conceal the reference feature amount that is the target of the similarity search from the first device.

また、例えば、前記ユーザのプライバシーデータは、前記ユーザのバイタルデータを含むこととしてもよいし、更に、前記特徴量は、前記ユーザの身体の全体又は一部位についての形状、サイズ、重量、状態、及び、動きの少なくとも1つに関連する指標を示す成分を含むこととしてもよい。これらにより、ユーザはバイタルデータを秘匿したまま、そのバイタルデータに関連性の高い健康、病気等に関する情報等の参照データを取得し得る。 Further, for example, the privacy data of the user may include vital data of the user, and further, the feature amount is the shape, size, weight, state of the whole or part of the body of the user, And a component indicating an index associated with at least one of the movements. As a result, the user can obtain reference data such as information on health, illness, etc., which is highly related to the vital data while keeping the vital data secret.

また、例えば、前記ユーザのプライバシーデータは、前記ユーザが機器を操作したことの履歴を示すログ情報を含むこととしてもよい。これにより、ユーザは電気機器、移動体(車両等)等の機器についての操作履歴等を秘匿したまま、その操作履歴に関連性の高い情報等の参照データを取得し得る。 Further, for example, the privacy data of the user may include log information indicating a history of the user operating the device. As a result, the user can obtain reference data such as information highly relevant to the operation history while keeping the operation history and the like of devices such as electric devices and moving bodies (vehicles, etc.) secret.

また、例えば、1つ以上の前記参照データを示す前記情報は、当該1つ以上の前記参照データを暗号化した情報であることとしてもよい。これにより、検索のためのプライバシーデータの特徴量のみならず、検索結果の暗号化により、プライバシーデータを推定されにくくなり、検索内容の秘匿化が一層適切に実現されることになる。 Further, for example, the information indicating the one or more reference data may be information obtained by encrypting the one or more reference data. As a result, not only the feature amount of the privacy data for the search but also the privacy of the search result is less likely to be estimated due to the encryption of the search result, and the confidentiality of the search content is more appropriately realized.

また、本発明の一態様に係る検索システムは、相互に通信可能な第1装置及び第2装置を備える検索システムであって、前記第2装置は、ユーザについて測定を行い、当該測定結果としてのプライバシーデータから抽出された複数の成分を含むベクトルで表される特徴量に対する第1変換の結果としての第1変換特徴量に所定暗号化を施して得られる暗号化第1変換特徴量を前記第1装置へ送信し、前記第1装置は、前記暗号化第1変換特徴量を前記第2装置から受信し、複数の参照特徴量のそれぞれが複数の参照データのいずれかと対応して前記特徴量と同数の成分を含むベクトルで表される当該複数の参照特徴量のそれぞれについて、当該参照特徴量に対する第2変換の結果としての第2変換特徴量に前記所定暗号化を施して得られる暗号化第2変換特徴量を取得し、前記取得した複数の暗号化第2変換特徴量のそれぞれについて当該暗号化第2変換特徴量と前記暗号化第1変換特徴量とを用いた内積演算を行い、当該内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量のそれぞれと対応関係を有する1つ以上の前記参照データを示す情報を前記第2装置へ送信し、前記第2装置は、前記参照データを示す前記情報を受信して前記参照データを提示し、前記第1変換、前記第2変換及び前記所定暗号化は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離に関連する値となるように、定められている。これにより、類似検索において、ユーザの情報を秘匿して暗号化したままで第1装置(例えばデータ演算装置)において内積演算を行って類似に係る条件の判断を行うことができ、第2装置(例えばユーザ端末装置)の処理負荷を抑制し通信量を抑制し得る。 Further, a search system according to an aspect of the present invention is a search system including a first device and a second device that can communicate with each other, wherein the second device measures a user and displays a result of the measurement. The encrypted first conversion feature quantity obtained by performing predetermined encryption on the first conversion feature quantity as a result of the first conversion for the feature quantity represented by the vector including a plurality of components extracted from the privacy data To the first device, the first device receives the encrypted first conversion feature amount from the second device, and each of the plurality of reference feature amounts corresponds to any one of the plurality of reference data items. An encryption obtained by performing the predetermined encryption on the second conversion feature amount as a result of the second conversion for the reference feature amount for each of the plurality of reference feature amounts represented by a vector including the same number of components as Acquiring a second conversion feature amount, performing an inner product operation using the encrypted second conversion feature amount and the encrypted first conversion feature amount for each of the acquired plurality of encrypted second conversion feature amounts, The information indicating the one or more reference data having a corresponding relationship with each of the one or more encrypted second conversion feature amounts, which is a result of the inner product calculation, is transmitted to the second device, The device receives the information indicating the reference data and presents the reference data, and the first conversion, the second conversion, and the predetermined encryption are the encrypted first conversion feature amount and the acquired 1 The result of the inner product operation with two encrypted second conversion feature amounts is a Euclidean value of the feature amount corresponding to the encrypted first conversion feature amount and the reference feature amount corresponding to the one encrypted second conversion feature amount. It is set to be a value related to the distance. Thereby, in the similarity search, the inner product operation can be performed in the first device (for example, the data operation device) while the user information is kept secret and encrypted, and the condition related to the similarity can be determined, and the second device ( For example, the processing load of the user terminal device) can be suppressed and the communication amount can be suppressed.

また、本発明の一態様に係るプログラムは、記憶媒体及びマイクロプロセッサを備える第1装置に所定データ検索処理を実行させるためのプログラムであって、前記第1装置は、前記記憶媒体に複数の参照データと、複数の成分を含むベクトルで表される複数の参照特徴量とを対応付けて記憶しており、前記所定データ検索処理は、ユーザのプライバシーデータから抽出された前記参照特徴量と同数の成分を含むベクトルで表される特徴量に対する第1変換の結果としての第1変換特徴量に所定暗号化を施して得られる暗号化第1変換特徴量を第2装置から受信する受信ステップと、前記記憶媒体における前記複数の参照特徴量のそれぞれについて、当該参照特徴量に対して第2変換を施した第2変換特徴量を生成する変換ステップと、前記変換ステップで生成された複数の前記第2変換特徴量のそれぞれについて、当該第2変換特徴量に前記所定暗号化を施した暗号化第2変換特徴量を生成する暗号化ステップと、前記暗号化ステップで生成された複数の前記暗号化第2変換特徴量のそれぞれについて当該暗号化第2変換特徴量と前記暗号化第1変換特徴量とを用いた内積演算を行い、当該内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量を選出する選出ステップと、前記選出ステップで選出された前記1つ以上の暗号化第2変換特徴量のそれぞれと対応関係を有する1つ以上の前記参照データを示す情報を前記第2装置へ送信する送信ステップとを含み、前記第1変換、前記第2変換及び前記所定暗号化は、前記暗号化第1変換特徴量と前記暗号化ステップで生成された1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離に関連する値となるように、定められている。このプログラムを第1装置にインストールすれば、第1装置が所定データ検索処理を行うことで検索機能を実現する。これにより、ユーザは第2装置を用いて第1装置にアクセスすることで、プライバシーデータを秘匿したままで参照データを取得できるようになり得る。 A program according to one aspect of the present invention is a program for causing a first device including a storage medium and a microprocessor to execute a predetermined data search process, and the first device includes a plurality of references in the storage medium. The data and a plurality of reference feature amounts represented by a vector including a plurality of components are stored in association with each other, and the predetermined data search process is performed in the same number as the reference feature amount extracted from the privacy data of the user. A receiving step of receiving, from the second device, an encrypted first conversion feature amount obtained by performing predetermined encryption on the first conversion feature amount as a result of the first conversion for the feature amount represented by the vector including the component; For each of the plurality of reference feature quantities in the storage medium, a conversion step of generating a second converted feature quantity that is the second conversion performed on the reference feature quantity, and a plurality of the plurality of first feature values generated in the conversion step. For each of the two conversion feature amounts, an encryption step of generating an encrypted second conversion feature amount by performing the predetermined encryption on the second conversion feature amount, and a plurality of the encryptions generated in the encryption step. One or more encryptions in which the inner product operation using the encrypted second converted feature value and the encrypted first converted feature value is performed for each of the second converted feature values, and the result of the inner product operation satisfies a certain condition. Information indicating the selection step of selecting the second conversion feature quantity and information indicating one or more reference data having a correspondence relationship with each of the one or more encrypted second conversion feature quantities selected in the selection step is described above. A transmission step of transmitting to the second device, wherein the first conversion, the second conversion, and the predetermined encryption include the encrypted first conversion feature amount and one encryption first generated in the encryption step. The result of the inner product operation with the two conversion feature amounts is related to the Euclidean distance between the feature amount corresponding to the encrypted first conversion feature amount and the reference feature amount corresponding to the one encrypted second conversion feature amount. It is set to be a value. If this program is installed in the first device, the first device performs a predetermined data search process to realize the search function. This allows the user to acquire the reference data while keeping the privacy data confidential by accessing the first device using the second device.

なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD−ROM等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。 Note that these comprehensive or specific aspects may be realized by a recording medium such as a system, a method, an integrated circuit, a computer program or a computer-readable CD-ROM, and the system, the method, the integrated circuit, the computer. It may be realized by any combination of programs or recording media.

以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の包括的又は具体的な一例を示すものである。以下の実施の形態で示される数値、形状、構成要素、構成要素の配置、ステップ、ステップの順序等は、一例であって本発明を限定するものではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. It should be noted that each of the embodiments described below shows a comprehensive or specific example of the present invention. Numerical values, shapes, constituent elements, arrangement of constituent elements, steps, order of steps, and the like shown in the following embodiments are examples and do not limit the present invention. Further, among the constituent elements in the following embodiments, constituent elements not described in the independent claims are constituent elements that can be arbitrarily added. In addition, each drawing is a schematic view and is not necessarily strictly illustrated.

(提供するサービスの全体像)
まず、本実施の形態における検索システムが提供するサービスの態様について説明する。
(Overview of services provided)
First, the aspect of the service provided by the search system in the present embodiment will be described.

図1Aは、本実施の形態における検索システム10が提供するサービスの態様の一例を示す図である。検索システム10は、グループ1100、データセンタ運営会社1110及びサービスプロバイダ1120を備える。 FIG. 1A is a diagram showing an example of a mode of a service provided by the search system 10 according to the present embodiment. The search system 10 includes a group 1100, a data center operating company 1110, and a service provider 1120.

グループ1100は、例えば企業、団体又は家庭等の施設(例えばビルディング、住宅等)であり、その規模を問わない。グループ1100は、機器1101及びホームゲートウェイ1102を備える。機器1101は、ユーザと何らかの方法で情報を交換するためのユーザインタフェースを有する。ユーザインタフェースはユーザについてセンシング(測定)を行うセンサ等であってもよい。機器1101は、例えば、インターネットと接続可能な機器(例えば、スマートフォン、パーソナルコンピュータ(PC)、テレビ等)である。なお、機器1101は、それ自身ではインターネットと接続不可能な機器(例えば、洗濯機、冷蔵庫等)であってもよく、ホームゲートウェイ1102を介してインターネットと接続可能となる機器であってもよい。なお、ホームゲートウェイ1102が必要ない場合もある。ユーザ1010は、機器1101を使用する。機器1101が、インターネットに無線接続可能で携帯可能な機器(例えばスマートフォン、ノートPC等)であってもよく、この場合には、ユーザ1010及び機器1101は、必ずしもグループ1100内に所在していなくてもよい。例えば、ユーザ1010及び機器1101が車両、航空機等の移動体内に所在してもよい。なお、機器1101は、1台の機器に限られず、機器1101が、複数台の機器により構成されているとしてもよい。 The group 1100 is, for example, a facility such as a company, a group, or a home (for example, a building, a house, etc.), and its scale does not matter. The group 1100 includes a device 1101 and a home gateway 1102. The device 1101 has a user interface for exchanging information with a user in some way. The user interface may be a sensor or the like for sensing (measuring) the user. The device 1101 is, for example, a device that can be connected to the Internet (for example, a smartphone, a personal computer (PC), a television, etc.). The device 1101 may be a device that cannot connect to the Internet by itself (for example, a washing machine, a refrigerator, etc.) or a device that can connect to the Internet via the home gateway 1102. The home gateway 1102 may not be necessary in some cases. The user 1010 uses the device 1101. The device 1101 may be a portable device that can be wirelessly connected to the Internet (for example, a smartphone, a laptop PC, etc.), and in this case, the user 1010 and the device 1101 are not necessarily located in the group 1100. Good. For example, the user 1010 and the device 1101 may be located in a moving body such as a vehicle or an aircraft. The device 1101 is not limited to one device, and the device 1101 may be configured by a plurality of devices.

データセンタ運営会社1110は、クラウドサーバ1111を備える。クラウドサーバ1111は、インターネットを介して様々な機器と連携するコンピュータであり、例えば仮想化サーバである。クラウドサーバ1111は、例えば、通常のデータベース管理ツール等で扱うことが困難な巨大なデータ(ビッグデータ)等を管理する。データセンタ運営会社1110は、データの管理、クラウドサーバ1111の管理等を行っている。なお、データセンタ運営会社1110は、データの管理又はクラウドサーバ1111の管理のみを行っている管理会社に限られず、他の事業を併せて行っている会社であってもよく、例えば、機器1101を開発又は製造している機器メーカであってもよい。また、データセンタ運営会社1110は一つの会社に限られず、例えば、図1Bに示すように、機器メーカ及び管理会社が共同又は分担してデータの管理又はクラウドサーバ1111の管理を行っている場合は、機器メーカ及び管理会社の両者がデータセンタ運営会社1110に該当し得る。 The data center operating company 1110 includes a cloud server 1111. The cloud server 1111 is a computer that cooperates with various devices via the Internet, and is, for example, a virtualization server. The cloud server 1111 manages, for example, huge data (big data) that is difficult to handle with a normal database management tool or the like. The data center operating company 1110 manages data and the cloud server 1111. Note that the data center operating company 1110 is not limited to a management company that only manages data or the cloud server 1111 and may be a company that also conducts other businesses. It may be a device manufacturer who is developing or manufacturing. Further, the data center operating company 1110 is not limited to one company. For example, as shown in FIG. 1B, when the device manufacturer and the management company jointly or share the data management or the cloud server 1111 management, Both the equipment manufacturer and the management company may correspond to the data center operating company 1110.

サービスプロバイダ1120は、サーバ1121を備える。サーバ1121は、例えば1台又は複数台のコンピュータで実現され、その規模は問わず、記憶媒体として大容量のハードディスク等のストレージを備えてもよいし、例えば、PC内のメモリ等しか備えていなくてもよい。なお、サーバ1121が必ずしも記憶媒体を備えていなくてもよい。 The service provider 1120 includes a server 1121. The server 1121 is realized by, for example, one or a plurality of computers, and regardless of its scale, may have a storage such as a large-capacity hard disk as a storage medium, or, for example, has only a memory in a PC or the like. May be. The server 1121 does not necessarily have to include a storage medium.

次に、上述の態様の検索システム10における情報の流れを説明する。 Next, the flow of information in the search system 10 of the above aspect will be described.

まず、グループ1100の機器1101は、ユーザインタフェースを介して取得した情報に基づいて生成した送信情報を、直接或いはホームゲートウェイ1102を介してデータセンタ運営会社1110のクラウドサーバ1111に送信する。機器1101においてユーザ1010による入力に用いられるユーザインタフェースは、例えば、センサ、キーボード、タッチパネル、或いは、既存の音声認識技術を用いた音声入力装置等である。クラウドサーバ1111は、機器1101からの送信情報を取得する。送信情報は、例えばユーザの操作又はユーザの測定で得られた各種情報(ユーザのバイタルデータ、機器の操作に基づくログ情報等)に基づいて生成された情報である。機器のログ情報は、例えば、機器1101の操作内容、状態、日時等を示す情報である。ログ情報は、テレビの視聴履歴、レコーダーの録画予約情報、洗濯機の運転日時、洗濯物の量、冷蔵庫の開閉日時、又は冷蔵庫の開閉回数等を含み得るし、これらの情報に限らず、種々の機器から取得が可能な種々の情報を含んでもよい。 First, the device 1101 of the group 1100 transmits the transmission information generated based on the information acquired via the user interface to the cloud server 1111 of the data center operating company 1110 directly or via the home gateway 1102. The user interface used for input by the user 1010 in the device 1101 is, for example, a sensor, a keyboard, a touch panel, or a voice input device using an existing voice recognition technology. The cloud server 1111 acquires the transmission information from the device 1101. The transmission information is, for example, information generated based on various information (user's vital data, log information based on device operation, etc.) obtained by user's operation or user's measurement. The device log information is, for example, information indicating the operation content, state, date and time of the device 1101. The log information may include TV viewing history, recorder recording reservation information, washing machine operating date/time, laundry amount, refrigerator opening/closing date, refrigerator opening/closing times, etc. It may include various information that can be acquired from the device.

次に、データセンタ運営会社1110のクラウドサーバ1111は、機器1101からの送信情報に基づく情報をサービスプロバイダ1120のサーバ1121に送信する。この送信情報に基づく情報は、送信情報の少なくとも一部と同一の情報を含むものであっても、その同一の情報を含まず送信情報に対して演算等の処理を施した結果としての情報であってもよい。また、この送信情報に基づく情報の送信の単位は、いかなる単位であってもよい。サーバ1121は、クラウドサーバ1111からの情報を取得する。 Next, the cloud server 1111 of the data center operating company 1110 transmits information based on the transmission information from the device 1101 to the server 1121 of the service provider 1120. Even if the information based on this transmission information includes the same information as at least a part of the transmission information, it is the information as a result of performing processing such as calculation on the transmission information without including the same information. It may be. The unit of information transmission based on this transmission information may be any unit. The server 1121 acquires information from the cloud server 1111.

そして、サービスプロバイダ1120のサーバ1121は、クラウドサーバ1111からの情報に対応して、ユーザへの提供用の情報を特定して、その提供用の情報をユーザ1010に提供すべく、クラウドサーバ1111に送信する。クラウドサーバ1111は、サーバ1121からの提供用の情報を機器1101に転送する又はその提供用の情報に対して演算等の処理を施した結果としての情報を機器1101に送信する。これにより、機器1101のユーザインタフェースからユーザ1010に情報が提供される。機器1101においてユーザ1010への情報の提供に用いられるユーザインタフェースは、例えば、ディスプレイ、或いは、既存の音声合成技術を用いた音声出力装置等である。 Then, the server 1121 of the service provider 1120 identifies the information to be provided to the user in correspondence with the information from the cloud server 1111 and informs the cloud server 1111 of the information to be provided to the user 1010. Send. The cloud server 1111 transfers information to be provided from the server 1121 to the device 1101, or transmits information to the device 1101 as a result of performing processing such as calculation on the information to be provided. As a result, information is provided to the user 1010 from the user interface of the device 1101. The user interface used by the device 1101 to provide information to the user 1010 is, for example, a display or a voice output device using an existing voice synthesis technique.

なお、サーバ1121が、クラウドサーバ1111を介さずに機器1101と通信を行うことで、ユーザ1010からの情報の取得、及び、提供用の情報の提供を行うこととしてもよい。また、検索システム10は、上述した例と異なる態様であってもよい。例えば、検索システム10において、データセンタ運営会社1110及びサービスプロバイダ1120を省いてもよく、機器1101がユーザから取得した情報に基づいて、提供用の情報を特定して、その提供用の情報をユーザに提供してもよい。 The server 1121 may communicate with the device 1101 without going through the cloud server 1111 to acquire information from the user 1010 and provide information for provision. Further, the search system 10 may have a mode different from the example described above. For example, in the search system 10, the data center operating company 1110 and the service provider 1120 may be omitted, the device 1101 specifies the information for provision based on the information acquired from the user, and the information for provision is specified by the user. May be provided to

(実施の形態1)
以下、実施の形態1に係る検索システムの一例について図面を参照しながら説明する。
(Embodiment 1)
Hereinafter, an example of the search system according to the first embodiment will be described with reference to the drawings.

1.1 検索システムの全体構成
図2は、本実施の形態に係る検索システム10の全体を示す概略構成図である。検索システム10は、ユーザ端末装置100と、データ演算装置200とを備える。図2では、ユーザ端末装置100とデータ演算装置200とをそれぞれ1つずつ示したが、それぞれ1つ以上あればよく、複数あってもよい。また、各装置間の接続形態は、有線接続(有線ネットワーク、専用回線等)でも無線接続でもよく、通信可能であればよい。リアルタイムでの通信が必ずしも必要ではなく、例えばユーザ端末装置100は、センシングした情報等に基づく類似検索の要求を、逐次、データ演算装置に送付してもよいし、その要求を複数まとめてデータ演算装置に送付してもよい。
1.1 Overall Configuration of Search System FIG. 2 is a schematic configuration diagram showing the entire search system 10 according to the present embodiment. The search system 10 includes a user terminal device 100 and a data calculation device 200. In FIG. 2, one user terminal device 100 and one data processing device 200 are shown, but there may be one or more, and there may be a plurality. Further, the connection form between the respective devices may be wired connection (wired network, dedicated line, etc.) or wireless connection, as long as communication is possible. Communication in real time is not always necessary. For example, the user terminal device 100 may sequentially send a request for similarity search based on the sensed information or the like to the data processing device, or a plurality of such requests may be collectively processed in the data processing device. It may be sent to the device.

1.2 ユーザ端末装置
図3は、ユーザ端末装置100の構成を示す構成図である。ユーザ端末装置100は、センシング部101と、特徴量算出部102と、特徴量変換部103と、鍵格納部104と、特徴量暗号部105と、復号部106と、参照データ利用部107と、通信部108とを含んで構成される。ユーザ端末装置100は、例えば、プロセッサ(マイクロプロセッサ)、メモリ、センサ、通信インタフェース等を備えるコンピュータに実装され得る。メモリは、ROM、RAM等であり、プロセッサにより実行されるプログラム(ソフトウェアとしてのコンピュータプログラム)を記憶することができる。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。例えば、メモリに格納されたプログラムをプロセッサが実行すること等によりユーザ端末装置100における各種機能が実現され得る。ユーザ端末装置100は、例えば、ユーザの血圧や心拍、CTスキャン情報などユーザに関する情報をセンシングし、特徴量を抽出して、この特徴量に類似した症状の参照データ(例えば症例の情報等)をデータ演算装置200に要求し、得られた参照データをユーザへのサービスに利用する。
1.2 User Terminal Device FIG. 3 is a block diagram showing the configuration of the user terminal device 100. The user terminal device 100 includes a sensing unit 101, a feature amount calculation unit 102, a feature amount conversion unit 103, a key storage unit 104, a feature amount encryption unit 105, a decryption unit 106, a reference data use unit 107, The communication unit 108 is included. The user terminal device 100 can be implemented in, for example, a computer including a processor (microprocessor), a memory, a sensor, a communication interface, and the like. The memory is a ROM, a RAM, or the like, and can store a program (computer program as software) executed by the processor. The computer program is configured by combining a plurality of instruction codes indicating instructions to the processor in order to achieve a predetermined function. For example, various functions in the user terminal device 100 can be realized by the processor executing a program stored in the memory. The user terminal device 100, for example, senses information about the user such as the blood pressure, heartbeat, and CT scan information of the user, extracts the characteristic amount, and obtains reference data (for example, case information) similar to the characteristic amount. The data calculation device 200 is requested and the obtained reference data is used for the service to the user.

1.2.1 センシング部
センシング部101は、ユーザについての情報をセンシングする。センシング部101は、例えば血圧計、CTスキャナ、カメラ(イメージセンサ)等といったセンシングのための1つ以上のセンサ(測定装置)を含んで構成され得る。センシングする情報は、例えばユーザの血圧や体温、心拍等のバイタルデータであり、例えばユーザの身体を撮像(測定)して得られる顔画像、エコー画像、CTスキャン情報等の画像情報等であってもよい。また、センシングする情報は、例えば、GPS(Global Positioning System)で得られる位置情報、ユーザが電気機器或いは移動体(車両等)を操作したことの履歴を示すログ情報、或いは、ユーザによる商品等の購買履歴情報等であってもよい。ログ情報は、例えば、車両のステアリング操作、アクセル操作、ブレーキ操作、変速ギアの操作等に関連して取得(測定)される各種情報(変位量、速度、加速度)等を操作時刻と対応付けた情報であり得る。センシングされたユーザについての情報は、例えば、ユーザが他人に知られたくない個人的な事柄であるプライバシーデータであり得る。検索システム10は、プライバシーデータの秘匿を行って類似検索を行い得るシステムであるので、ここでは、センシング部101でセンシングされたユーザについての情報は、プライバシーデータであることとして説明する。センシング部101でセンシングされたプライバシーデータは、ユーザ端末装置100において各部で処理された後に特徴量暗号部105によって暗号化され、類似検索のためにデータ演算装置200に送信されることになる。
1.2.1 Sensing Unit The sensing unit 101 senses information about the user. The sensing unit 101 may include one or more sensors (measuring devices) for sensing, such as a blood pressure monitor, a CT scanner, a camera (image sensor), and the like. The information to be sensed is, for example, vital data such as blood pressure, body temperature, and heartbeat of the user, and is, for example, face image obtained by imaging (measurement) the body of the user, echo image, image information such as CT scan information, and the like. Good. The information to be sensed is, for example, position information obtained by GPS (Global Positioning System), log information indicating a history of the user operating an electric device or a moving body (vehicle etc.), or a product etc. by the user. It may be purchase history information or the like. For the log information, for example, various information (displacement amount, speed, acceleration) and the like acquired (measured) in association with vehicle steering operation, accelerator operation, brake operation, transmission gear operation, etc. are associated with operation time. It can be information. The sensed information about the user can be, for example, privacy data, which is a personal matter that the user does not want others to know. Since the search system 10 is a system that can perform privacy search by concealing privacy data, the information about the user sensed by the sensing unit 101 will be described here as privacy data. The privacy data sensed by the sensing unit 101 is processed by each unit in the user terminal device 100, then encrypted by the feature amount encryption unit 105, and transmitted to the data calculation device 200 for similarity search.

1.2.2 特徴量算出部
特徴量算出部102は、センシング部101で取得した情報(プライバシーデータ)から特徴量を算出(抽出)する。特徴量算出部102が算出する特徴量は、複数の成分(要素)を含むベクトルで表され得る。この特徴量は、例えば、ユーザの身体の全体又は一部位についての形状、サイズ、重量、状態、及び、動きの少なくとも1つに関連する指標を示す成分を含む。特徴量の対象となるユーザの部位はいかなる部位であってもよく、例えば、目、鼻、耳、手、足、臓器、血管等である。ユーザの身体の全体又は一部位についての状態としては、例えば健康状態(健康診断に用いられる各種検査項目についての状態)、水分量、血圧、酸素飽和度等が挙げられる。また、ユーザの身体の全体又は一部位についての動きとしては、例えば、体動(単位時間当たりの寝返り回数等)、微振動(心拍数、呼吸数、吸気呼気比率等)が挙げられる。特徴量は、例えば、ユーザの顔画像における特徴的なパラメータの主成分、ある領域の位置、面積、幅等の情報であってもよい。また、特徴量は、センシング部101でユーザについて測定された何らかの要素を示す履歴情報から、時間軸に対応した要素の傾向を例えば多項式で表現した場合の各項の係数を成分として含むベクトルで表される情報であってもよい。センシング部101で取得した情報から抽出された特徴量自体も、プライバシーデータであり得る。
1.2.2 Characteristic Amount Calculation Unit The characteristic amount calculation unit 102 calculates (extracts) a characteristic amount from the information (privacy data) acquired by the sensing unit 101. The feature amount calculated by the feature amount calculation unit 102 can be represented by a vector including a plurality of components (elements). This feature amount includes, for example, a component indicating an index related to at least one of shape, size, weight, state, and movement of the whole or part of the body of the user. The part of the user that is the target of the characteristic amount may be any part, and examples thereof include eyes, nose, ears, hands, feet, organs, blood vessels and the like. Examples of the state of the whole or part of the body of the user include a health state (states of various inspection items used for physical examination), water content, blood pressure, oxygen saturation, and the like. The movement of the user's body in whole or in part includes, for example, body movement (number of times of rolling over per unit time) and slight vibration (heart rate, respiration rate, inspiration/expiration ratio, etc.). The feature amount may be, for example, information such as the main component of a characteristic parameter in the face image of the user, the position, the area, and the width of a certain area. Further, the feature amount is represented by a vector including the coefficient of each term as a component when the tendency of the element corresponding to the time axis is expressed by, for example, a polynomial from history information indicating some element measured by the sensing unit 101 for the user. It may be the information to be provided. The feature amount itself extracted from the information acquired by the sensing unit 101 may also be privacy data.

1.2.3 特徴量変換部
特徴量変換部103は、特徴量算出部102で算出された特徴量に、予め定められた変換(第1変換と称する)を施す。この第1変換の例を図4に示す。図4は、変換前と変換後の特徴量の一例を示した図である。特徴量算出部102により算出された特徴量(変換前の特徴量)をn次元(nは例えば2以上)のベクトルX=(x1,x2,x3,・・・,xn)で表す場合において、特徴量変換部103による変換後の特徴量(第1変換特徴量)はベクトルX’=(Σxj^2,1,x1,x2,・・・,xn)となる。ここで、Σxj^2は、jが1からnまでのxj^2の総和(つまりx1からxnまでの要素の2乗の総和)を示している。
1.2.3 Feature Amount Converter The feature amount converter 103 performs a predetermined conversion (referred to as a first conversion) on the feature amount calculated by the feature amount calculator 102. An example of this first conversion is shown in FIG. FIG. 4 is a diagram showing an example of the feature amount before conversion and after conversion. In the case where the feature amount (feature amount before conversion) calculated by the feature amount calculating unit 102 is represented by an n-dimensional (n is, for example, 2 or more) vector X=(x1, x2, x3,..., xn), The feature amount (first converted feature amount) after conversion by the feature amount conversion unit 103 is the vector X′=(Σxj^2,1,x1,x2,...,xn). Here, Σxĵ2 indicates the total sum of xĵ2 in which j is 1 to n (that is, the total sum of squares of the elements from x1 to xn).

1.2.4 鍵格納部
鍵格納部104は、特徴量暗号部105及び復号部106における各暗号処理(暗号化或いは復号)に用いる鍵を格納する。特徴量暗号部105及び復号部106のそれぞれで用いる暗号方式及び鍵は同じであってもよいし、異なっていてもよい。例えば、特徴量暗号部105で用いる鍵は、暗号化したまま内積演算を可能にする内積暗号の秘密鍵であり、復号部106で用いる鍵は、一般の公開鍵暗号方式のユーザ端末装置100の秘密鍵(データ演算装置200と共有する公開鍵と対をなす秘密鍵)であってもよい。また、特徴量暗号部105で用いた秘密鍵と同じ鍵を復号部106で用いることとしてもよい。
1.2.4 Key Storage Unit The key storage unit 104 stores keys used for each encryption process (encryption or decryption) in the feature amount encryption unit 105 and the decryption unit 106. The encryption method and the key used in each of the feature amount encryption unit 105 and the decryption unit 106 may be the same or different. For example, the key used in the feature amount encryption unit 105 is a secret key of the inner product encryption that enables the inner product operation while being encrypted, and the key used in the decryption unit 106 is the key of the user terminal device 100 of the general public key cryptosystem. It may be a private key (a private key paired with a public key shared with the data processing device 200). Further, the same key as the secret key used in the feature quantity encryption unit 105 may be used in the decryption unit 106.

1.2.5 特徴量暗号部
特徴量暗号部105は、特徴量変換部103により変換された特徴量を予め定められた暗号方式により暗号化する。特徴量暗号部105は、この暗号化において鍵格納部104に格納された鍵を用いる。特徴量暗号部105は、データ演算装置200において特徴量を暗号化したまま、類似検索のための演算(内積演算)が可能となる所定の内積暗号を用いて暗号化を行う。内積暗号については、本明細書で引用する非特許文献1に示された従来の方法を用いるため、ここでは詳細に述べない。
1.2.5 Feature Amount Encryption Unit The feature amount encryption unit 105 encrypts the feature amount converted by the feature amount conversion unit 103 by a predetermined encryption method. The feature amount encryption unit 105 uses the key stored in the key storage unit 104 in this encryption. The feature quantity encryption unit 105 encrypts the feature quantity in the data operation device 200 while using the predetermined inner product encryption that enables the calculation (inner product operation) for similarity search. Since the conventional method shown in Non-Patent Document 1 cited in this specification is used for the inner product encryption, it will not be described in detail here.

1.2.6 復号部
復号部106は、データ演算装置200から送付された暗号化された参照データ(類似検索の結果)を復号する。復号部106は、この復号において鍵格納部104に格納された鍵を用いる。
1.2.6 Decryption Unit The decryption unit 106 decrypts the encrypted reference data (similarity search result) sent from the data operation device 200. The decryption unit 106 uses the key stored in the key storage unit 104 in this decryption.

1.2.7 参照データ利用部
参照データ利用部107は、復号部106において復号して得た参照データを利用する。参照データの利用は、例えば、参照データのユーザへの提示である。参照データ利用部107は、例えばディスプレイ、音声出力装置その他のユーザインタフェースを含んで実装され得る。参照データの提示の例としては、例えば、ユーザ端末装置100のディスプレイに、参照データに基づくグラフ、統計情報等の形式で表示すること、参照データに基づく音声を音声出力装置から出力すること等が挙げられる。また、参照データ利用部107は、参照データに基づいて、所定の演算、或いは、情報検索等を行うことで、ユーザへの生活習慣の改善アドバイス、お勧めの食事等のアドバイスを提示してもよい。
1.2.7 Reference Data Utilization Unit The reference data utilization unit 107 utilizes the reference data obtained by decoding in the decoding unit 106. The use of the reference data is, for example, presentation of the reference data to the user. The reference data utilization unit 107 can be implemented by including, for example, a display, a voice output device, and other user interfaces. Examples of the presentation of the reference data include, for example, displaying on the display of the user terminal device 100 in the form of a graph, statistical information, etc. based on the reference data, outputting voice based on the reference data from the voice output device, and the like. Can be mentioned. In addition, the reference data utilization unit 107 may perform a predetermined calculation or information search based on the reference data to present the user with advice on lifestyle improvement and recommended meals. Good.

1.2.8 通信部
通信部108は、データ演算装置200との通信を行う。この通信には、例えばTLS(Transport Layer Security)プロトコルによる暗号通信を用いる。ユーザ端末装置100は、通信部108により、データ演算装置200との間でTLSに基づいて相互に認証し、データの暗号化を行う。TLSに用いる公開鍵証明書や秘密鍵は、通信部108において保持している。
1.2.8 Communication Unit The communication unit 108 communicates with the data processing device 200. For this communication, for example, encrypted communication based on the TLS (Transport Layer Security) protocol is used. The user terminal device 100 mutually authenticates with the data processing device 200 by the communication unit 108 based on TLS, and performs data encryption. The public key certificate and private key used for TLS are held in the communication unit 108.

通信部108は、特徴量暗号部105により暗号化された、変換後の特徴量を伴う類似検索の要求をデータ演算装置200に送信する。また、通信部108は、類似検索の要求に対するデータ演算装置200からの返答(応答)としての、暗号化された参照データ(類似検索の結果)を受信して復号部106に伝達する。 The communication unit 108 transmits, to the data processing apparatus 200, a similarity search request encrypted with the feature amount encryption unit 105 and accompanied by the converted feature amount. Further, the communication unit 108 receives the encrypted reference data (result of the similarity search) as a response (response) from the data operation device 200 to the request for the similarity search, and transmits the encrypted reference data to the decryption unit 106.

1.3 データ演算装置
図5は、データ演算装置200の構成を示す構成図である。データ演算装置200は、参照特徴量格納部201と、参照特徴量変換部202と、参照特徴量暗号部203と、鍵格納部204と、暗号化距離計算部205と、暗号化参照データ抽出部206と、参照データ格納部207と、通信部208とを含んで構成される。データ演算装置200は、例えば、ユーザ端末装置100と同様に、プロセッサ、メモリ、通信インタフェース等を備えるコンピュータに実装され得る。例えば、メモリに格納されたプログラムをプロセッサが実行すること等によりデータ演算装置200における各種機能が実現され得る。データ演算装置200は、類似検索を行うサーバとして機能し、ユーザ端末装置100からの特徴量に関する類似検索の要求(特徴量が変換され暗号化された情報を伴う要求)を受信して類似検索を行い、検索結果としての参照データを、要求に対する返答としてユーザ端末装置100に送信する。類似検索は、例えば、特徴量と対比可能な、ユーザとは別の複数人それぞれのバイタルデータ等の情報から抽出した参照特徴量の集合から、特徴量と類似した特徴を有する参照特徴量を選定することを含み、その参照特徴量に対応する参照データ(例えば参照特徴量に対応する人に関わる症例等の情報)を特定することを含み得る。
1.3 Data Computing Device FIG. 5 is a block diagram showing the configuration of the data computing device 200. The data calculation device 200 includes a reference feature amount storage unit 201, a reference feature amount conversion unit 202, a reference feature amount encryption unit 203, a key storage unit 204, an encryption distance calculation unit 205, and an encrypted reference data extraction unit. 206, a reference data storage unit 207, and a communication unit 208. The data operation device 200 can be implemented in a computer including a processor, a memory, a communication interface, and the like, like the user terminal device 100, for example. For example, various functions of the data processing device 200 can be realized by the processor executing a program stored in the memory. The data calculation device 200 functions as a server that performs a similarity search, receives a request for a similarity search regarding a feature amount from the user terminal device 100 (a request accompanied by information in which the feature amount is converted and encrypted), and performs the similar search. Then, the reference data as the search result is transmitted to the user terminal device 100 as a response to the request. In the similarity search, for example, a reference feature amount having a feature similar to the feature amount is selected from a set of reference feature amounts extracted from information such as vital data of a plurality of users different from the user, which can be compared with the feature amount. And specifying reference data corresponding to the reference feature amount (for example, information such as a case related to a person corresponding to the reference feature amount).

1.3.1 参照特徴量格納部
参照特徴量格納部201は、ユーザ端末装置100からの要求に応じて類似検索を行う際に、検索の対象となる参照特徴量を格納する。参照特徴量は、ユーザ端末装置100からの要求が伴う情報(特徴量が変換され暗号化された情報)におけるその特徴量と対比され得る性質を有する。即ち、参照特徴量は、特徴量と同様にn次元のベクトルで表される。
1.3.1 Reference Feature Amount Storage Unit The reference feature amount storage unit 201 stores a reference feature amount to be searched when performing a similarity search in response to a request from the user terminal device 100. The reference feature quantity has a property that it can be compared with the feature quantity in the information (information in which the feature quantity is converted and encrypted) accompanied by the request from the user terminal device 100. That is, the reference feature amount is represented by an n-dimensional vector like the feature amount.

図6Aは、参照特徴量格納部201に格納されている参照特徴量の例を示す。参照特徴量格納部201には、複数の参照特徴量それぞれが、識別子(ID)と対応付けて格納される。図6Aの例では、参照特徴量格納部201には、ID毎に、IDと参照特徴量Eyとが格納されている。この例では、複数の参照特徴量を、kを1からその複数の参照特徴量の個数までの各整数として、k個のn次元のベクトルYk=(yk1,yk2,yk3,・・・,ykn)で表している。各参照特徴量は、例えば、複数人それぞれについての測定結果等の情報から抽出されたものであり、例えば、その測定された人の身体の全体又は一部位についての形状、サイズ、重量、状態、及び、動きの少なくとも1つに関連する指標を示す成分を含むものであってもよい。IDは、その人(参照特徴量に関連する人)を他の人と区別する識別子であり得る。なお、参照特徴量格納部201に参照特徴量を暗号化して格納しておき、参照特徴量変換部202で変換する際にのみ復号するとしてもよい。また、参照特徴量格納部201に格納されている参照特徴量に対応付けられているIDは、後述する参照データ格納部207に格納されている参照データに対応付けられているIDと対応する(図6B参照)。 FIG. 6A shows an example of the reference feature amount stored in the reference feature amount storage unit 201. Each of the plurality of reference feature amounts is stored in the reference feature amount storage unit 201 in association with an identifier (ID). In the example of FIG. 6A, the reference feature amount storage unit 201 stores an ID and a reference feature amount Ey for each ID. In this example, a plurality of reference feature amounts, where k is an integer from 1 to the number of the plurality of reference feature amounts, are k n-dimensional vectors Yk=(yk1, yk2, yk3,..., Ykn). ). Each reference feature amount, for example, is extracted from information such as measurement results for each of a plurality of people, for example, the shape, size, weight, state of the whole or part of the measured human body, And may include a component indicating an index associated with at least one of the movements. The ID may be an identifier that distinguishes the person (person related to the reference feature amount) from other persons. The reference feature quantity may be encrypted and stored in the reference feature quantity storage unit 201, and decrypted only when the reference feature quantity conversion unit 202 converts the reference feature quantity. The ID associated with the reference feature amount stored in the reference feature amount storage unit 201 corresponds to the ID associated with the reference data stored in the reference data storage unit 207 described later ( See FIG. 6B).

1.3.2 参照特徴量変換部
参照特徴量変換部202は、参照特徴量格納部201に格納されている参照特徴量に、予め定められた変換(第2変換と称する)を施す。この第2変換の例を図7に示す。図7は変換前と変換後の参照特徴量の一例を示した図である。参照特徴量格納部201に格納されている参照特徴量(変換前の参照特徴量)の1つを、特徴量と同数の成分からなるn次元のベクトルY1=(y11,y12,y13,・・・,y1n)で表す場合において、参照特徴量変換部202による変換後の参照特徴量(第2変換特徴量)はベクトルY1’=(1,Σy1j^2,−2y11,−2y12,・・・,−2y1n)となる。ここで、Σy1j^2はjが1からnまでのy1j^2の総和(つまりy11からy1nまでの要素の2乗の総和)を示している。また、参照特徴量変換部202は、他の参照特徴量Yk(k=2,・・・,n)についても同様の変換を行う。
1.3.2 Reference Feature Amount Conversion Unit The reference feature amount conversion unit 202 performs a predetermined conversion (referred to as a second conversion) on the reference feature amount stored in the reference feature amount storage unit 201. An example of this second conversion is shown in FIG. FIG. 7 is a diagram showing an example of reference feature amounts before and after conversion. One of the reference feature quantities (reference feature quantity before conversion) stored in the reference feature quantity storage unit 201 is an n-dimensional vector Y1=(y11, y12, y13,... , Y1n), the reference feature amount (second conversion feature amount) after conversion by the reference feature amount conversion unit 202 is a vector Y1′=(1,Σy1j^2,-2y11,-2y12,... , -2y1n). Here, Σy1j^2 represents the total sum of y1j^2 in which j is 1 to n (that is, the total square of the elements from y11 to y1n). The reference feature amount conversion unit 202 also performs similar conversion for other reference feature amounts Yk (k=2,..., N).

即ち、参照特徴量格納部201に格納されている複数の参照特徴量を、kを1からその複数の参照特徴量の個数までの各整数として、n次元のベクトルYk=(yk1,yk2,yk3,・・・,ykn)で表す場合において、参照特徴量変換部202により行われる第2変換は、その複数の参照特徴量のそれぞれをベクトルYk’=(1,Σykj^2,−2yk1,−2yk2,・・・,−2ykn)に変換するように定められている。ここで、Σykj^2はjが1からnまでのykj^2の総和である。この第2変換は、ユーザ端末装置100において特徴量に施される第1変換と一定の関係を有するように定められている。具体的には、特徴量に対する第1変換の結果である第1変換特徴量に上述した所定の内積暗号による暗号化を施した結果である暗号化第1変換特徴量と、参照特徴量に対する第2変換の結果である第2変換特徴量にその所定の内積暗号による暗号化を施した結果である暗号化第2変換特徴量との内積演算の結果(内積値)が、その特徴量とその参照特徴量とのユークリッド距離となるように、定められている。 That is, the n-dimensional vector Yk=(yk1, yk2, yk3, where k is an integer from 1 to the number of the plurality of reference feature amounts, is a plurality of reference feature amounts stored in the reference feature amount storage unit 201. ,..., Ykn), the second conversion performed by the reference feature amount conversion unit 202 represents each of the plurality of reference feature amounts by a vector Yk′=(1,Σykj^2,−2yk1,−). 2yk2,..., -2ykn). Here, Σykj^2 is the total sum of ykj^2 in which j is 1 to n. The second conversion is determined to have a certain relationship with the first conversion applied to the feature amount in the user terminal device 100. Specifically, the encrypted first conversion feature amount, which is the result of performing the above-described predetermined inner product encryption on the first conversion feature amount, which is the result of the first conversion for the feature amount, and the first feature value for the reference feature amount. The result (inner product value) of the inner product with the encrypted second transformed feature amount, which is the result of performing encryption by the predetermined inner product encryption on the second transformed feature amount that is the result of the second transformation, is the feature amount and its It is set to be the Euclidean distance from the reference feature amount.

1.3.3 参照特徴量暗号部
参照特徴量暗号部203は、参照特徴量変換部202により変換された参照特徴量を予め定められた暗号方式により暗号化する。参照特徴量暗号部203は、この暗号化において鍵格納部204に格納された鍵を用いる。参照特徴量暗号部203は、参照特徴量変換部202により変換された複数の参照特徴量(第2変換特徴量)のそれぞれに対して、ユーザ端末装置100の特徴量暗号部105と同じ所定の内積暗号を用いて、暗号化を行う。
1.3.3 Reference Feature Amount Encryption Unit The reference feature amount encryption unit 203 encrypts the reference feature amount converted by the reference feature amount conversion unit 202 by a predetermined encryption method. The reference feature amount encryption unit 203 uses the key stored in the key storage unit 204 in this encryption. The reference feature amount encryption unit 203 has the same predetermined value as the feature amount encryption unit 105 of the user terminal device 100 for each of the plurality of reference feature amounts (second converted feature amounts) converted by the reference feature amount conversion unit 202. The inner product cipher is used for encryption.

1.3.4 鍵格納部
鍵格納部204は、参照特徴量暗号部203及び暗号化参照データ抽出部206における各暗号処理(暗号化或いは復号)に用いる鍵を格納する。参照特徴量暗号部203及び暗号化参照データ抽出部206のそれぞれで用いる暗号方式及び鍵は同じであってもよいし、異なっていてもよい。例えば、参照特徴量暗号部203で用いる鍵は、暗号化したまま内積演算を可能にする内積暗号の秘密鍵であり、暗号化参照データ抽出部206で用いる鍵は、一般の公開鍵暗号方式のユーザ端末装置100の公開鍵であってもよい。また、参照特徴量暗号部203で用いた秘密鍵と同じ鍵を暗号化参照データ抽出部206で用いることとしてもよい。
1.3.4 Key Storage Unit The key storage unit 204 stores a key used for each encryption process (encryption or decryption) in the reference feature amount encryption unit 203 and the encrypted reference data extraction unit 206. The encryption method and the key used by the reference feature amount encryption unit 203 and the encrypted reference data extraction unit 206 may be the same or different. For example, the key used by the reference feature amount encryption unit 203 is a secret key of the inner product encryption that enables the inner product operation while it is encrypted, and the key used by the encrypted reference data extraction unit 206 is a general public key encryption system. It may be the public key of the user terminal device 100. Further, the same key as the secret key used in the reference feature quantity encryption unit 203 may be used in the encrypted reference data extraction unit 206.

1.3.5 暗号化距離計算部
暗号化距離計算部205は、ユーザ端末装置100が送信した類似検索の要求に係る情報(特徴量に第1変換が施され内積暗号による暗号化が施されたものである暗号化第1変換特徴量等)を、通信部208を介して取得する。また、暗号化距離計算部205は、参照特徴量暗号部203により参照特徴量に基づく第2変換特徴量が暗号化されたものである各暗号化第2変換特徴量を取得する。
1.3.5 Encrypted Distance Calculation Unit The encrypted distance calculation unit 205 includes information related to a request for a similarity search transmitted by the user terminal device 100 (the feature amount is subjected to the first conversion and encrypted by the inner product encryption). The encrypted first conversion feature amount, etc.) is acquired via the communication unit 208. Further, the encrypted distance calculation unit 205 acquires each encrypted second conversion feature amount obtained by encrypting the second conversion feature amount based on the reference feature amount by the reference feature amount encryption unit 203.

暗号化距離計算部205は、ユーザ端末装置100が生成した特徴量とデータ演算装置200に格納している各参照特徴量とのユークリッド距離を、それぞれ暗号化したまま、内積演算により求める。 The encrypted distance calculation unit 205 obtains the Euclidean distance between the feature amount generated by the user terminal device 100 and each reference feature amount stored in the data operation device 200 by the inner product calculation while keeping the encryption.

例えば、特徴量のベクトルX=(x1,x2,x3,・・・,xn)と、1つの参照特徴量のベクトルY1=(y11,y12,y13,・・・,y1n)とのユークリッド距離D1は、D1=Σ(xj−y1j)^2(j=1,・・・,n)で表される。Σ(xj−y1j)^2は、x1−y11の結果の2乗値から、xn−y1nの結果の2乗値までの総和を示す。なお、一般的なユークリッド距離の定義は、D1の平方根であるが、ここではD1(正式には、平方ユークリッド距離と呼ばれるもの)をユークリッド距離として説明を行う。非特許文献1の内積暗号によれば、2つのベクトルX、Y1の内積値<X,Y1>=Σxi・y1i(i=1,・・・,n)が、暗号化したまま求められる。非特許文献1の内積暗号を用いて、第1変換により変換した特徴量(第1変換特徴量)X’=(Σxj^2,1,x1,x2,・・・,xn)と、第2変換により変換した1つの参照特徴量(第2変換特徴量)Y1’=(1,Σy1j^2,−2y11,−2y12,・・・,−2y1n)との内積を演算すると、次のようになる。 For example, the Euclidean distance D1 between the feature amount vector X=(x1, x2, x3,..., Xn) and one reference feature amount vector Y1=(y11, y12, y13,..., Y1n). Is represented by D1=Σ(xj-y1j)^2 (j=1,..., N). Σ(xj-y1j)^2 represents the sum total from the square value of the result of x1-y11 to the square value of the result of xn-y1n. Note that the general definition of the Euclidean distance is the square root of D1, but here, D1 (formally called the square Euclidean distance) will be described as the Euclidean distance. According to the inner product cipher of Non-Patent Document 1, the inner product value <X, Y1>=Σxi·y1i (i=1,..., N) of the two vectors X and Y1 is obtained while being encrypted. Using the inner product cipher of Non-Patent Document 1, a feature amount (first transformed feature amount) X′=(Σxj^2,1,x1,x2,...,xn) converted by the first conversion, and a second When the inner product of one reference feature value (second conversion feature value) Y1′=(1,Σy1j^2,-2y11,-2y12,...,-2y1n) converted by the conversion is calculated, Become.

<X’,Y1’>
=Σxj^2+Σy1j^2−2x1・y11−2x2・y12−・・・−2xn・y1n
=Σ(xj−y1j)^2
<X', Y1'>
=Σxj^2+Σy1j^2-2x1·y11-2x2·y12-...-2xn·y1n
=Σ(xj-y1j)^2

このように、第1変換により変換した特徴量と第2変換により変換した参照特徴量との内積演算をすると特徴量と参照特徴量とのユークリッド距離が求められる。非特許文献1の内積暗号を用いることで、内積演算をすると暗号化したユークリッド距離が求められ、復号することでユークリッド距離が求められる。 In this way, when the inner product of the feature amount converted by the first conversion and the reference feature amount converted by the second conversion is calculated, the Euclidean distance between the feature amount and the reference feature amount is obtained. By using the inner product cipher of Non-Patent Document 1, the encrypted Euclidean distance is obtained by performing the inner product operation, and the Euclidean distance is obtained by decoding.

暗号化距離計算部205は、内積演算により求めたユークリッド距離(内積演算の結果)が一定条件を満たすか否かで類似か否かを判断する。この一定条件は、例えば、予め定められた閾値(例えば1等)以下である場合に満たされる条件である。暗号化距離計算部205は、類似と判断した場合は、対応する参照特徴量(つまり一定条件を満たすかの判断のための内積演算に用いられた暗号化第2変換特徴量の基礎となる参照特徴量)に対応付けられているIDを抽出する。暗号化距離計算部205は、類似と判断しなかった場合は、対応する参照特徴量のIDは抽出しない。 The encrypted distance calculation unit 205 determines whether or not the Euclidean distances obtained by the inner product calculation (results of the inner product calculation) are similar depending on whether a certain condition is satisfied. The certain condition is a condition that is satisfied when it is equal to or less than a predetermined threshold value (for example, 1). When the encryption distance calculation unit 205 determines that they are similar, the corresponding reference feature amount (that is, the reference that is the basis of the encrypted second conversion feature amount used in the inner product operation for determining whether a certain condition is satisfied) The ID associated with the (feature amount) is extracted. The encrypted distance calculation unit 205 does not extract the ID of the corresponding reference feature amount when it is not determined to be similar.

暗号化距離計算部205は、参照特徴量格納部201に格納されている複数の参照特徴量に、それぞれ第2変換を施して内積暗号を施したものである複数の暗号化第2変換特徴量のそれぞれについて、その暗号化第2変換特徴量と、ユーザ端末装置100から受信した特徴量に第1変換が施され内積暗号が施されたものである暗号化第1変換特徴量とを用いた内積演算を行って、上述の一定条件を満たすか否かの判断を行う。これにより、参照特徴量格納部201に格納されている複数の参照特徴量のうち、類似の判断に係るその一定条件を満たす1つ以上の参照特徴量に対応するIDが抽出されることになる。 The encryption distance calculation unit 205 performs a second conversion on each of the plurality of reference feature amounts stored in the reference feature amount storage unit 201 to perform inner product encryption, and thus a plurality of encrypted second transformed feature amounts. For each of the above, the encrypted second conversion feature amount and the encrypted first conversion feature amount obtained by performing the first conversion on the feature amount received from the user terminal device 100 and performing inner product encryption are used. An inner product calculation is performed to determine whether or not the above-described certain condition is satisfied. As a result, among the plurality of reference feature quantities stored in the reference feature quantity storage unit 201, the IDs corresponding to one or more reference feature quantities satisfying the certain condition for similarity determination are extracted. ..

1.3.6 暗号化参照データ抽出部
暗号化参照データ抽出部206は、暗号化距離計算部205において抽出した1つ以上のIDに対応した参照データを、参照データ格納部207から抽出して暗号化し、暗号化した参照データを、通信部208を介してユーザ端末装置100に送信する。なお、暗号化参照データ抽出部206は、暗号化の前に、参照データ(例えば症例等の情報)から対応する人を特定できないように匿名化してもよい。また、暗号化参照データ抽出部206は、IDに対応して抽出した1つ以上の参照データについて、平均、分布等といった統計情報を求めて、これを暗号化してユーザ端末装置100に送信することとしてもよい。
1.3.6 Encrypted Reference Data Extraction Unit The encrypted reference data extraction unit 206 extracts from the reference data storage unit 207 the reference data corresponding to the one or more IDs extracted by the encrypted distance calculation unit 205. The encrypted reference data is transmitted to the user terminal device 100 via the communication unit 208. The encrypted reference data extraction unit 206 may be anonymized so that the corresponding person cannot be specified from the reference data (for example, information such as a case) before the encryption. In addition, the encrypted reference data extraction unit 206 obtains statistical information such as average and distribution for one or more reference data extracted corresponding to the ID, encrypts the statistical information, and transmits the encrypted statistical information to the user terminal device 100. May be

1.3.7 参照データ格納部
参照データ格納部207は、ユーザ端末装置100からの要求に応じて類似検索を行う際に、検索の対象となる複数の参照特徴量に対応する複数の参照データを格納する。例えば、ある人についての測定結果等の情報から抽出された参照特徴量に対応する参照データは、その人のその情報に関連する。図6Bは、参照データ格納部207に格納されている参照データの例を示す。参照データ格納部207には、複数の参照データそれぞれが、識別子(ID)と対応付けて格納される。IDにより、参照特徴量と参照データとは対応付けられている。図6Bの例では、参照データ格納部207には、ID毎に、IDと参照データEzとが格納されている。各参照データは、例えば、複数人それぞれについての測定結果等の情報から抽出されたものであり得る。例えば、参照特徴量が人の身体に係る指標(例えば血圧、心拍数等)である場合において参照データは、例えば、その人の病気及び治療の履歴等であってもよい。また、例えば、参照特徴量が、人の位置情報を示すものである場合において参照データは、例えば、その人が購入した商品の履歴等であってもよい。図6Bの例では、IDが1の人は、2013年10月に脳梗塞で入院、IDが2の人は、1999年2月に糖尿病で加療開始等といった病気及び治療の履歴を蓄積している。なお、参照データ格納部207に参照データを暗号化して格納しておいてもよい。
1.3.7 Reference Data Storage Unit The reference data storage unit 207, when performing a similarity search in response to a request from the user terminal device 100, has a plurality of reference data items corresponding to a plurality of reference feature amounts to be searched. To store. For example, the reference data corresponding to the reference feature amount extracted from the information such as the measurement result of a person is related to the information of the person. FIG. 6B shows an example of reference data stored in the reference data storage unit 207. Each of the plurality of reference data is stored in the reference data storage unit 207 in association with an identifier (ID). The reference feature amount and the reference data are associated with each other by the ID. In the example of FIG. 6B, the reference data storage unit 207 stores an ID and reference data Ez for each ID. Each reference data may be, for example, one extracted from information such as a measurement result for each of a plurality of people. For example, when the reference feature amount is an index (for example, blood pressure, heart rate, etc.) related to a human body, the reference data may be, for example, a history of illness and treatment of the person. Further, for example, when the reference feature amount indicates the position information of a person, the reference data may be, for example, a history of products purchased by the person. In the example of FIG. 6B, the person with ID 1 is hospitalized for cerebral infarction in October 2013, and the person with ID 2 accumulates history of illness and treatment, such as start of medical treatment with diabetes in February 1999. There is. The reference data may be encrypted and stored in the reference data storage unit 207.

参照データ格納部207と参照特徴量格納部201とは、例えばデータ演算装置200におけるメモリ、ハードディスク等の記憶媒体で実装され、記憶媒体において、複数の参照データと、複数の参照特徴量とが対応付けて記憶されることになる。 The reference data storage unit 207 and the reference feature amount storage unit 201 are implemented, for example, by a storage medium such as a memory or a hard disk in the data processing device 200, and in the storage medium, a plurality of reference data and a plurality of reference feature amounts correspond to each other. It will be attached and memorized.

1.3.8 通信部
通信部208は、ユーザ端末装置100との通信を行う。この通信には、例えばTLSプロトコルによる暗号通信を用いる。データ演算装置200は、通信部208により、ユーザ端末装置100との間でTLSに基づいて相互に認証し、データの暗号化を行う。TLSに用いる公開鍵証明書や秘密鍵は、通信部208において保持している。
1.3.8 Communication Unit The communication unit 208 communicates with the user terminal device 100. For this communication, for example, encrypted communication based on the TLS protocol is used. The data computing device 200 mutually authenticates with the user terminal device 100 by the communication unit 208 based on TLS, and encrypts the data. The public key certificate and private key used for TLS are held in the communication unit 208.

通信部208は、ユーザ端末装置100から、暗号化された特徴量に関する情報を伴う類似検索の要求を受信し、その情報を暗号化距離計算部205に伝達する。また、通信部208は、暗号化参照データ抽出部206で暗号化された参照データを、類似検索の要求に対する返答(応答)としてユーザ端末装置100へ送信する。 The communication unit 208 receives, from the user terminal device 100, a request for a similarity search including information about the encrypted feature amount, and transfers the information to the encrypted distance calculation unit 205. The communication unit 208 also transmits the reference data encrypted by the encrypted reference data extraction unit 206 to the user terminal device 100 as a response (response) to the request for similarity search.

1.4 検索システムの動作
1.4.1 動作処理
図8は、検索システム10の動作を示すシーケンス図である。以下、検索システム10の動作について図8に即して説明する。
1.4 Operation of Search System 1.4.1 Operation Processing FIG. 8 is a sequence diagram showing the operation of the search system 10. The operation of the search system 10 will be described below with reference to FIG.

データ演算装置200は、参照特徴量変換部202において、参照特徴量格納部201に格納されている各参照特徴量Ykを変換する(ステップS101)。これにより、各参照特徴量Ykが第2変換により変換され、複数の第2変換特徴量Yk’が生成される。 In the data calculation device 200, the reference feature amount conversion unit 202 converts each reference feature amount Yk stored in the reference feature amount storage unit 201 (step S101). Thereby, each reference feature amount Yk is transformed by the second transformation, and a plurality of second transformed feature amounts Yk' are generated.

次に、データ演算装置200は、参照特徴量変換部202により変換された各参照特徴量を参照特徴量暗号部203において暗号化する(ステップS102)。これにより、各第2変換特徴量が所定の内積暗号により暗号化され、複数の暗号化参照特徴量(暗号化第2変換特徴量)が生成される。 Next, the data operation device 200 encrypts each reference feature amount converted by the reference feature amount conversion unit 202 in the reference feature amount encryption unit 203 (step S102). As a result, each second conversion feature amount is encrypted by the predetermined inner product encryption, and a plurality of encrypted reference feature amounts (encrypted second conversion feature amounts) are generated.

ユーザ端末装置100は、センシング部101で情報(ユーザについてのプライバシーデータ)を取得する(ステップS103)。 The user terminal device 100 acquires information (privacy data about the user) with the sensing unit 101 (step S103).

続いてユーザ端末装置100は、特徴量算出部102において、センシング部101で取得した情報から特徴量Xを算出(抽出)する(ステップS104)。 Then, the user terminal device 100 calculates (extracts) the feature amount X from the information acquired by the sensing unit 101 in the feature amount calculation unit 102 (step S104).

次に、ユーザ端末装置100は、特徴量変換部103において、特徴量Xを変換する(ステップS105)。これにより、特徴量Xが第1変換により変換され、第1変換特徴量X’が生成される。 Next, in the user terminal device 100, the characteristic amount conversion unit 103 converts the characteristic amount X (step S105). As a result, the feature quantity X is transformed by the first transformation, and the first transformed feature quantity X′ is generated.

次に、ユーザ端末装置100は、特徴量暗号部105において、変換された特徴量(第1変換特徴量X’)を暗号化する(ステップS106)。これにより、第1変換特徴量が内積暗号により暗号化され、暗号化特徴量(暗号化第1変換特徴量)が生成される。 Next, the user terminal device 100 encrypts the converted feature amount (first converted feature amount X') in the feature amount encryption unit 105 (step S106). As a result, the first conversion feature amount is encrypted by the inner product encryption, and the encrypted feature amount (encrypted first conversion feature amount) is generated.

そして、ユーザ端末装置100は、通信部108において、暗号化した特徴量をデータ演算装置200に送信して、一定条件を満たす類似のデータを要求する(ステップS107)。類似のデータは、例えば、ユーザについての特徴量に類似した特徴を有する他の人についてのデータ(参照データ)である。これにより暗号化特徴量(暗号化第1変換特徴量)がユーザ端末装置100からデータ演算装置200に送信されることになる。 Then, in the user terminal device 100, the communication unit 108 transmits the encrypted feature amount to the data calculation device 200 to request similar data satisfying a certain condition (step S107). The similar data is, for example, data (reference data) about another person having a feature similar to the feature amount of the user. As a result, the encrypted feature amount (encrypted first conversion feature amount) is transmitted from the user terminal device 100 to the data processing device 200.

次に、データ演算装置200は、ステップS102で生成された複数の暗号化参照特徴量のうちi番目のIDに対応する暗号化参照特徴量を選択する(ステップS108)。ここで、iは、例えば最初は1であり、ステップS102で生成された暗号化参照特徴量の数(つまり参照特徴量或いはIDの総数)になるまで、ステップS108が繰り返される毎にiが1増加する。 Next, the data processing device 200 selects the encrypted reference feature quantity corresponding to the i-th ID from the plurality of encrypted reference feature quantities generated in step S102 (step S108). Here, i is, for example, 1 at the beginning, and i is set to 1 each time step S108 is repeated until the number of encrypted reference feature amounts generated in step S102 (that is, the total number of reference feature amounts or IDs) is reached. To increase.

データ演算装置200は、暗号化距離計算部205において、ステップS108で選択した暗号化参照特徴量(暗号化第2変換特徴量)と、ユーザ端末装置100から受信した暗号化特徴量(暗号化第1変換特徴量)とを用いた内積演算により内積を計算する(ステップS109)。この計算結果により特徴量とi番目のIDに対応する参照特徴量とのユークリッド距離が得られる。 In the data calculation device 200, the encryption distance calculation unit 205 causes the encrypted reference feature amount (encrypted second conversion feature amount) selected in step S108 and the encrypted feature amount (encrypted second feature amount) received from the user terminal device 100. The inner product is calculated by the inner product calculation using (1 conversion feature amount) (step S109). From this calculation result, the Euclidean distance between the feature amount and the reference feature amount corresponding to the i-th ID can be obtained.

データ演算装置200は、暗号化距離計算部205においてステップS109での計算で導出されたユークリッド距離が所定の閾値以下であるか否かにより類似に係る一定条件を満たしているか否かをチェック(判断)する(ステップS110)。ステップS110でユークリッド距離が所定の閾値以下であった場合には、暗号化距離計算部205は、特徴量と参照特徴量とが類似していると判断して、i番目のIDを抽出する(ステップS111)。 The data calculation device 200 checks whether the Euclidean distance derived by the calculation in step S109 in the encryption distance calculation unit 205 is equal to or less than a predetermined threshold value to satisfy a certain condition for similarity (determination). ) (Step S110). When the Euclidean distance is equal to or smaller than the predetermined threshold value in step S110, the encrypted distance calculation unit 205 determines that the feature amount and the reference feature amount are similar to each other and extracts the i-th ID ( Step S111).

データ演算装置200は、ステップS108〜S111の処理を、全てのIDに係るチェックを終えるまで繰り返し、その後に、暗号化参照データ抽出部206において、ステップS111で抽出された1つ以上のIDそれぞれに対応した参照データを参照データ格納部207から抽出して暗号化する(ステップS112)。 The data processing device 200 repeats the processing of steps S108 to S111 until the check relating to all IDs is completed, and thereafter, in the encrypted reference data extraction unit 206, for each of the one or more IDs extracted in step S111. The corresponding reference data is extracted from the reference data storage unit 207 and encrypted (step S112).

そして、データ演算装置200は、通信部208において、ステップS112で暗号化された参照データを送信する(ステップS113)。これにより、1つ以上の参照データを示す情報がユーザ端末装置100へ送信される。 Then, the data processing device 200 transmits the reference data encrypted in step S112 in the communication unit 208 (step S113). Thereby, information indicating one or more reference data is transmitted to the user terminal device 100.

この送信された、暗号化された参照データを受信して、ユーザ端末装置100では、復号部106でその参照データを復号し、参照データ利用部107で参照データを利用する(ステップS114)。 Upon receiving the transmitted encrypted reference data, the decryption unit 106 of the user terminal device 100 decrypts the reference data, and the reference data utilization unit 107 utilizes the reference data (step S114).

1.4.2 ユーザ端末装置とデータ演算装置との間での通信
図9A及び図9BはそれぞれステップS107、ステップS113で、ユーザ端末装置100とデータ演算装置200との間で授受される通信データのフォーマット例を示す。図9A及び図9Bの例に係る通信データは、いずれも、送信者、受信者、コマンド及びデータから構成される。送信者は、通信データの送信元の装置の識別情報(通信ネットワークのアドレス等)であり、受信者は、通信データの送信先(宛先)の装置の識別情報(通信ネットワークのアドレス等)である。図9Aでは、ステップS107でユーザ端末装置100から送信される通信データについて、コマンドとして、類似のデータに係る要求コマンドを示す情報が含まれ、データとして、暗号化特徴量(暗号化第1変換特徴量)が含まれる例を示している。図9Bでは、ステップS113でデータ演算装置200から送信される通信データについて、コマンドとして、類似のデータに係る返答コマンドを示す情報が含まれ、データとして、2つの暗号化された参照データが含まれる例を示している。
1.4.2 Communication Between User Terminal Device and Data Processing Device FIGS. 9A and 9B are communication data exchanged between the user terminal device 100 and the data processing device 200 in steps S107 and S113, respectively. An example of the format is shown below. The communication data according to the examples of FIGS. 9A and 9B each include a sender, a receiver, a command, and data. The sender is the identification information (the communication network address or the like) of the transmission source device of the communication data, and the receiver is the identification information (the communication network address or the like) of the communication data transmission destination (destination) device. .. In FIG. 9A, as for the communication data transmitted from the user terminal device 100 in step S107, information indicating a request command related to similar data is included as a command, and as the data, the encrypted feature amount (encryption first conversion feature) is included. Quantity) is included. In FIG. 9B, for the communication data transmitted from the data processing device 200 in step S113, the command includes information indicating a reply command related to similar data, and the data includes two encrypted reference data. An example is shown.

なお、ユーザ端末装置100及びデータ演算装置200が、図8に示すシーケンスに係る処理を複数並列的に実行し得るような場合には、ステップS107とステップS113との通信データが対応するものであることを識別するための識別子を通信データ内に含めてもよい。このとき、要求コマンドを含む通信データに対応する返答コマンドを含む通信データにおいて識別子として同一値を設定する。また、複数のユーザ端末装置と複数のデータ演算装置との間で並行して通信データの授受が行われるような場合においても、同様であり、ステップS107とステップS113との通信データが対応するものであることを識別するための識別子を通信データ内に含めてもよい。 If the user terminal device 100 and the data processing device 200 can execute a plurality of processes related to the sequence shown in FIG. 8 in parallel, the communication data of step S107 and step S113 correspond to each other. An identifier for identifying that may be included in the communication data. At this time, the same value is set as the identifier in the communication data including the reply command corresponding to the communication data including the request command. The same applies to the case where communication data is exchanged in parallel between a plurality of user terminal devices and a plurality of data processing devices, and the communication data in steps S107 and S113 correspond to each other. An identifier for identifying that is included in the communication data.

1.5 実施の形態1の効果
実施の形態1に係る検索システム10では、データ演算装置200は、ユーザ端末装置100で特徴量に第1変換を施して内積暗号で暗号化した暗号化特徴量(暗号化第1変換特徴量)を含む情報を受信し、保持する各参照特徴量に第2変換を施して内積暗号で暗号化した暗号化参照特徴量(暗号化第2変換特徴量)を用いて、暗号化したまま内積演算によって特徴量と各参照特徴量とのユークリッド距離を導出することで、類似のデータ(類似の参照特徴量に対応する参照データ)を抽出する。ユークリッド距離が所定の閾値以下の類似する参照特徴量に対応する参照データだけを抽出してユーザ端末装置100に送付するため、ユーザ端末装置100における処理負荷(計算量)と、通信量とを、例えば従来の準同型暗号を用いた類似検索の場合に比べて、低減させ得る。また、ユーザのプライバシーデータであり得る特徴量をデータ演算装置200において平文で扱わないため、ユーザのプライバシーが保護され得る。
1.5 Effect of First Embodiment In the search system 10 according to the first embodiment, the data computing device 200 performs the first conversion on the feature amount in the user terminal device 100 and encrypts it with the inner product encryption. Information including (encrypted first conversion feature amount) is received, and each reference feature amount held is subjected to the second conversion and encrypted reference feature amount (encrypted second conversion feature amount) encrypted by inner product encryption Using the same, the Euclidean distance between the feature amount and each reference feature amount is derived by an inner product operation while being encrypted, to extract similar data (reference data corresponding to similar reference feature amounts). In order to extract only the reference data corresponding to the similar reference feature amount whose Euclidean distance is equal to or less than the predetermined threshold value and send it to the user terminal device 100, the processing load (calculation amount) and the communication amount in the user terminal device 100 are For example, it can be reduced as compared with the case of the similarity search using the conventional homomorphic encryption. In addition, since the feature amount, which may be the user's privacy data, is not handled in plain text in the data calculation device 200, the user's privacy can be protected.

(実施の形態2)
以下、実施の形態1で示した検索システム10の一部を変形して、データ演算装置200を2つの装置に分離した例である検索システム11について説明する。
(Embodiment 2)
Hereinafter, a description will be given of a search system 11 which is an example in which a part of the search system 10 described in the first embodiment is modified and the data operation device 200 is separated into two devices.

2.1 検索システムの全体構成
図10は、実施の形態2に係る検索システム11の全体構成を示す構成図である。検索システム11は、ユーザ端末装置100とデータ演算装置200aとデータ提供装置300とを備える。即ち、検索システム11では、実施の形態1に係る検索システム10におけるデータ演算装置200を、データ演算装置200aとデータ提供装置300とに分離している。データ提供装置300では、参照特徴量と参照データとを暗号化してデータ演算装置200aに提供する。データ演算装置200aでは、特徴量、参照特徴量及び参照データのいずれについても平文では扱わない。なお、検索システム11において、検索システム10(図2、図3及び図5参照)と同じ構成要素については、同じ符号を付して、説明を適宜省略する。ここで特に説明しない点については、検索システム11は、検索システム10と同様である。
2.1 Overall Configuration of Search System FIG. 10 is a configuration diagram showing the overall configuration of the search system 11 according to the second embodiment. The search system 11 includes a user terminal device 100, a data calculation device 200a, and a data providing device 300. That is, in the search system 11, the data operation device 200 in the search system 10 according to the first embodiment is separated into the data operation device 200a and the data providing device 300. The data providing device 300 encrypts the reference feature amount and the reference data and provides the encrypted data to the data computing device 200a. The data calculation device 200a does not handle any of the feature amount, the reference feature amount, and the reference data in plain text. In the search system 11, the same components as those of the search system 10 (see FIGS. 2, 3, and 5) are designated by the same reference numerals, and the description thereof will be omitted as appropriate. The search system 11 is the same as the search system 10 unless otherwise specified here.

図10では、ユーザ端末装置100とデータ演算装置200aとデータ提供装置300とをそれぞれ1つずつ示したが、それぞれ1つ以上あればよく、複数あってもよい。また、各装置間の接続形態は、有線接続でも無線接続でもよい。 In FIG. 10, one each of the user terminal device 100, the data processing device 200a, and the data providing device 300 is shown, but there may be one or more each, and there may be a plurality. Further, the connection form between the respective devices may be wired connection or wireless connection.

2.2 データ演算装置
データ演算装置200aは、図10に示すように、鍵格納部204と、暗号化距離計算部205と、暗号化参照データ抽出部206と、通信部208とを含んで構成される。
2.2 Data Arithmetic Device As shown in FIG. 10, the data arithmetic device 200a includes a key storage unit 204, an encrypted distance calculation unit 205, an encrypted reference data extraction unit 206, and a communication unit 208. To be done.

データ演算装置200aは、例えば、プロセッサ、メモリ、通信インタフェース等を備えるコンピュータに実装され得る。例えば、メモリに格納されたプログラムをプロセッサが実行すること等によりデータ演算装置200aにおける各種機能が実現され得る。データ演算装置200aは、ユーザ端末装置100からの特徴量に関する類似検索の要求(特徴量が変換され暗号化された情報を伴う要求)を受信して、データ提供装置300から暗号化された参照特徴量を取得して類似検索を行い、検索結果としてデータ提供装置300から取得した暗号化された参照データを、要求に対する返答としてユーザ端末装置100に送信する。 The data processing device 200a can be implemented in, for example, a computer including a processor, a memory, a communication interface and the like. For example, various functions of the data processing device 200a can be realized by the processor executing a program stored in the memory. The data calculation device 200a receives a request for similarity search regarding a feature amount from the user terminal device 100 (a request accompanied by information in which the feature amount is converted and encrypted), and the encrypted reference feature from the data providing device 300. The amount is acquired, a similar search is performed, and the encrypted reference data acquired from the data providing apparatus 300 as the search result is transmitted to the user terminal apparatus 100 as a response to the request.

鍵格納部204は、暗号化参照データ抽出部206における暗号処理に用いる鍵を格納する。暗号化参照データ抽出部206で、データ提供装置300から受信した参照データについて、ユーザ端末装置100に送信するために暗号化するために用いる鍵は、例えば、一般の公開鍵暗号方式のユーザ端末装置100の公開鍵等である。 The key storage unit 204 stores a key used for encryption processing in the encrypted reference data extraction unit 206. In the encrypted reference data extraction unit 206, the key used for encrypting the reference data received from the data providing apparatus 300 to be transmitted to the user terminal device 100 is, for example, a general public key encryption user terminal device. For example, the public key of 100.

暗号化距離計算部205は、ユーザ端末装置100が送信した類似検索の要求に係る情報(特徴量に第1変換が施され内積暗号による暗号化が施されたものである暗号化第1変換特徴量等)を、通信部208を介して取得する。また、暗号化距離計算部205は、データ提供装置300において参照特徴量暗号部303により参照特徴量に基づく第2変換特徴量が暗号化されたものである各暗号化第2変換特徴量を要求して取得する。暗号化距離計算部205は、ユーザ端末装置100が生成した特徴量とデータ提供装置300に格納している各参照特徴量とのユークリッド距離を、それぞれ暗号化したまま、内積演算により求める。 The encrypted distance calculation unit 205 is information related to the request for similarity search transmitted by the user terminal device 100 (encrypted first conversion feature obtained by performing the first conversion on the feature amount and the inner product encryption). Amount) is acquired via the communication unit 208. Further, the encryption distance calculation unit 205 requests each encrypted second conversion feature amount that is the second conversion feature amount encrypted by the reference feature amount encryption unit 303 in the data providing apparatus 300 based on the reference feature amount. And get it. The encrypted distance calculation unit 205 obtains the Euclidean distance between the feature amount generated by the user terminal device 100 and each reference feature amount stored in the data providing device 300 by the inner product calculation while keeping the encryption.

暗号化参照データ抽出部206は、暗号化距離計算部205において抽出した1つ以上のIDに対応した参照データを、通信部208を介してデータ提供装置300に要求することで取得して、データ提供装置300から取得した参照データを、ユーザ端末装置100に通信部208を介して送信する。暗号化参照データ抽出部206は、参照データのユーザ端末装置100への送信に際して参照データを暗号化し得る。なお、データ提供装置300が、ユーザ端末装置100の公開鍵等を用いて参照データを暗号化して送信することとしてもよく、この場合には、暗号化参照データ抽出部206では、暗号化を省略して、データ提供装置300から受信した参照データをユーザ端末装置100に転送する。 The encrypted reference data extraction unit 206 acquires the reference data corresponding to the one or more IDs extracted by the encrypted distance calculation unit 205 by requesting the data providing device 300 via the communication unit 208, and acquires the data. The reference data acquired from the providing device 300 is transmitted to the user terminal device 100 via the communication unit 208. The encrypted reference data extraction unit 206 can encrypt the reference data when transmitting the reference data to the user terminal device 100. The data providing apparatus 300 may encrypt the reference data by using the public key of the user terminal device 100 or the like, and in this case, the encrypted reference data extracting unit 206 omits the encryption. Then, the reference data received from the data providing device 300 is transferred to the user terminal device 100.

通信部208は、ユーザ端末装置100との通信を行う他に、データ提供装置300との通信を行う。これらの通信には、例えばTLSプロトコルによる暗号通信を用いる。データ演算装置200aは、通信部208により、ユーザ端末装置100或いはデータ提供装置300との間でTLSに基づいて相互に認証し、データの暗号化を行う。TLSに用いる公開鍵証明書や秘密鍵は、通信部208において保持している。 The communication unit 208 communicates with the user terminal device 100 and also communicates with the data providing device 300. For these communications, for example, encrypted communications based on the TLS protocol are used. The data computing device 200a mutually authenticates with the user terminal device 100 or the data providing device 300 based on TLS by the communication unit 208, and encrypts the data. The public key certificate and private key used for TLS are held in the communication unit 208.

2.3 データ提供装置
データ提供装置300は、例えば、プロセッサ、メモリ、通信インタフェース等を備えるコンピュータに実装され得る。例えば、メモリに格納されたプログラムをプロセッサが実行すること等によりデータ提供装置300における各種機能が実現され得る。データ提供装置300は、データ演算装置200aからの複数の暗号化参照特徴量(暗号化第2変換特徴量)を要求されると、各々にIDを付してデータ演算装置200aに送信し、また、データ演算装置200aからIDを指定して参照データを要求されると、参照データをデータ演算装置200aに送信する。
2.3 Data Providing Device The data providing device 300 can be implemented in, for example, a computer including a processor, a memory, a communication interface, and the like. For example, various functions of the data providing apparatus 300 can be realized by the processor executing a program stored in the memory. When a plurality of encrypted reference feature quantities (encrypted second conversion feature quantities) are requested from the data computing device 200a, the data providing device 300 assigns an ID to each and sends them to the data computing device 200a. When the data processing device 200a requests the reference data by designating the ID, the reference data is transmitted to the data processing device 200a.

データ提供装置300は、図10に示すように、参照特徴量格納部301と、参照特徴量変換部302と、参照特徴量暗号部303と、鍵格納部304と、参照データ格納部305と、参照データ暗号部306と、通信部307とを含んで構成される。参照特徴量格納部301、参照特徴量変換部302、参照特徴量暗号部303及び参照データ格納部305は、それぞれ、実施の形態1で示した参照特徴量格納部201、参照特徴量変換部202、参照特徴量暗号部203、参照データ格納部207と同様の機能を有するので、ここでは説明を省略する。 As shown in FIG. 10, the data providing device 300 includes a reference feature amount storage unit 301, a reference feature amount conversion unit 302, a reference feature amount encryption unit 303, a key storage unit 304, a reference data storage unit 305, The reference data encryption unit 306 and the communication unit 307 are included. The reference feature amount storage unit 301, the reference feature amount conversion unit 302, the reference feature amount encryption unit 303, and the reference data storage unit 305 are respectively the reference feature amount storage unit 201 and the reference feature amount conversion unit 202 described in the first embodiment. The reference feature quantity encryption unit 203 and the reference data storage unit 207 have the same functions, and therefore the description thereof will be omitted here.

鍵格納部304は、参照特徴量暗号部303において、変換された参照特徴量の暗号化に用いる鍵と、参照データ暗号部306において参照データの暗号化に用いる鍵とを保持する。参照データの暗号化には、例えばユーザ端末装置100の公開鍵等を用いることとしてもよいし、データ提供装置300とデータ演算装置200aとで共有する秘密鍵等を用いることとしてもよい。 The key storage unit 304 holds a key used by the reference feature amount encryption unit 303 to encrypt the converted reference feature amount and a key used by the reference data encryption unit 306 to encrypt the reference data. For encryption of the reference data, for example, a public key of the user terminal device 100 or the like may be used, or a secret key shared by the data providing device 300 and the data processing device 200a may be used.

参照データ暗号部306は、参照データ格納部305で保持する参照データのうち、データ演算装置200aがIDを指定して要求した参照データを暗号化して、その暗号化した参照データをデータ演算装置200aへ通信部307を介して送信する。 Of the reference data stored in the reference data storage unit 305, the reference data encryption unit 306 encrypts the reference data requested by the data operation device 200a by specifying the ID, and the encrypted reference data is used as the data operation device 200a. To the communication unit 307.

通信部307は、データ演算装置200aとの通信を行う。通信には、例えばTLSプロトコルによる暗号通信を用いる。データ提供装置300は、通信部307により、データ演算装置200aとの間でTLSに基づいて相互に認証し、データの暗号化を行う。TLSに用いる公開鍵証明書や秘密鍵は、通信部307において保持している。 The communication unit 307 communicates with the data processing device 200a. For the communication, for example, encrypted communication based on the TLS protocol is used. The data providing device 300 mutually authenticates with the data processing device 200a by the communication unit 307 based on TLS, and performs data encryption. The public key certificate and private key used for TLS are held in the communication unit 307.

2.4 検索システムの動作
2.4.1 動作処理
図11は、検索システム11の動作を示すシーケンス図である。以下、検索システム11の動作について図11に即して説明する。
2.4 Search System Operation 2.4.1 Operation Processing FIG. 11 is a sequence diagram showing the operation of the search system 11. The operation of the search system 11 will be described below with reference to FIG.

データ提供装置300は、参照特徴量変換部302において、参照特徴量格納部301に格納されている各参照特徴量Ykを変換する(ステップS201)。これにより、各参照特徴量Ykが第2変換により変換され、複数の第2変換特徴量Yk’が生成される。 The data providing apparatus 300 causes the reference feature amount conversion unit 302 to convert each reference feature amount Yk stored in the reference feature amount storage unit 301 (step S201). Thereby, each reference feature amount Yk is transformed by the second transformation, and a plurality of second transformed feature amounts Yk' are generated.

次に、データ提供装置300は、参照特徴量変換部302により変換された各参照特徴量を参照特徴量暗号部303において暗号化する(ステップS202)。これにより、各第2変換特徴量が所定の内積暗号により暗号化され、複数の暗号化参照特徴量(暗号化第2変換特徴量)が生成される。 Next, the data providing apparatus 300 encrypts each reference feature amount converted by the reference feature amount conversion unit 302 in the reference feature amount encryption unit 303 (step S202). As a result, each second conversion feature amount is encrypted by the predetermined inner product encryption, and a plurality of encrypted reference feature amounts (encrypted second conversion feature amounts) are generated.

データ提供装置300は、例えばデータ演算装置200aの要求に応じて、複数の暗号化参照特徴量を該当のIDと対応付けてデータ演算装置200aへ送信する(ステップS203)。データ演算装置200aでは、複数の暗号化参照特徴量(暗号化第2変換特徴量)を受信により取得する。 For example, in response to a request from the data processing device 200a, the data providing device 300 associates a plurality of encrypted reference feature amounts with the corresponding IDs and sends them to the data processing device 200a (step S203). The data processing device 200a acquires a plurality of encrypted reference feature quantities (encrypted second conversion feature quantities) by receiving.

ユーザ端末装置100は、センシング部101で情報(ユーザについてのプライバシーデータ)を取得する(ステップS204)。 The user terminal device 100 acquires information (privacy data about the user) by the sensing unit 101 (step S204).

続いてユーザ端末装置100は、特徴量算出部102において、センシング部101で取得した情報から特徴量Xを算出(抽出)する(ステップS205)。 Subsequently, in the user terminal device 100, the feature amount calculation unit 102 calculates (extracts) the feature amount X from the information acquired by the sensing unit 101 (step S205).

次に、ユーザ端末装置100は、特徴量変換部103において、特徴量Xを変換する(ステップS206)。これにより、特徴量Xが第1変換により変換され、第1変換特徴量X’が生成される。 Next, in the user terminal device 100, the characteristic amount conversion unit 103 converts the characteristic amount X (step S206). As a result, the feature quantity X is transformed by the first transformation, and the first transformed feature quantity X′ is generated.

次に、ユーザ端末装置100は、特徴量暗号部105において、変換された特徴量(第1変換特徴量X’)を暗号化する(ステップS207)。これにより、第1変換特徴量が内積暗号により暗号化され、暗号化特徴量(暗号化第1変換特徴量)が生成される。 Next, the user terminal device 100 encrypts the converted feature amount (first converted feature amount X') in the feature amount encryption unit 105 (step S207). As a result, the first conversion feature amount is encrypted by the inner product encryption, and the encrypted feature amount (encrypted first conversion feature amount) is generated.

そして、ユーザ端末装置100は、通信部108において、暗号化した特徴量をデータ演算装置200aに送信して、一定条件を満たす類似のデータを要求する(ステップS208)。類似のデータは、例えば、ユーザについての特徴量に類似した特徴を有する他の人についてのデータ(参照データ)である。これにより暗号化特徴量(暗号化第1変換特徴量)がユーザ端末装置100からデータ演算装置200aに送信されることになる。 Then, in the user terminal device 100, the communication unit 108 transmits the encrypted feature amount to the data calculation device 200a, and requests similar data satisfying a certain condition (step S208). The similar data is, for example, data (reference data) about another person having a feature similar to the feature amount of the user. As a result, the encrypted feature amount (encrypted first conversion feature amount) is transmitted from the user terminal device 100 to the data processing device 200a.

次に、データ演算装置200aは、データ提供装置300から取得した複数の暗号化参照特徴量のうちi番目のIDに対応する暗号化参照特徴量を選択する(ステップS209)。ここで、iは、例えば最初は1であり、ステップS202で生成された暗号化参照特徴量の数(つまり参照特徴量或いはIDの総数)になるまで、ステップS209が繰り返される毎にiが1増加する。 Next, the data processing device 200a selects the encrypted reference feature amount corresponding to the i-th ID from the plurality of encrypted reference feature amounts acquired from the data providing device 300 (step S209). Here, i is, for example, 1 at the beginning, and i is incremented by 1 each time step S209 is repeated until the number of encrypted reference feature amounts generated in step S202 (that is, the total number of reference feature amounts or IDs) is reached. To increase.

データ演算装置200aは、暗号化距離計算部205において、ステップS209で選択した暗号化参照特徴量(暗号化第2変換特徴量)と、ユーザ端末装置100から受信した暗号化特徴量(暗号化第1変換特徴量)とを用いた内積演算により内積を計算する(ステップS210)。この計算結果により特徴量とi番目のIDに対応する参照特徴量とのユークリッド距離が得られる。 In the data calculation device 200a, the encryption distance calculation unit 205 uses the encrypted reference feature amount (encrypted second conversion feature amount) selected in step S209 and the encrypted feature amount (encrypted second feature amount) received from the user terminal device 100. The inner product is calculated by the inner product calculation using (1 conversion feature amount) (step S210). From this calculation result, the Euclidean distance between the feature amount and the reference feature amount corresponding to the i-th ID can be obtained.

データ演算装置200aは、暗号化距離計算部205においてステップS210での計算で導出されたユークリッド距離が所定の閾値以下であるか否かにより類似に係る一定条件を満たしているか否かをチェック(判断)する(ステップS211)。ステップS211でユークリッド距離が所定の閾値以下であった場合には、暗号化距離計算部205は、特徴量と参照特徴量とが類似していると判断して、i番目のIDを抽出する(ステップS212)。 The data calculation device 200a checks whether the Euclidean distance derived by the calculation in step S210 in the encryption distance calculation unit 205 is equal to or less than a predetermined threshold value to satisfy a certain condition for similarity (determination). ) (Step S211). If the Euclidean distance is equal to or smaller than the predetermined threshold value in step S211, the encrypted distance calculation unit 205 determines that the feature amount and the reference feature amount are similar to each other, and extracts the i-th ID ( Step S212).

データ演算装置200aは、ステップS209〜S212の処理を、全てのIDに係るチェックを終えるまで繰り返し、ステップS212で抽出された1つ以上のIDを指定した参照データの要求をデータ提供装置300に送信する(ステップS213)。 The data processing device 200a repeats the processing of steps S209 to S212 until the check relating to all IDs is completed, and transmits a request for reference data specifying one or more IDs extracted in step S212 to the data providing device 300. Yes (step S213).

参照データの要求を受信したデータ提供装置300は、データ演算装置から受信したIDに対応した参照データを参照データ格納部305から抽出して、参照データ暗号部306で暗号化する(ステップS214)。 Upon receiving the reference data request, the data providing apparatus 300 extracts the reference data corresponding to the ID received from the data processing apparatus from the reference data storage unit 305 and encrypts the reference data by the reference data encryption unit 306 (step S214).

データ提供装置300は、参照データ暗号部306で暗号化された参照データを通信部307においてデータ演算装置200aへ送信する(ステップS215)。 The data providing device 300 transmits the reference data encrypted by the reference data encryption unit 306 to the data operation device 200a in the communication unit 307 (step S215).

次にデータ演算装置200aは、データ提供装置300から受信した、暗号化された参照データをユーザ端末装置100に送信する(ステップS216)。ステップS216では、データ提供装置300から受信した参照データがユーザ端末装置100の公開鍵等で暗号化されている場合においてデータ演算装置200aは、データ提供装置300から受信した暗号化された参照データをそのままユーザ端末装置100に送信し得る。また、データ提供装置300から受信した暗号化された参照データを、復号した上でユーザ端末装置100の公開鍵等で暗号化してユーザ端末装置100に送信してもよい。 Next, the data processing device 200a transmits the encrypted reference data received from the data providing device 300 to the user terminal device 100 (step S216). In step S216, when the reference data received from the data providing apparatus 300 is encrypted with the public key or the like of the user terminal apparatus 100, the data processing apparatus 200a uses the encrypted reference data received from the data providing apparatus 300. It can be transmitted to the user terminal device 100 as it is. Further, the encrypted reference data received from the data providing apparatus 300 may be decrypted and then encrypted with the public key of the user terminal device 100 or the like and transmitted to the user terminal device 100.

この送信された、暗号化された参照データを受信して、ユーザ端末装置100では、復号部106でその参照データを復号し、参照データ利用部107で参照データを利用する(ステップS217)。 Upon receiving the transmitted encrypted reference data, the decryption unit 106 of the user terminal device 100 decrypts the reference data, and the reference data utilization unit 107 utilizes the reference data (step S217).

2.5 実施の形態2の効果
実施の形態2に係る検索システム11では、データ演算装置200aは、ユーザ端末装置100で特徴量に第1変換を施して内積暗号で暗号化した暗号化特徴量(暗号化第1変換特徴量)を含む情報を受信し、データ提供装置300から各参照特徴量に第2変換を施して内積暗号で暗号化した暗号化参照特徴量(暗号化第2変換特徴量)を受信し、暗号化したまま内積演算によって特徴量と各参照特徴量とのユークリッド距離を導出することで、類似のデータ(類似の参照特徴量に対応する参照データ)を抽出する。データ演算装置200aでは、ユーザ端末装置100の特徴量とデータ提供装置300の参照特徴量について、平文で扱わないためプライバシーを保護することができる。また、データ演算装置200aは、ユークリッド距離が所定の閾値以下の類似する参照特徴量に対応する参照データだけをデータ提供装置300から取得してユーザ端末装置100に送付するため、ユーザ端末装置100における処理負荷(計算量)と、通信量とを低減させ得る。
2.5 Effect of Second Embodiment In the search system 11 according to the second embodiment, the data processing device 200a performs the first conversion on the feature amount in the user terminal device 100 and encrypts it with the inner product encryption. An encrypted reference feature amount (encrypted second conversion feature amount) obtained by receiving information including the (encrypted first conversion feature amount), performing the second conversion on each reference feature amount from the data providing apparatus 300, and encrypting with the inner product encryption Amount) is received, and the Euclidean distance between the feature amount and each reference feature amount is derived by an inner product operation while being encrypted, and similar data (reference data corresponding to similar reference feature amount) is extracted. Since the data computing device 200a does not handle the feature amount of the user terminal device 100 and the reference feature amount of the data providing device 300 in plain text, it is possible to protect privacy. In addition, in the user terminal device 100, the data processing device 200a acquires only the reference data corresponding to the similar reference feature amount whose Euclidean distance is equal to or less than the predetermined threshold value from the data providing device 300 and sends it to the user terminal device 100. The processing load (calculation amount) and the communication amount can be reduced.

(他の実施の形態等)
以上のように、本発明に係る技術の例示として実施の形態1、2を用いて説明した。しかしながら、上述の実施の形態は一例に過ぎず、各種の変更、付加、省略等が可能であることは言うまでもない。以下、変形例等を示す。
(Other embodiments, etc.)
As described above, the embodiments 1 and 2 have been described as examples of the technology according to the present invention. However, it goes without saying that the above-described embodiment is merely an example, and various changes, additions, omissions, and the like can be made. Hereinafter, modified examples and the like will be shown.

(1)上記実施の形態では、変換された特徴量である第1変換特徴量の暗号化、及び、変換された各参照特徴量である第2変換特徴量の暗号化に、非特許文献1の内積暗号を用いる例を示したが、これらの暗号化に、非特許文献2に示された暗号方式である所定の述語暗号を用いることとしてもよい。以下、この所定の述語暗号を用いる例を変形例1と称する。変形例1に係る検索システム10の参照特徴量変換部202での参照特徴量の変換の例を図12に示す。図12は、変換前と変換後の参照特徴量の一例を示している。参照特徴量格納部201に格納されている参照特徴量(変換前の参照特徴量)の1つを、特徴量と同数の成分からなるn次元のベクトルY1=(y11,y12,y13,・・・,y1n)で表す場合において、参照特徴量変換部202による変換後の参照特徴量はベクトルY1’=(1,(Σy1j^2)−z,−2y11,−2y12,・・・,−2y1n)となる。ここで、Σy1j^2はjが1からnまでのy1j^2の総和(つまりy11からy1nまでの要素の2乗の総和)を示している。また、zは、ユークリッド距離の条件に係る変数を示しており、類似と判断するためのユークリッド距離の閾値(閾値以下のユークリッド距離となる関係を類似と判断するためのその閾値)を例えばD−1とすると、zとして0からD−1までの値を代入する。そして、データ演算装置200では、その各値を代入したzに対応したY1’をこの場合はD個用いて、第1変換後の特徴量である第1変換特徴量のベクトルX’との間で所定の内積演算を行うことで、類似か否かを判断する。即ち、0からD−1までの1つの値を代入した所定のzを用いた変換後の参照特徴量Y1’に所定の述語暗号を施したものと、変換後の特徴量X’に所定の述語暗号を施したものとを、非特許文献2のQueryに入力することで内積演算を行う。非特許文献2のQueryの出力が1の場合には特徴量Xと参照特徴量Y1とのユークリッド距離が所定のzであり、類似していると判断できる。Y1については、zに0からD−1までの値を逐次代入して生成されたY1’と、X’とに基づいてD回、Queryにより類似の判断を行う。また、参照特徴量変換部202は、他の参照特徴量Yk(k=2,・・・,n)についても同様の変換を行う。そして、データ演算装置200では、Y2からYnまでのn−1個のそれぞれの変換後の参照特徴量を用いてY1の場合と同様に類似の判断を行う。この場合にユーザ端末装置100の特徴量変換部103で行われる第1変換と、データ演算装置200の参照特徴量変換部202で行われる第2変換とは、第1変換特徴量に所定の述語暗号を施したものである暗号化第1変換特徴量と、第2変換特徴量に所定の述語暗号を施したものである暗号化第2変換特徴量との内積演算の結果が、その暗号化第1変換特徴量に対応する特徴量とその暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離から所定値zを減算した値となるように、定められている。この場合において類似と判断するための一定条件は、その内積演算の結果が0の場合に満たされる条件である。 (1) In the above embodiment, non-patent document 1 is applied to the encryption of the first converted feature amount that is the converted feature amount and the encryption of the second converted feature amount that is each converted reference feature amount. Although the example of using the inner product encryption of the above is shown, a predetermined predicate encryption which is the encryption method shown in Non-Patent Document 2 may be used for these encryptions. Hereinafter, an example using this predetermined predicate encryption will be referred to as modification 1. FIG. 12 shows an example of conversion of reference feature amounts by the reference feature amount conversion unit 202 of the search system 10 according to Modification 1. FIG. 12 shows an example of reference feature amounts before and after conversion. One of the reference feature amounts (reference feature amount before conversion) stored in the reference feature amount storage unit 201 is an n-dimensional vector Y1=(y11, y12, y13,... , Y1n), the reference feature amount after conversion by the reference feature amount conversion unit 202 is a vector Y1′=(1,(Σy1j^2)−z, −2y11, −2y12,..., −2y1n. ). Here, Σy1j^2 represents the total sum of y1j^2 in which j is 1 to n (that is, the total square of the elements from y11 to y1n). Further, z represents a variable relating to the condition of the Euclidean distance, and a threshold value of the Euclidean distance for judging the similarity (the threshold value for judging the relation of the Euclidean distance equal to or less than the threshold value to be similar) is, for example, D- If it is 1, a value from 0 to D-1 is substituted for z. Then, in the data arithmetic device 200, D1 Y1's corresponding to z into which the respective values are substituted are used in this case, and the Y1's between the vector X'of the first converted feature amount which is the feature amount after the first conversion. Then, a predetermined inner product operation is performed to determine whether or not they are similar. That is, the reference feature amount Y1′ after conversion using a predetermined z in which one value from 0 to D−1 is substituted is subjected to a predetermined predicate encryption, and the converted feature amount X′ is set at a predetermined value. The inner product operation is performed by inputting the predicate-encrypted one into Query of Non-Patent Document 2. When the output of Query in Non-Patent Document 2 is 1, the Euclidean distance between the feature amount X and the reference feature amount Y1 is a predetermined z, and it can be determined that they are similar. For Y1, similar determination is performed by Query, D times, based on X1' and Y1' generated by successively substituting a value from 0 to D-1 for z. The reference feature amount conversion unit 202 also performs similar conversion for other reference feature amounts Yk (k=2,..., N). Then, the data arithmetic unit 200 uses the n-1 converted reference feature quantities Y2 to Yn to make similar determinations as in the case of Y1. In this case, the first conversion performed by the feature amount conversion unit 103 of the user terminal device 100 and the second conversion performed by the reference feature amount conversion unit 202 of the data operation device 200 are the predicates that are predetermined to the first conversion feature amount. The result of the inner product operation of the encrypted first conversion feature amount that is encrypted and the encrypted second conversion feature amount that is the second conversion feature amount subjected to the predetermined predicate encryption is the encrypted result. It is set to be a value obtained by subtracting a predetermined value z from the Euclidean distance between the feature amount corresponding to the first conversion feature amount and the reference feature amount corresponding to the encrypted second conversion feature amount. In this case, the constant condition for determining similarity is a condition that is satisfied when the result of the inner product operation is 0.

(2)上記実施の形態では、特徴量変換部103による第1変換及び参照特徴量変換部202による第2変換の一例を示したが、第1変換及び第2変換は、例えば<X’,Y1’>が以下の式となるものであるとよい。 (2) In the above embodiment, an example of the first conversion performed by the feature amount conversion unit 103 and the second conversion performed by the reference feature amount conversion unit 202 has been described, but the first conversion and the second conversion are performed by, for example, <X′, It is preferable that Y1′> be the following expression.

<X’,Y1’>
=Σxj^2+Σy1j^2−2x1・y11−2x2・y12−・・・−2xn・y1n
=Σ(xj−y1j)^2
<X', Y1'>
=Σxj^2+Σy1j^2-2x1·y11-2x2·y12-...-2xn·y1n
=Σ(xj-y1j)^2

具体的な1つの変換方法として、第1変換により、特徴量Xを、X’=(Σxj^2,1,−2x1,−2x2,・・・,−2xn)となるように変換し、第2変換により、1つの参照特徴量Y1を、Y1’=(1,Σy1j^2,y11,y12,・・・,y1n)と変換してもよい。また、変形例1に適用する場合には、第1変換により、特徴量Xを、X’=(Σxj^2,1,−2x1,−2x2,・・・,−2xn)となるように変換し、第2変換により、1つの参照特徴量Y1を、Y1’=(1,(Σy1j^2)−z,y11,y12,・・・,y1n)と変換してもよい。 As one specific conversion method, the feature quantity X is converted by the first conversion so that X′=(Σxj^2, 1, −2x1, −2x2,..., −2xn). One reference feature amount Y1 may be converted into Y1′=(1,Σy1j^2,y11,y12,...,y1n) by two conversion. When applied to the first modification, the feature amount X is converted by the first conversion so that X′=(Σxj^2,-1,-2x1,-2x2,...,-2xn). Then, one reference feature amount Y1 may be converted into Y1′=(1,(Σy1j^2)−z,y11,y12,...,Y1n) by the second conversion.

(3)上記実施の形態では、特に重み付きでないユークリッド距離を求めたが、ユークリッド距離は、重み付きユークリッド距離であってもよい。例えば、ユークリッド距離は、n次元のベクトルの1番目からn番目までの成分に対応してw1からwnまでの重みを付けた重み付きユークリッド距離である。重み付きユークリッド距離を求める場合において、ベクトルの各成分(要素)jへの重みをwjと表すと、特徴量変換部103による第1変換は、特徴量Xをn次元のベクトルX=(x1,x2,x3,・・・,xn)で表す場合において、特徴量Xを第1変換特徴量としてのベクトルX’=(Σ(wj・xj^2),1,x1,x2,・・・,xn)とするものであり、ここで、Σ(wj・xj^2)はjが1からnまでの(wj・xj^2)の総和である。また、参照特徴量変換部202による第2変換は、複数の参照特徴量を、kを1からその複数の参照特徴量の個数までの各整数として、n次元のベクトルYk=(yk1,yk2,yk3,・・・,ykn)で表す場合において、複数の参照特徴量のそれぞれを第2変換特徴量としてのベクトルYk’=(1,Σ(wj・ykj^2),−2w1・yk1,−2w2・yk2,・・・,−2wn・ykn)に変換するように定められており、ここでΣ(wj・ykj^2)はjが1からnまでの(wj・ykj^2)の総和である。1つの参照特徴量Y1については、Y1’=(1,Σ(wj・y1j^2),−2w1・y11,−2w2・y12,・・・,−2wn・y1n)と変換される。このとき、<X’,Yk’>は以下の式となる。 (3) In the above embodiment, the Euclidean distance that is not particularly weighted is obtained, but the Euclidean distance may be a weighted Euclidean distance. For example, the Euclidean distance is a weighted Euclidean distance weighted from w1 to wn corresponding to the first to nth components of an n-dimensional vector. In the case of obtaining the weighted Euclidean distance, if the weight to each component (element) j of the vector is represented by wj, the feature amount conversion unit 103 performs the first conversion, and the feature amount X is an n-dimensional vector X=(x1, x2), the feature quantity X is a vector X′=(Σ(wj·xj^2), 1, x1, x2,... xn), where Σ(wj·xj^2) is the sum of (wj·xj^2) from 1 to n. In the second conversion performed by the reference feature amount conversion unit 202, an n-dimensional vector Yk=(yk1, yk2, where k is an integer from 1 to the number of the plurality of reference feature amounts. yk3,..., Ykn), each of the plurality of reference feature amounts is a vector Yk′=(1,Σ(wj·ykj^2), −2w1·yk1,−) as the second conversion feature amount. 2w2·yk2,..., −2wn·ykn), where Σ(wj·ykj^2) is the sum of (wj·ykj^2) from 1 to n. Is. One reference feature value Y1 is converted into Y1'=(1, Σ(wj·y1j^2), −2w1·y11, −2w2·y12,..., −2wn·y1n). At this time, <X', Yk'> is the following formula.

<X’,Yk’>
=Σ(wj・xj^2)+Σ(wj・ykj^2)−2w1・x1・yk1−2w2・x2・yk2−・・・−2wn・xn・ykn
=Σwj(xj−ykj)^2
<X', Yk'>
=Σ(wj·xj^2)+Σ(wj·ykj^2)-2w1·x1·yk1-2w2·x2·yk2-...-2wn·xn·ykn
=Σwj(xj-ykj)^2

(4)上記実施の形態では、特徴量変換部103及び参照特徴量変換部202で特徴量及び参照特徴量に変換を行うことによって、特徴量と参照特徴量とのユークリッド距離を計算する例を示したが、変換方法を以下のようにすることで、ユークリッド距離の拡張となる、特徴量と参照特徴量との差分の累乗を計算することができる。例えば、Σ(xj−y1j)^3を計算する場合には、変換後のX’及びY1’は以下のようになる。 (4) In the above embodiment, an example in which the Euclidean distance between the feature amount and the reference feature amount is calculated by converting the feature amount and the reference feature amount by the feature amount conversion unit 103 and the reference feature amount conversion unit 202 As shown, the power of the difference between the feature amount and the reference feature amount, which is an extension of the Euclidean distance, can be calculated by using the following conversion method. For example, when calculating Σ(xj-y1j)^3, the converted X′ and Y1′ are as follows.

X’=(Σxj^3,1,x1^2,x1,x2^2,x2,・・・,xn^2,xn)
Y1’=(1,Σy1j^3,−3y11,3y11^2,−3y12,3y12^2,・・・,−3y1n,3y1n^2)
X'=(Σxj^3,1,x1^2,x1,x2^2,x2,...,xn^2,xn)
Y1'=(1, Σy1j^3, -3y11, 3y11^2, -3y12, 3y12^2,..., -3y1n, 3y1n^2)

ここで、Σxj^3はjが1からnまでの(xj^3)の総和である。 Here, Σxj^3 is the total sum of (xj^3) from j to 1 to n.

このとき、<X’,Y1’>は、Σ(xj−y1j)^3と一致するため、xj−y1jの3乗の計算ができる。同様に変換を行うと3乗以外の累乗の計算も可能となる。なお、更なるユークリッド距離の拡張として、例えば、特徴量と参照特徴量との内積演算で得られる多項式が、最初の項は2乗、2番目の項は3乗というように成分(要素)毎にべき乗値を変更したものであっても、同様に計算可能となる。 At this time, since <X', Y1'> matches Σ(xj-y1j)^3, the cube of xj-y1j can be calculated. Similarly, if conversion is performed, it is possible to calculate powers other than the third power. As a further extension of the Euclidean distance, for example, the polynomial obtained by the inner product calculation of the feature amount and the reference feature amount is such that the first term is the second power and the second term is the third power. Even if the exponentiation value is changed to, the same calculation can be performed.

(5)上記実施の形態では、データ演算装置200或いはデータ提供装置300が参照特徴量を保持してその参照特徴量を変換して暗号化する例を示した。この他に、データ演算装置200或いはデータ提供装置300は、予め変換した参照特徴量である第2変換特徴量をID(参照データと対応付けるためのID)と対応付けて記憶媒体等に格納することで保持してもよいし、その第2変換特徴量に暗号化を施したものである暗号化参照特徴量(暗号化第2変換特徴量)をIDと対応付けて保持してもよい。これにより、効率的に類似検索に係る処理を行うことが可能となり得る。 (5) In the above embodiment, the example in which the data calculation device 200 or the data providing device 300 holds the reference feature amount, converts the reference feature amount, and encrypts it. In addition to this, the data calculation device 200 or the data providing device 300 stores the second conversion feature amount, which is the reference feature amount converted in advance, in the storage medium or the like in association with the ID (ID for associating with the reference data). Alternatively, the encrypted reference feature quantity (encrypted second converted feature quantity) obtained by encrypting the second converted feature quantity may be held in association with the ID. Thereby, it may be possible to efficiently perform the process related to the similarity search.

(6)上記実施の形態では、データ演算装置200、200aにおいて、全てのIDに対応する全ての暗号化参照特徴量に関して、内積演算の結果としてのユークリッド距離が一定条件を満たすか否かに係る判断を行うこととしたが(図8、図11参照)、例えば、一定数(例えば10個)条件を満たすと判断するものがあればそこで判断の繰り返しを終了することとしてもよい。また、データ演算装置200、200aは、全ての参照特徴量のうち、特徴量とのユークリッド距離が小さいものから一定数(例えば10個)に対応する参照データのみを、ユーザ端末装置100に送信することとしてもよい。 (6) In the above-described embodiment, whether or not the Euclidean distance as the result of the inner product operation satisfies a certain condition in all the encrypted reference feature quantities corresponding to all the IDs in the data operation devices 200 and 200a Although the determination is made (see FIGS. 8 and 11), for example, if it is determined that a certain number of (for example, 10) conditions are satisfied, the determination may be ended at that point. Further, the data operation devices 200 and 200a transmit only the reference data corresponding to a fixed number (for example, 10) from the one having the smallest Euclidean distance to the feature amount among all the reference feature amounts to the user terminal device 100. It may be that.

また、変形例1を用いる場合は、z=0で条件を満たすものがあるか否かを判断し、次にz=1で判断するといった具合に、順次判断して、一定数(例えば10個)条件を満たすものが集まったら判断の繰り返しを終了することとしてもよい。これにより、特徴量とのユークリッド距離が近いものから一定数の参照特徴量に対応する参照データをユーザ端末装置100に提供することができる。 Further, in the case of using the modified example 1, it is determined whether or not there is a condition that satisfies the condition when z=0, and then the determination is performed when z=1, and so on. ) It is also possible to end the repetition of the judgment when the items satisfying the conditions are gathered. Thereby, it is possible to provide the user terminal device 100 with reference data corresponding to a fixed number of reference feature amounts from those having a short Euclidean distance to the feature amount.

(7)上記実施の形態で示した暗号化参照データ抽出部206は、参照データを暗号化して送信することとしたが、参照データを必ずしも暗号化して送信しなくてもよい。但し、暗号化することはユーザが取得した参照データを秘匿する上で有用である。 (7) Although the encrypted reference data extraction unit 206 shown in the above embodiment encrypts and transmits the reference data, the reference data does not necessarily have to be encrypted and transmitted. However, encryption is useful for concealing the reference data acquired by the user.

(8)上記実施の形態2におけるデータ提供装置300からデータ演算装置200aへの暗号化参照特徴量の送信は、データ演算装置200aからデータ提供装置300への要求に応じて行ってもよいし、要求に拘わらず自発的にデータ提供装置300が行ってもよい。また、データ演算装置200aは、ユーザ端末装置100から類似検索に係る要求を受信した後に、データ提供装置300に暗号化参照特徴量の送信を要求することとして、これに応じてデータ提供装置300がデータ演算装置200aに暗号化参照特徴量を送信することとしてもよい。 (8) The transmission of the encrypted reference feature quantity from the data providing apparatus 300 to the data computing apparatus 200a in the second embodiment may be performed in response to a request from the data computing apparatus 200a to the data providing apparatus 300, The data providing apparatus 300 may voluntarily perform the request regardless of the request. Further, the data processing apparatus 200a requests the data providing apparatus 300 to transmit the encrypted reference feature amount after receiving the request for the similarity search from the user terminal apparatus 100, and the data providing apparatus 300 responds to the request. The encrypted reference feature amount may be transmitted to the data processing device 200a.

(9)上記変形例1では、述語暗号を用いて、変換前の参照特徴量をベクトルY1=(y11,y12,y13,・・・,y1n)で表す場合において、参照特徴量変換部202による変換後の参照特徴量はベクトルY1’=(1,(Σy1j^2)−z,−2y11,−2y12,・・・,−2y1n)となることとしたが、これは一例に過ぎず、例えば次のようにしてもよい。即ち、変換後の特徴量をベクトルX’=(Σxj^2,1,1,x1,x2,・・・,xn)、変換後の参照特徴量をベクトルY1’=(1,(Σy1j^2),−z,−2y11,−2y12,・・・,−2y1n)とする。ここで、Σxj^2はjが1からnまでのxj^2の総和(つまりx1からxnまでの要素の2乗の総和)を示し、Σy1j^2はjが1からnまでのy1j^2の総和(つまりy11からy1nまでの要素の2乗の総和)を示している。 (9) In the first modification, when the reference feature quantity before conversion is represented by the vector Y1=(y11, y12, y13,..., y1n) using predicate encryption, the reference feature quantity conversion unit 202 The converted reference feature amount is the vector Y1′=(1,(Σy1j^2)-z, −2y11, −2y12,..., −2y1n), but this is merely an example, and for example, You may do the following. That is, the converted feature quantity is vector X′=(Σxj^2,1,1,x1,x2,...,xn), and the converted reference feature quantity is vector Y1′=(1,(Σy1j^2 ), -z, -2y11, -2y12,..., -2y1n). Here, Σxj^2 represents the total sum of xj^2 in which j is 1 to n (that is, the sum of squares of the elements in x1 to xn), and Σy1j^2 is y1j^2 in which j is 1 to n. (That is, the sum of the squares of the elements from y11 to y1n).

(10)上記実施の形態で示した各種処理の手順(例えば図8、図11に示したシーケンス等)の実行順序は、必ずしも、上述した通りの順序に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えたり、複数の手順を並列に行ったり、その手順の一部を省略したりすることができる。 (10) The execution order of the procedures of various processes (for example, the sequences shown in FIGS. 8 and 11) shown in the above embodiment is not necessarily limited to the order described above, and the gist of the invention. It is possible to change the order of execution, perform a plurality of steps in parallel, or omit a part of the steps without departing from the above.

(11)上記実施の形態における各装置は、例えば、プロセッサ、メモリ、通信インタフェース等を含む装置であることとしたが、ハードディスク装置、ディスプレイ、キーボード、マウス等の他のハードウェア構成要素を含んでいてもよい。また、メモリに記憶されたプログラムがプロセッサにより実行されてソフトウェア的に機能を実現する代わりに、専用のハードウェア(デジタル回路、アナログ回路、通信回路等)によりその機能を実現することとしてもよい。 (11) Although each device in the above embodiments is a device including, for example, a processor, a memory, a communication interface, etc., it includes other hardware components such as a hard disk device, a display, a keyboard, and a mouse. You may stay. Further, instead of the program stored in the memory being executed by the processor to realize the function by software, the function may be realized by dedicated hardware (digital circuit, analog circuit, communication circuit, etc.).

(12)上記実施の形態における各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に1チップ化されていてもよいし、一部又は全部を含むように1チップ化されてもよい。また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。 (12) Part or all of the constituent elements of each device in the above-described embodiments may be composed of one system LSI (Large Scale Integration). The system LSI is a super-multifunctional LSI manufactured by integrating a plurality of constituent parts on a single chip, and is specifically a computer system including a microprocessor, ROM, RAM and the like. .. A computer program is recorded in the RAM. The system LSI achieves its function by the microprocessor operating according to the computer program. Further, each part of the constituent elements of each of the above-mentioned devices may be individually made into one chip, or may be made into one chip so as to include a part or all. Although the system LSI is used here, it may be called IC, LSI, super LSI, or ultra LSI depending on the degree of integration. Further, the method of circuit integration is not limited to LSI, and it may be realized by a dedicated circuit or a general-purpose processor. A field programmable gate array (FPGA) that can be programmed after the LSI is manufactured, or a reconfigurable processor capable of reconfiguring the connection and setting of circuit cells inside the LSI may be used. Furthermore, if integrated circuit technology comes out to replace LSI's as a result of the advancement of semiconductor technology or a derivative other technology, it is naturally also possible to carry out function block integration using this technology. The application of biotechnology is possible.

(13)上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。 (13) Part or all of the constituent elements of each of the above devices may be configured with an IC card that can be attached to or detached from each device or a single module. The IC card or the module is a computer system including a microprocessor, ROM, RAM and the like. The IC card or the module may include the above super-multifunctional LSI. The IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may be tamper resistant.

(14)本発明の一態様としては、例えば図8、図11等に示す処理手順の全部又は一部を含む検索方法であるとしてもよい。例えば、検索方法は、第1装置(例えばデータ演算装置200、200a)におけるデータの検索のための検索方法であって、ユーザのプライバシーデータから抽出された複数の成分を含むベクトルで表される特徴量に対する第1変換の結果としての第1変換特徴量に所定暗号化を施して得られる暗号化第1変換特徴量を第2装置(例えばユーザ端末装置100)から受信し、複数の参照特徴量のそれぞれが複数の参照データのいずれかと対応して前記特徴量と同数の成分を含むベクトルで表される当該複数の参照特徴量のそれぞれについて、当該参照特徴量に対する第2変換の結果としての第2変換特徴量に前記所定暗号化を施して得られる暗号化第2変換特徴量を取得し、前記取得した複数の暗号化第2変換特徴量のそれぞれについて当該暗号化第2変換特徴量と前記暗号化第1変換特徴量とを用いた内積演算を行い、当該内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量のそれぞれと対応関係を有する1つ以上の前記参照データを示す情報を前記第2装置へ送信し、前記第1変換、前記第2変換及び前記所定暗号化は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離に関連する値となるように、定められている。また、この検索方法に係る所定データ検索処理をコンピュータにより実現するプログラム(コンピュータプログラム)であるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。例えば、プログラムは、受信ステップ(例えばステップS107に係る要求の受信)と、変換ステップ(例えばステップS101)と、暗号化ステップ(例えばステップS102)と、選出ステップ(例えばステップS108〜S111)と、送信ステップ(例えばステップS113)とを含む所定データ検索処理をプロセッサに実行させるためのものである。受信ステップでは、ユーザのプライバシーデータから抽出された参照特徴量と同数の成分を含むベクトルで表される特徴量に対する第1変換の結果としての第1変換特徴量に所定暗号化を施して得られる暗号化第1変換特徴量をユーザ端末装置100から受信する。変換ステップでは複数の参照特徴量のそれぞれについて、その参照特徴量に対して第2変換を施した第2変換特徴量を生成する。暗号化ステップでは、変換ステップで生成された複数の第2変換特徴量のそれぞれについて、その第2変換特徴量に所定暗号化を施した暗号化第2変換特徴量を生成する。選出ステップでは、暗号化ステップで生成された複数の暗号化第2変換特徴量のそれぞれについてその暗号化第2変換特徴量と暗号化第1変換特徴量とを用いた内積演算を行い、内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量を選出する。送信ステップでは、選出ステップで選出された1つ以上の暗号化第2変換特徴量のそれぞれと対応関係を有する1つ以上の参照データを示す情報をユーザ端末装置100へ送信する。ここで、第1変換、第2変換及び所定暗号化は、暗号化第1変換特徴量と暗号化ステップで生成された1つの暗号化第2変換特徴量との内積演算の結果が、暗号化第1変換特徴量に対応する特徴量とその1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離に関連する値となるように、定められている。また、本発明の一態様としては、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等に記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。また、本発明の一態様としては、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム若しくは前記デジタル信号を前記記録媒体に記録して移送することにより、又は、前記プログラム若しくは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。 (14) As one aspect of the present invention, for example, a search method including all or part of the processing procedure shown in FIGS. For example, the search method is a search method for searching data in the first device (for example, the data processing device 200, 200a), and is a feature represented by a vector including a plurality of components extracted from the privacy data of the user. An encrypted first conversion feature amount obtained by performing predetermined encryption on the first conversion feature amount as a result of the first conversion with respect to the amount is received from the second device (for example, the user terminal device 100), and a plurality of reference feature amounts are received. For each of the plurality of reference feature quantities represented by a vector including the same number of components as the feature quantity corresponding to any of the plurality of reference data, as a result of the second conversion for the reference feature quantity. An encrypted second conversion characteristic amount obtained by performing the predetermined encryption on the second conversion characteristic amount is acquired, and the encrypted second conversion characteristic amount and the encrypted second conversion characteristic amount are acquired for each of the acquired plurality of encrypted second conversion characteristic amounts. An inner product operation is performed using the encrypted first conversion feature quantity, and the result of the inner product operation has a corresponding relationship with each of the one or more encrypted second conversion feature quantities, and the one or more references described above. Information indicating data is transmitted to the second device, and the first conversion, the second conversion, and the predetermined encryption include the encrypted first conversion feature amount and the acquired one encrypted second conversion feature amount. So that the result of the inner product calculation with and becomes a value related to the Euclidean distance between the feature quantity corresponding to the encrypted first conversion feature quantity and the reference feature quantity corresponding to the one encrypted second conversion feature quantity. Is stipulated. Further, the program may be a program (computer program) that realizes a predetermined data search process according to this search method by a computer, or may be a digital signal including the computer program. For example, the program transmits a reception step (for example, reception of a request related to step S107), a conversion step (for example, step S101), an encryption step (for example, step S102), a selection step (for example, steps S108 to S111), and a transmission step. This is for causing the processor to execute a predetermined data search process including steps (eg, step S113). In the receiving step, the first conversion feature quantity as a result of the first conversion with respect to the feature quantity represented by the vector including the same number of components as the reference feature quantity extracted from the user's privacy data is subjected to predetermined encryption. The encrypted first conversion feature amount is received from the user terminal device 100. In the conversion step, for each of the plurality of reference feature quantities, a second converted feature quantity is generated by subjecting the reference feature quantity to the second conversion. In the encryption step, for each of the plurality of second conversion feature amounts generated in the conversion step, the second conversion feature amount is subjected to predetermined encryption to generate an encrypted second conversion feature amount. In the selection step, an inner product operation using the encrypted second conversion feature quantity and the encrypted first conversion feature quantity is performed for each of the plurality of encrypted second conversion feature quantities generated in the encryption step, and an inner product operation is performed. One or more encrypted second conversion feature quantities whose results satisfy a certain condition are selected. In the transmitting step, information indicating one or more reference data having a corresponding relationship with each of the one or more encrypted second conversion feature amounts selected in the selecting step is transmitted to the user terminal device 100. Here, in the first conversion, the second conversion, and the predetermined encryption, the result of the inner product operation of the encrypted first conversion feature amount and one encrypted second conversion feature amount generated in the encryption step is the encryption. It is set to be a value related to the Euclidean distance between the feature amount corresponding to the first conversion feature amount and the reference feature amount corresponding to the one encrypted second conversion feature amount. Further, according to one aspect of the present invention, a computer-readable recording medium such as the computer program or the digital signal, for example, a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a BD. (Blu-ray (registered trademark) Disc), semiconductor memory, or the like may be used for recording. Further, it may be the digital signal recorded in these recording media. Further, as one aspect of the present invention, the computer program or the digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like. Further, as one aspect of the present invention, a computer system including a microprocessor and a memory may be configured such that the memory records the computer program and the microprocessor operates according to the computer program. .. In addition, by recording and transferring the program or the digital signal in the recording medium, or by transferring the program or the digital signal via the network or the like, by another independent computer system. You may implement.

また、上記実施の形態で示した検索システム10、11に係る技術は、上述したサービスの態様(図1A参照)の他、例えば、以下のクラウドサービスの類型において実現され得る。但し、上記実施の形態で示した技術の適用が、ここで説明するクラウドサービスの類型に限られるものではない。 In addition to the above-described service aspect (see FIG. 1A), the techniques related to the search systems 10 and 11 described in the above-described embodiments can be implemented in the following cloud service types, for example. However, the application of the technique described in the above embodiment is not limited to the cloud service type described here.

(サービスの類型1:自社データセンタ型クラウドサービス)
図13は、サービスの類型1(自社データセンタ型クラウドサービス)における検索システムが提供するサービスの全体像を示す図である。本類型では、サービスプロバイダ1120が、機器1101からユーザ1010により入力される情報を取得し、ユーザ1010に対して機器1101を介してサービスを提供する。本類型では、サービスプロバイダ1120が、データセンタ運営会社の機能を有している。すなわち、サービスプロバイダ1120が、ビッグデータを管理するクラウドサーバを保有している。本類型では、データセンタ運営会社は存在しない。本類型では、サービスプロバイダ1120は、データセンタとしてのクラウドサーバ1203を有し、オペレーティングシステム(OS)1202及びアプリケーションプログラム(アプリケーション)1201を管理する。サービスプロバイダ1120は、OS1202及びアプリケーション1201を用いて、クラウドサーバ1203により機器1101と通信することで、サービスを提供する。
(Service type 1: In-house data center type cloud service)
FIG. 13 is a diagram showing an overview of services provided by the search system in service type 1 (in-house data center cloud service). In this type, the service provider 1120 acquires the information input by the user 1010 from the device 1101 and provides the service to the user 1010 via the device 1101. In this type, the service provider 1120 has the function of a data center operating company. That is, the service provider 1120 has a cloud server that manages big data. In this type, there are no data center operating companies. In this type, the service provider 1120 has a cloud server 1203 as a data center and manages an operating system (OS) 1202 and application programs (applications) 1201. The service provider 1120 provides a service by using the OS 1202 and the application 1201 to communicate with the device 1101 via the cloud server 1203.

(サービスの類型2:IaaS利用型クラウドサービス)
図14は、サービスの類型2(IaaS利用型クラウドサービス)における検索システムが提供するサービスの全体像を示す図である。ここで、IaaSとは、インフラストラクチャー・アズ・ア・サービスの略であり、コンピュータシステムを構築及び稼動させるための基盤そのものを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
(Service type 2: Cloud service using IaaS)
FIG. 14 is a diagram showing an overview of services provided by the search system in service type 2 (IaaS-based cloud service). Here, IaaS is an abbreviation for infrastructure as a service, and is a cloud service providing model that provides the infrastructure itself for constructing and operating a computer system as a service via the Internet.

本類型では、データセンタ運営会社1110が、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ1120は、OS1202及びアプリケーション1201を管理する。サービスプロバイダ1120は、サービスプロバイダ1120が管理するOS1202及びアプリケーション1201を用いてサービスを提供する。 In this type, a data center operating company 1110 operates and manages a data center (cloud server) 1203. Further, the service provider 1120 manages the OS 1202 and the application 1201. The service provider 1120 provides a service using the OS 1202 and the application 1201 managed by the service provider 1120.

(サービスの類型3:PaaS利用型クラウドサービス)
図15は、サービスの類型3(PaaS利用型クラウドサービス)における検索システムが提供するサービスの全体像を示す図である。ここで、PaaSとは、プラットフォーム・アズ・ア・サービスの略であり、ソフトウェアを構築及び稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
(Service type 3: Cloud service using PaaS)
FIG. 15 is a diagram showing an overview of services provided by the search system in service type 3 (PaaS-based cloud service). Here, PaaS is an abbreviation for platform as a service, and is a cloud service providing model that provides a platform as a base for building and operating software as a service via the Internet.

本類型では、データセンタ運営会社1110は、OS1202を管理し、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ1120は、アプリケーション1201を管理する。サービスプロバイダ1120は、データセンタ運営会社1110が管理するOS1202及びサービスプロバイダ1120が管理するアプリケーション1201を用いてサービスを提供する。 In this type, the data center operating company 1110 manages the OS 1202 and operates and manages the data center (cloud server) 1203. The service provider 1120 also manages the application 1201. The service provider 1120 provides a service using an OS 1202 managed by the data center operating company 1110 and an application 1201 managed by the service provider 1120.

(サービスの類型4:SaaS利用型クラウドサービス)
図16は、サービスの類型4(SaaS利用型クラウドサービス)における検索システムが提供するサービスの全体像を示す図である。ここで、SaaSとは、ソフトウェア・アズ・ア・サービスの略である。SaaS利用型クラウドサービスは、例えば、データセンタ(クラウドサーバ)を保有しているプラットフォーム提供者が提供するアプリケーションを、データセンタ(クラウドサーバ)を保有していない会社又は個人等の利用者がインターネット等のネットワーク経由で使用できる機能を有するクラウドサービス提供モデルである。
(Service type 4: SaaS cloud service)
FIG. 16 is a diagram showing an overview of services provided by the search system in service type 4 (SaaS-based cloud service). Here, SaaS is an abbreviation for software as a service. The SaaS-based cloud service includes, for example, an application provided by a platform provider who owns a data center (cloud server), an Internet provided by a user such as a company or an individual who does not own the data center (cloud server). It is a cloud service provision model that has a function that can be used via the network.

本類型では、データセンタ運営会社1110は、アプリケーション1201を管理し、OS1202を管理し、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ1120は、データセンタ運営会社1110が管理するOS1202及びアプリケーション1201を用いてサービスを提供する。 In this type, the data center operating company 1110 manages the application 1201, manages the OS 1202, and operates and manages the data center (cloud server) 1203. Further, the service provider 1120 provides a service using the OS 1202 and the application 1201 managed by the data center operating company 1110.

以上、いずれのクラウドサービスの類型においても、サービスプロバイダ1120がサービスを提供する。また、例えば、サービスプロバイダ又はデータセンタ運営会社は、OS、アプリケーション又はビッグデータのデータベース等を自ら開発してもよいし、また、第三者に開発させてもよい。 As described above, in any of the cloud service types, the service provider 1120 provides the service. Further, for example, the service provider or the data center operating company may develop the OS, the application, the big data database, or the like by itself, or may let a third party develop them.

また、上記実施の形態で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。 Further, a form realized by arbitrarily combining the respective constituent elements and functions shown in the above embodiment is also included in the scope of the present invention.

本発明は、ユーザの情報を秘匿して検索を行う検索システムに利用可能である。 INDUSTRIAL APPLICABILITY The present invention can be used in a search system that hides user information and performs a search.

10、11 検索システム
100 ユーザ端末装置
101 センシング部
102 特徴量算出部
103 特徴量変換部
104 鍵格納部
105 特徴量暗号部
106 復号部
107 参照データ利用部
108 通信部
200、200a データ演算装置
201、301 参照特徴量格納部
202、302 参照特徴量変換部
203、303 参照特徴量暗号部
204、304 鍵格納部
205 暗号化距離計算部
206 暗号化参照データ抽出部
207、305 参照データ格納部
208 通信部
300 データ提供装置
306 参照データ暗号部
307 通信部
1010 ユーザ
1100 グループ
1101 機器
1102 ホームゲートウェイ
1110 データセンタ運営会社
1111 クラウドサーバ
1120 サービスプロバイダ
1121 サーバ
1201 アプリケーション
1202 オペレーティングシステム(OS)
1203 クラウドサーバ
10, 11 Search system 100 User terminal device 101 Sensing unit 102 Feature amount calculation unit 103 Feature amount conversion unit 104 Key storage unit 105 Feature amount encryption unit 106 Decryption unit 107 Reference data utilization unit 108 Communication unit 200, 200a Data operation device 201, 301 reference feature amount storage unit 202, 302 reference feature amount conversion unit 203, 303 reference feature amount encryption unit 204, 304 key storage unit 205 encryption distance calculation unit 206 encrypted reference data extraction unit 207, 305 reference data storage unit 208 communication Part 300 Data providing device 306 Reference data encryption part 307 Communication part 1010 User 1100 Group 1101 Device 1102 Home gateway 1110 Data center operating company 1111 Cloud server 1120 Service provider 1121 server 1201 Application 1202 Operating system (OS)
1203 cloud server

Claims (14)

第1装置により実行される、データの検索のための検索方法であって、
ユーザのプライバシーデータから抽出された複数の成分を含むベクトルで表される特徴量に対する第1変換の結果としての第1変換特徴量に所定暗号化を施して得られる暗号化第1変換特徴量を第2装置から受信し、
複数の参照特徴量のそれぞれが複数の参照データのいずれかと対応して前記特徴量と同数の成分を含むベクトルで表される当該複数の参照特徴量のそれぞれについて、当該参照特徴量に対する第2変換の結果としての第2変換特徴量に前記所定暗号化を施して得られる暗号化第2変換特徴量を取得し、
前記取得した複数の暗号化第2変換特徴量のそれぞれについて当該暗号化第2変換特徴量と前記暗号化第1変換特徴量とを用いた内積演算を行い、当該内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量のそれぞれと対応関係を有する1つ以上の前記参照データを示す情報を前記第2装置へ送信し、
前記第1変換、前記第2変換及び前記所定暗号化は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離に関連する値となるように、定められ
前記所定暗号化は、所定の内積暗号による暗号化であり、
前記第1変換及び前記第2変換は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離となるように、定められており、
前記一定条件は、前記内積演算の結果が所定閾値以下の場合に満たされる条件である
検索方法。
More is executed first device, a search method for data retrieval,
An encrypted first conversion feature amount obtained by performing a predetermined encryption on the first conversion feature amount as a result of the first conversion for the feature amount represented by the vector including a plurality of components extracted from the user privacy data Received from the second device,
A second conversion for the reference feature quantity for each of the plurality of reference feature quantities, each of which is represented by a vector including the same number of components as the feature quantity in association with any one of the plurality of reference data. The encrypted second conversion feature amount obtained by performing the predetermined encryption on the second conversion feature amount as a result of
An inner product operation using the encrypted second conversion feature quantity and the encrypted first conversion feature quantity is performed for each of the acquired plurality of encrypted second conversion feature quantities, and the result of the inner product operation satisfies a certain condition. And transmitting to the second device, information indicating one or more pieces of the reference data having a correspondence relationship with each of the one or more encrypted second conversion feature quantities that satisfy
In the first conversion, the second conversion, and the predetermined encryption, the result of the inner product operation of the encrypted first conversion feature amount and the acquired one encrypted second conversion feature amount is the encryption first Is determined to be a value related to the Euclidean distance between the feature amount corresponding to the converted feature amount and the reference feature amount corresponding to the one encrypted second converted feature amount ,
The predetermined encryption is an encryption by a predetermined inner product encryption,
In the first conversion and the second conversion, the result of the inner product operation of the encrypted first conversion feature amount and the acquired one encrypted second conversion feature amount corresponds to the encrypted first conversion feature amount. Is set to be a Euclidean distance between the feature amount and the reference feature amount corresponding to the one encrypted second conversion feature amount,
The retrieval method is a condition that is satisfied when the result of the inner product calculation is equal to or less than a predetermined threshold .
前記特徴量を、n次元のベクトルX=(x1,x2,x3,・・・,xn)で表す場合において、前記第1変換は、前記特徴量を前記第1変換特徴量としてのベクトルX’=(Σxj^2,1,x1,x2,・・・,xn)に変換するように定められており、前記Σxj^2はjが1からnまでのxj^2の総和であり、
前記複数の参照特徴量を、kを1から当該複数の参照特徴量の個数までの各整数として、n次元のベクトルYk=(yk1,yk2,yk3,・・・,ykn)で表す場合において、前記第2変換は、前記複数の参照特徴量のそれぞれを前記第2変換特徴量としてのベクトルYk’=(1,Σykj^2,−2yk1,−2yk2,・・・,−2ykn)に変換するように定められており、前記Σykj^2はjが1からnまでのykj^2の総和である
請求項記載の検索方法。
In the case where the feature amount is represented by an n-dimensional vector X=(x1, x2, x3,..., xn), the first conversion includes the feature amount as a vector X′ as the first converted feature amount. =(Σxj^2,1,x1,x2,...,xn), where Σxj^2 is the sum of xj^2 from j to 1;
In the case where the plurality of reference feature amounts are represented by an n-dimensional vector Yk=(yk1, yk2, yk3,..., Ykn), where k is an integer from 1 to the number of the plurality of reference feature amounts, The second conversion converts each of the plurality of reference feature amounts into a vector Yk′=(1,Σykj^2,-2yk1,-2yk2,...,-2ykn) as the second transformed feature amount. has been determined so, the Σykj ^ 2 search method according to claim 1, wherein the sum of ykj ^ 2 from j is 1 to n.
前記特徴量を、n次元のベクトルX=(x1,x2,x3,・・・,xn)で表す場合において、前記第1変換は、前記特徴量を前記第1変換特徴量としてのベクトルX’=(Σ(wj・xj^2),1,x1,x2,・・・,xn)に変換するように定められており、前記Σ(wj・xj^2)はjが1からnまでの(wj・xj^2)の総和であり、
前記複数の参照特徴量を、kを1から当該複数の参照特徴量の個数までの各整数として、n次元のベクトルYk=(yk1,yk2,yk3,・・・,ykn)で表す場合において、前記第2変換は、前記複数の参照特徴量のそれぞれを前記第2変換特徴量としてのベクトルYk’=(1,Σ(wj・ykj^2),−2w1・yk1,−2w2・yk2,・・・,−2wn・ykn)に変換するように定められており、前記Σ(wj・ykj^2)はjが1からnまでの(wj・ykj^2)の総和であり、
前記ユークリッド距離は、n次元のベクトルの1番目からn番目までの成分に対応してw1からwnまでの重みを付けた重み付きユークリッド距離である
請求項記載の検索方法。
In the case where the feature amount is represented by an n-dimensional vector X=(x1, x2, x3,..., xn), the first conversion includes the feature amount as a vector X′ as the first converted feature amount. =(Σ(wj·xj^2),1,x1,x2,...,xn), where Σ(wj·xj^2) is for j from 1 to n. Is the sum of (wj·xj^2),
In the case where the plurality of reference feature amounts are represented by an n-dimensional vector Yk=(yk1, yk2, yk3,..., Ykn), where k is an integer from 1 to the number of the plurality of reference feature amounts, In the second conversion, each of the plurality of reference feature amounts is a vector Yk′=(1,Σ(wj·ykj^2), −2w1·yk1, −2w2·yk2,. .., −2wn·ykn), and Σ(wj·ykj^2) is the sum of (wj·ykj^2) from 1 to n.
The Euclidean distance is search method of claim 1, wherein in response to a component of the first n-dimensional vector to the n th a weighted Euclidean distance weighted from w1 to wn.
第1装置により実行される、データの検索のための検索方法であって、
ユーザのプライバシーデータから抽出された複数の成分を含むベクトルで表される特徴量に対する第1変換の結果としての第1変換特徴量に所定暗号化を施して得られる暗号化第1変換特徴量を第2装置から受信し、
複数の参照特徴量のそれぞれが複数の参照データのいずれかと対応して前記特徴量と同数の成分を含むベクトルで表される当該複数の参照特徴量のそれぞれについて、当該参照特徴量に対する第2変換の結果としての第2変換特徴量に前記所定暗号化を施して得られる暗号化第2変換特徴量を取得し、
前記取得した複数の暗号化第2変換特徴量のそれぞれについて当該暗号化第2変換特徴量と前記暗号化第1変換特徴量とを用いた内積演算を行い、当該内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量のそれぞれと対応関係を有する1つ以上の前記参照データを示す情報を前記第2装置へ送信し、
前記第1変換、前記第2変換及び前記所定暗号化は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離に関連する値となるように、定められ、
前記所定暗号化は、所定の述語暗号による暗号化であり、
前記第1変換及び前記第2変換は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離から所定値を減算した値となるように、定められており、
前記一定条件は、前記内積演算の結果が0の場合に満たされる条件である
索方法。
A retrieval method for retrieval of data, the retrieval method being performed by a first device, comprising:
An encrypted first conversion feature amount obtained by performing predetermined encryption on the first conversion feature amount as a result of the first conversion for the feature amount represented by the vector including a plurality of components extracted from the user privacy data Received from the second device,
Second conversion for the reference feature quantity for each of the plurality of reference feature quantities, each of which is represented by a vector including the same number of components as the feature quantity corresponding to any of the plurality of reference data The encrypted second conversion feature amount obtained by performing the predetermined encryption on the second conversion feature amount as a result of
An inner product operation using the encrypted second conversion feature quantity and the encrypted first conversion feature quantity is performed for each of the acquired plurality of encrypted second conversion feature quantities, and the result of the inner product operation satisfies a certain condition. Transmitting to the second device information indicating one or more reference data having a correspondence relationship with each of the one or more encrypted second conversion feature quantities that satisfy
In the first conversion, the second conversion, and the predetermined encryption, the result of the inner product operation of the encrypted first conversion feature amount and the acquired one encrypted second conversion feature amount is the encryption first Is determined to be a value related to the Euclidean distance between the feature amount corresponding to the converted feature amount and the reference feature amount corresponding to the one encrypted second converted feature amount,
The predetermined encryption is encryption by a predetermined predicate encryption,
In the first conversion and the second conversion, the result of the inner product operation of the encrypted first conversion feature amount and the acquired one encrypted second conversion feature amount corresponds to the encrypted first conversion feature amount. Is set to be a value obtained by subtracting a predetermined value from the Euclidean distance between the feature amount and the reference feature amount corresponding to the one encrypted second conversion feature amount.
The constant condition is a condition that is satisfied when the result of the inner product operation is 0.
Search method.
前記第1装置は、記憶媒体を備え、当該記憶媒体に前記複数の参照データと前記複数の参照特徴量とを記憶しており、
前記検索方法では、前記記憶媒体における前記複数の参照特徴量のそれぞれについて、当該参照特徴量に対して第2変換を施した前記第2変換特徴量を生成し、当該第2変換特徴量に前記所定暗号化を施した前記暗号化第2変換特徴量を生成することにより前記暗号化第2変換特徴量の前記取得を行う
請求項1〜のいずれか一項に記載の検索方法。
The first device includes a storage medium, and stores the plurality of reference data and the plurality of reference feature amounts in the storage medium,
In the search method, for each of the plurality of reference feature amounts in the storage medium, the second converted feature amount is generated by subjecting the reference feature amount to a second conversion, and the second converted feature amount is set to the second converted feature amount. Search method according to any one of claims 1 to 4, by generating the encrypted second transformed feature which has been subjected to predetermined encryption performs the acquisition of the encrypted second transformed feature.
前記検索方法では、複数の暗号化第2変換特徴量の前記取得を、第3装置から当該複数の暗号化第2変換特徴量を受信することにより行い、
前記第3装置は、前記複数の暗号化第2変換特徴量に対応する前記複数の参照データを記憶しており、
前記検索方法では、前記複数の暗号化第2変換特徴量それぞれのうち前記内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量それぞれと対応関係を有する1つ以上の前記参照データを前記第3装置から受信し、当該受信した1つ以上の前記参照データに基づいて前記情報の前記第2装置への前記送信を行う
請求項1〜のいずれか一項に記載の検索方法。
In the search method, the acquisition of a plurality of encrypted second conversion feature amounts is performed by receiving the plurality of encrypted second conversion feature amounts from a third device,
The third device stores the plurality of reference data corresponding to the plurality of encrypted second conversion feature amounts,
In the search method, one or more of the plurality of encrypted second conversion feature quantities, each of which has a corresponding relationship with one or more encrypted second conversion feature quantities, in which a result of the inner product operation satisfies a certain condition. receives reference data from the third device, according to the any one of claims 1 to 4 for transmission to the second device of said information based on one or more of the reference data the received retrieval method.
前記ユーザのプライバシーデータは、前記ユーザのバイタルデータを含む
請求項1〜のいずれか一項に記載の検索方法。
Privacy data of the user, the search process according to any one of claims 1 to 6 including the vital data of the user.
前記特徴量は、前記ユーザの身体の全体又は一部位についての形状、サイズ、重量、状態、及び、動きの少なくとも1つに関連する指標を示す成分を含む
請求項記載の検索方法。
The search method according to claim 7 , wherein the feature amount includes a component indicating an index related to at least one of shape, size, weight, state, and movement of the whole or a part of the body of the user.
前記ユーザのプライバシーデータは、前記ユーザが機器を操作したことの履歴を示すログ情報を含む
請求項1〜のいずれか一項に記載の検索方法。
Privacy data of the user, the search process according to any one of claims 1 to 6, wherein the user comprises a log information indicating a history of having to operate the equipment.
1つ以上の前記参照データを示す前記情報は、当該1つ以上の前記参照データを暗号化した情報である
請求項1〜のいずれか一項に記載の検索方法。
Wherein the information indicative of one or more of the reference data search method according the one or more said reference data to any one of claims 1 to 9, which is encrypted information.
相互に通信可能な第1装置及び第2装置を備える検索システムであって、
前記第2装置は、ユーザについて測定を行い、当該測定結果としてのプライバシーデータから抽出された複数の成分を含むベクトルで表される特徴量に対する第1変換の結果としての第1変換特徴量に所定暗号化を施して得られる暗号化第1変換特徴量を前記第1装置へ送信し、
前記第1装置は、
前記暗号化第1変換特徴量を前記第2装置から受信し、
複数の参照特徴量のそれぞれが複数の参照データのいずれかと対応して前記特徴量と同数の成分を含むベクトルで表される当該複数の参照特徴量のそれぞれについて、当該参照特徴量に対する第2変換の結果としての第2変換特徴量に前記所定暗号化を施して得られる暗号化第2変換特徴量を取得し、
前記取得した複数の暗号化第2変換特徴量のそれぞれについて当該暗号化第2変換特徴量と前記暗号化第1変換特徴量とを用いた内積演算を行い、当該内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量のそれぞれと対応関係を有する1つ以上の前記参照データを示す情報を前記第2装置へ送信し、
前記第2装置は、前記参照データを示す前記情報を受信して前記参照データを提示し、
前記第1変換、前記第2変換及び前記所定暗号化は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離に関連する値となるように、定められ
前記所定暗号化は、所定の内積暗号による暗号化であり、
前記第1変換及び前記第2変換は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離となるように、定められており、
前記一定条件は、前記内積演算の結果が所定閾値以下の場合に満たされる条件である
検索システム。
A search system comprising a first device and a second device capable of communicating with each other, comprising:
The second device performs measurement on a user, and a predetermined first conversion feature amount as a result of a first conversion with respect to a feature amount represented by a vector including a plurality of components extracted from privacy data as the measurement result. Transmitting an encrypted first conversion feature amount obtained by performing encryption to the first device,
The first device is
Receiving the encrypted first conversion feature amount from the second device,
A second conversion for the reference feature quantity for each of the plurality of reference feature quantities, each of which is represented by a vector including the same number of components as the feature quantity in association with any one of the plurality of reference data. The encrypted second conversion feature amount obtained by performing the predetermined encryption on the second conversion feature amount as a result of
An inner product operation using the encrypted second conversion feature quantity and the encrypted first conversion feature quantity is performed for each of the acquired plurality of encrypted second conversion feature quantities, and the result of the inner product operation satisfies a certain condition. Transmitting to the second device information indicating one or more reference data having a correspondence relationship with each of the one or more encrypted second conversion feature quantities that satisfy
The second device receives the information indicating the reference data and presents the reference data,
In the first conversion, the second conversion, and the predetermined encryption, the result of the inner product operation of the encrypted first conversion feature amount and the acquired one encrypted second conversion feature amount is the encryption first Is determined to be a value related to the Euclidean distance between the feature amount corresponding to the converted feature amount and the reference feature amount corresponding to the one encrypted second converted feature amount ,
The predetermined encryption is an encryption by a predetermined inner product encryption,
In the first conversion and the second conversion, the result of the inner product operation of the encrypted first conversion feature amount and the acquired one encrypted second conversion feature amount corresponds to the encrypted first conversion feature amount. Is set to be a Euclidean distance between the feature amount and the reference feature amount corresponding to the one encrypted second conversion feature amount,
The constant condition is a search system that is satisfied when a result of the inner product calculation is equal to or less than a predetermined threshold .
相互に通信可能な第1装置及び第2装置を備える検索システムであって、 A search system comprising a first device and a second device capable of communicating with each other, comprising:
前記第2装置は、ユーザについて測定を行い、当該測定結果としてのプライバシーデータから抽出された複数の成分を含むベクトルで表される特徴量に対する第1変換の結果としての第1変換特徴量に所定暗号化を施して得られる暗号化第1変換特徴量を前記第1装置へ送信し、 The second device performs measurement on a user and sets a predetermined first conversion feature amount as a result of a first conversion for a feature amount represented by a vector including a plurality of components extracted from privacy data as the measurement result. Transmitting an encrypted first conversion feature amount obtained by performing encryption to the first device,
前記第1装置は、 The first device is
前記暗号化第1変換特徴量を前記第2装置から受信し、 Receiving the encrypted first conversion feature amount from the second device,
複数の参照特徴量のそれぞれが複数の参照データのいずれかと対応して前記特徴量と同数の成分を含むベクトルで表される当該複数の参照特徴量のそれぞれについて、当該参照特徴量に対する第2変換の結果としての第2変換特徴量に前記所定暗号化を施して得られる暗号化第2変換特徴量を取得し、 Second conversion for the reference feature quantity for each of the plurality of reference feature quantities, each of which is represented by a vector including the same number of components as the feature quantity corresponding to any of the plurality of reference data The encrypted second conversion feature amount obtained by performing the predetermined encryption on the second conversion feature amount as a result of
前記取得した複数の暗号化第2変換特徴量のそれぞれについて当該暗号化第2変換特徴量と前記暗号化第1変換特徴量とを用いた内積演算を行い、当該内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量のそれぞれと対応関係を有する1つ以上の前記参照データを示す情報を前記第2装置へ送信し、 An inner product operation using the encrypted second conversion feature quantity and the encrypted first conversion feature quantity is performed for each of the acquired plurality of encrypted second conversion feature quantities, and the result of the inner product operation satisfies a certain condition. Transmitting to the second device information indicating one or more reference data having a correspondence relationship with each of the one or more encrypted second conversion feature quantities that satisfy
前記第2装置は、前記参照データを示す前記情報を受信して前記参照データを提示し、 The second device receives the information indicating the reference data and presents the reference data,
前記第1変換、前記第2変換及び前記所定暗号化は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離に関連する値となるように、定められ、 In the first conversion, the second conversion, and the predetermined encryption, the result of the inner product operation of the encrypted first conversion feature amount and the obtained one encrypted second conversion feature amount is the encryption first Is determined to be a value related to the Euclidean distance between the feature amount corresponding to the converted feature amount and the reference feature amount corresponding to the one encrypted second converted feature amount,
前記所定暗号化は、所定の述語暗号による暗号化であり、 The predetermined encryption is encryption by a predetermined predicate encryption,
前記第1変換及び前記第2変換は、前記暗号化第1変換特徴量と前記取得した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離から所定値を減算した値となるように、定められており、 In the first conversion and the second conversion, the result of the inner product operation of the encrypted first conversion feature amount and the acquired one encrypted second conversion feature amount corresponds to the encrypted first conversion feature amount. Is set to be a value obtained by subtracting a predetermined value from the Euclidean distance between the feature amount and the reference feature amount corresponding to the one encrypted second conversion feature amount.
前記一定条件は、前記内積演算の結果が0の場合に満たされる条件である The constant condition is a condition that is satisfied when the result of the inner product operation is 0.
検索システム。 Search system.
記憶媒体及びマイクロプロセッサを備える第1装置に所定データ検索処理を実行させるためのプログラムであって、
前記第1装置は、前記記憶媒体に複数の参照データと、複数の成分を含むベクトルで表される複数の参照特徴量とを対応付けて記憶しており、
前記所定データ検索処理は、
ユーザのプライバシーデータから抽出された前記参照特徴量と同数の成分を含むベクトルで表される特徴量に対する第1変換の結果としての第1変換特徴量に所定暗号化を施して得られる暗号化第1変換特徴量を第2装置から受信する受信ステップと、
前記記憶媒体における前記複数の参照特徴量のそれぞれについて、当該参照特徴量に対して第2変換を施した第2変換特徴量を生成する変換ステップと、
前記変換ステップで生成された複数の前記第2変換特徴量のそれぞれについて、当該第2変換特徴量に前記所定暗号化を施した暗号化第2変換特徴量を生成する暗号化ステップと、
前記暗号化ステップで生成された複数の前記暗号化第2変換特徴量のそれぞれについて当該暗号化第2変換特徴量と前記暗号化第1変換特徴量とを用いた内積演算を行い、当該内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量を選出する選出ステップと、
前記選出ステップで選出された前記1つ以上の暗号化第2変換特徴量のそれぞれと対応関係を有する1つ以上の前記参照データを示す情報を前記第2装置へ送信する送信ステップとを含み、
前記第1変換、前記第2変換及び前記所定暗号化は、前記暗号化第1変換特徴量と前記暗号化ステップで生成された1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離に関連する値となるように、定められ
前記所定暗号化は、所定の内積暗号による暗号化であり、
前記第1変換及び前記第2変換は、前記暗号化第1変換特徴量と前記生成した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離となるように、定められており、
前記一定条件は、前記内積演算の結果が所定閾値以下の場合に満たされる条件である
プログラム。
A program for causing a first device including a storage medium and a microprocessor to execute a predetermined data search process,
The first device stores a plurality of reference data and a plurality of reference feature amounts represented by a vector including a plurality of components in the storage medium in association with each other,
The predetermined data search process is
An encryption obtained by performing a predetermined encryption on the first converted feature amount as a result of the first conversion for the feature amount represented by the vector including the same number of components as the reference feature amount extracted from the user privacy data. A receiving step of receiving the 1-converted feature amount from the second device;
A conversion step of generating, for each of the plurality of reference feature amounts in the storage medium, a second converted feature amount by subjecting the reference feature amount to a second conversion;
An encryption step of generating an encrypted second conversion feature amount obtained by performing the predetermined encryption on the second conversion feature amount for each of the plurality of second conversion feature amounts generated in the conversion step,
An inner product operation using the encrypted second conversion feature quantity and the encrypted first conversion feature quantity is performed for each of the plurality of encrypted second conversion feature quantities generated in the encryption step, and the inner product operation is performed. A selection step of selecting one or more encrypted second conversion feature quantities whose result satisfies a certain condition;
A transmission step of transmitting, to the second device, information indicating one or more pieces of the reference data having a corresponding relationship with each of the one or more encrypted second conversion feature amounts selected in the selection step,
In the first conversion, the second conversion, and the predetermined encryption, the result of the inner product operation of the encrypted first conversion feature amount and one encrypted second conversion feature amount generated in the encryption step is Is determined to be a value related to the Euclidean distance between the feature quantity corresponding to the encrypted first conversion feature quantity and the reference feature quantity corresponding to the one encrypted second conversion feature quantity ,
The predetermined encryption is an encryption by a predetermined inner product encryption,
In the first conversion and the second conversion, the result of the inner product operation of the encrypted first conversion feature amount and the generated one encrypted second conversion feature amount corresponds to the encrypted first conversion feature amount. Is set to be the Euclidean distance between the feature amount and the reference feature amount corresponding to the one encrypted second conversion feature amount,
The constant condition is a program that is satisfied when the result of the inner product calculation is less than or equal to a predetermined threshold .
記憶媒体及びマイクロプロセッサを備える第1装置に所定データ検索処理を実行させるためのプログラムであって、 A program for causing a first device including a storage medium and a microprocessor to execute a predetermined data search process,
前記第1装置は、前記記憶媒体に複数の参照データと、複数の成分を含むベクトルで表される複数の参照特徴量とを対応付けて記憶しており、 The first device stores a plurality of reference data and a plurality of reference feature amounts represented by a vector including a plurality of components in the storage medium in association with each other,
前記所定データ検索処理は、 The predetermined data search process is
ユーザのプライバシーデータから抽出された前記参照特徴量と同数の成分を含むベクトルで表される特徴量に対する第1変換の結果としての第1変換特徴量に所定暗号化を施して得られる暗号化第1変換特徴量を第2装置から受信する受信ステップと、 An encryption obtained by performing a predetermined encryption on the first converted feature amount as a result of the first conversion for the feature amount represented by the vector including the same number of components as the reference feature amount extracted from the user privacy data. A receiving step of receiving the 1-converted feature amount from the second device;
前記記憶媒体における前記複数の参照特徴量のそれぞれについて、当該参照特徴量に対して第2変換を施した第2変換特徴量を生成する変換ステップと、 A conversion step of generating, for each of the plurality of reference feature amounts in the storage medium, a second converted feature amount by subjecting the reference feature amount to a second conversion;
前記変換ステップで生成された複数の前記第2変換特徴量のそれぞれについて、当該第2変換特徴量に前記所定暗号化を施した暗号化第2変換特徴量を生成する暗号化ステップと、 An encryption step of generating an encrypted second conversion feature amount obtained by performing the predetermined encryption on the second conversion feature amount for each of the plurality of second conversion feature amounts generated in the conversion step,
前記暗号化ステップで生成された複数の前記暗号化第2変換特徴量のそれぞれについて当該暗号化第2変換特徴量と前記暗号化第1変換特徴量とを用いた内積演算を行い、当該内積演算の結果が一定条件を満たす1つ以上の暗号化第2変換特徴量を選出する選出ステップと、 An inner product operation using the encrypted second conversion feature quantity and the encrypted first conversion feature quantity is performed for each of the plurality of encrypted second conversion feature quantities generated in the encryption step, and the inner product operation is performed. A selection step of selecting one or more encrypted second conversion feature quantities whose result satisfies a certain condition;
前記選出ステップで選出された前記1つ以上の暗号化第2変換特徴量のそれぞれと対応関係を有する1つ以上の前記参照データを示す情報を前記第2装置へ送信する送信ステップとを含み、 A transmission step of transmitting, to the second device, information indicating one or more pieces of the reference data having a corresponding relationship with each of the one or more encrypted second conversion feature amounts selected in the selection step,
前記第1変換、前記第2変換及び前記所定暗号化は、前記暗号化第1変換特徴量と前記暗号化ステップで生成された1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離に関連する値となるように、定められ、 In the first conversion, the second conversion, and the predetermined encryption, the result of the inner product operation of the encrypted first conversion feature amount and one encrypted second conversion feature amount generated in the encryption step is Is determined to be a value related to the Euclidean distance between the feature quantity corresponding to the encrypted first conversion feature quantity and the reference feature quantity corresponding to the one encrypted second conversion feature quantity,
前記所定暗号化は、所定の述語暗号による暗号化であり、 The predetermined encryption is encryption by a predetermined predicate encryption,
前記第1変換及び前記第2変換は、前記暗号化第1変換特徴量と前記生成した1つの暗号化第2変換特徴量との内積演算の結果が、当該暗号化第1変換特徴量に対応する前記特徴量と当該1つの暗号化第2変換特徴量に対応する参照特徴量とのユークリッド距離から所定値を減算した値となるように、定められており、 In the first conversion and the second conversion, the result of the inner product operation of the encrypted first conversion feature amount and the generated one encrypted second conversion feature amount corresponds to the encrypted first conversion feature amount. Is set to a value obtained by subtracting a predetermined value from the Euclidean distance between the feature amount and the reference feature amount corresponding to the one encrypted second conversion feature amount,
前記一定条件は、前記内積演算の結果が0の場合に満たされる条件である The constant condition is a condition that is satisfied when the result of the inner product operation is 0.
プログラム。 program.
JP2016154076A 2015-12-14 2016-08-04 Search method, search system and program Active JP6742852B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/366,129 US10303893B2 (en) 2015-12-14 2016-12-01 Search method, search device, search system, and program
EP16201667.9A EP3182640B1 (en) 2015-12-14 2016-12-01 Search method, search device, search system, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015243496 2015-12-14
JP2015243496 2015-12-14

Publications (2)

Publication Number Publication Date
JP2017111793A JP2017111793A (en) 2017-06-22
JP6742852B2 true JP6742852B2 (en) 2020-08-19

Family

ID=59080247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016154076A Active JP6742852B2 (en) 2015-12-14 2016-08-04 Search method, search system and program

Country Status (1)

Country Link
JP (1) JP6742852B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022201235A1 (en) * 2021-03-22 2022-09-29
US20240176903A1 (en) * 2021-03-22 2024-05-30 Nippon Telegraph And Telephone Corporation Secure search method, system thereof, apparatus thereof, encryption apparatus, searcher terminal, and program

Also Published As

Publication number Publication date
JP2017111793A (en) 2017-06-22

Similar Documents

Publication Publication Date Title
US10303893B2 (en) Search method, search device, search system, and program
JP7300253B2 (en) Prediction model distribution method and prediction model distribution system
US12073939B2 (en) Volumetric imaging technique for medical imaging processing system
JP2016224400A (en) Similar information search method, terminal device, and similar information search system
US20160350552A1 (en) Method for performing similar-information search while keeping content confidential by encryption
Sun et al. A searchable personal health records framework with fine-grained access control in cloud-fog computing
KR20170004456A (en) A method for managing data and apparatuses therefor
US20130333051A1 (en) Random value identification device, random value identification system, and random value identification method
JP6742852B2 (en) Search method, search system and program
US10649919B2 (en) Information processing method and information processing system
Feng et al. Privacy-preserving tensor analysis and processing models for wireless internet of things
JP6557338B2 (en) Concealed similarity search system and similarity concealment search method
JP6929741B2 (en) Information processing method and information processing system
Niu et al. A data-sharing scheme that supports multi-keyword search for electronic medical records
US20230273931A1 (en) Systems and methods for dataset recommendation in a zero-trust computing environment
JP5647575B2 (en) RECOMMENDATION DEVICE, RECOMMENDATION SYSTEM, RECOMMENDATION METHOD, AND PROGRAM
Swetha et al. Cloud based secure multimedia medical data using optimized convolutional neural network and cryptography mechanism
US20230274026A1 (en) Synthetic and traditional data stewards for selecting, optimizing, verifying and recommending one or more datasets
CN115412259B (en) Block chain-based cloud health system searchable proxy signcryption method and product
CN104995631A (en) Privacy protection against curious recommenders
Zhang et al. SIP: An efficient and secure information propagation scheme in e-health networks
JP6567979B2 (en) Similar information search method, server device, and similar information search system
JP7294437B2 (en) Information matching system and information matching method
CN113228022A (en) Analysis query response system, analysis query execution device, analysis query verification device, analysis query response method, and program
JP5498974B2 (en) Evaluation value estimation system and evaluation value estimation method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200508

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200729

R150 Certificate of patent or registration of utility model

Ref document number: 6742852

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150