Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6567979B2 - Similar information search method, server device, and similar information search system - Google Patents
[go: Go Back, main page]

JP6567979B2 - Similar information search method, server device, and similar information search system - Google Patents

Similar information search method, server device, and similar information search system Download PDF

Info

Publication number
JP6567979B2
JP6567979B2 JP2016007480A JP2016007480A JP6567979B2 JP 6567979 B2 JP6567979 B2 JP 6567979B2 JP 2016007480 A JP2016007480 A JP 2016007480A JP 2016007480 A JP2016007480 A JP 2016007480A JP 6567979 B2 JP6567979 B2 JP 6567979B2
Authority
JP
Japan
Prior art keywords
encrypted
terminal device
data
value
encryption
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
JP2016007480A
Other languages
Japanese (ja)
Other versions
JP2016224905A (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/163,674 priority Critical patent/US9875375B2/en
Publication of JP2016224905A publication Critical patent/JP2016224905A/en
Application granted granted Critical
Publication of JP6567979B2 publication Critical patent/JP6567979B2/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 method, a server device, and a system for performing similar information search while concealing contents by encryption.

近年、例えば家庭で血圧などの測定を行い、サーバにおける分析により食生活などに関してユーザにアドバイスを行うシステムがある。この分析においては、その本人の過去情報のみならず、類似した他の症例を参照にアドバイスを行うことにより、さらにそのユーザに実感のある有用なアドバイスを行うことができる。サーバにおける類似症例の検索においては、プライバシー保護の観点により、そのユーザの情報や参照する他の症例の情報は、暗号化で秘匿することが望ましい。特許文献1、特許文献2および特許文献3には、暗号化したまま類似検索を行う技術が開示されている。   In recent years, for example, there is a system that measures blood pressure at home, for example, and provides advice to users regarding eating habits by analysis on a server. In this analysis, useful advice with a real feeling can be given to the user by giving advice by referring not only to the person's past information but also to other similar cases. In searching for similar cases in the server, it is desirable to conceal the information of the user and the information of other cases to be referred to by encryption from the viewpoint of privacy protection. Patent Document 1, Patent Document 2 and Patent Document 3 disclose techniques for performing a similarity search with encryption.

特開2014−126865号公報JP 2014-126865 A 特開2014−126866号公報JP 2014-126866 A 特許第5542474号公報Japanese Patent No. 5542474

光成滋生、“クラウドを支えるこれからの暗号技術”、2015.3.24.githubShigeo Mitsunari, “Cryptographic Technology to Support the Cloud”, 2015.3.34. gitub D.Boneh, E.−J.Goh, K.Nissim, “Evaluating 2−DNF Formulas on Ciphertexts”, TCC05, 2005.D. Boneh, E .; -J. Goh, K .; Nissim, “Evaluating 2-DNF Formulas on Ciphertexts”, TCC05, 2005.

しかしながら、従来の類似検索では、共通鍵や公開鍵を利用した暗号化において、サーバ装置が暗号化した状態のまま類似検索を行う。この暗号化した特徴量について、復号するときの鍵を持つのは端末装置であるため、サーバ装置が送信した類似値を、端末装置が受信して復号を行い、類似値と端末装置が参照特徴量及び特徴量から算出した距離とが一致しているか否かの判断をする。一致していない場合には、再度同様の動作を行う。このため、端末装置とサーバ装置との通信回数の増加や、端末装置が暗号化したデータを復号する際の処理計算が増加する。   However, in the conventional similarity search, in the encryption using the common key or the public key, the similarity search is performed with the server device being encrypted. Since it is the terminal device that has the key for decrypting this encrypted feature quantity, the terminal device receives and decrypts the similarity value transmitted by the server device, and the similarity value and the terminal device reference characteristics It is determined whether or not the distance calculated from the quantity and the feature quantity matches. If they do not match, the same operation is performed again. For this reason, the number of communications between the terminal device and the server device increases, and the processing calculation when decrypting the data encrypted by the terminal device increases.

本発明は、このような課題を解決するものであり、端末装置の処理計算が軽量化し、かつ、サーバ装置と端末装置との通信回数が減少する類似情報検索方法、サーバ装置及び類似情報検索システムを提供することを目的とする。   The present invention solves such a problem, and a similar information search method, a server device, and a similar information search system that reduce the processing calculation of the terminal device and reduce the number of times of communication between the server device and the terminal device. The purpose is to provide.

上記課題を解決するため、類似情報検索方法の一態様は、端末装置から提供される情報に基づいて、サーバ装置が類似情報を検索して前記端末装置に提供する類似情報検索方法であって、前記サーバ装置が、前記端末装置から、暗号化された特徴量である暗号化特徴量を受信する特徴量受信ステップと、前記サーバ装置が、前記端末装置から、類似の度合を示す類似値を暗号化した情報である暗号化類似値を受信する類似値受信ステップと、前記サーバ装置が、複数の参照特徴量の少なくとも一つについての前記参照特徴量と、前記サーバ装置で受信された前記暗号化特徴量との類似の度合を示す暗号化距離を算出する距離算出ステップと、前記サーバ装置が、算出された前記暗号化距離が前記サーバ装置で受信された前記暗号化類似値とが一致するか否かを判定する判定ステップと、前記サーバ装置が、前記判定ステップで一致すると判定された場合に、前記暗号化距離の算出に用いられた前記参照特徴量に対応するデータである参照データを暗号化した情報である暗号化参照データを生成し、生成した前記暗号化参照データを前記端末装置に送信する参照データ送信ステップとを含む。   In order to solve the above problem, one aspect of a similar information search method is a similar information search method in which a server device searches for similar information based on information provided from the terminal device and provides the similar information to the terminal device, The server device receives a feature value receiving step of receiving an encrypted feature value, which is an encrypted feature value, from the terminal device, and the server device encrypts a similar value indicating a similar degree from the terminal device. A similarity value receiving step of receiving an encrypted similarity value, which is converted information, the reference feature amount for at least one of a plurality of reference feature amounts, and the encryption received by the server device A distance calculating step for calculating an encryption distance indicating a degree of similarity with a feature amount, and the server device, wherein the calculated encryption distance is received by the server device. A determination step for determining whether or not to match, and a reference that is data corresponding to the reference feature value used for calculating the encryption distance when the server device is determined to match in the determination step Generating encrypted reference data that is information obtained by encrypting data, and transmitting the generated encrypted reference data to the terminal device.

また、本発明の一態様に係る類似情報検索システムは、端末装置から提供される情報に基づいて、類似情報を検索して前記端末装置に提供するサーバ装置であって、前記端末装置から、暗号化された特徴量である暗号化特徴量を受信し、受信した前記暗号化特徴量と、複数の参照特徴量の少なくとも一つについての前記参照特徴量との類似の度合を示す暗号化距離を算出する暗号化距離計算部と、類似の度合を示す類似を暗号化した情報である暗号化類似値を受信し、受信した前記暗号化類似値が、算出された前記暗号化距離と一致するか否かを判定する参照類似値抽出部と、前記参照類似値抽出部で一致すると判定された場合に、前記暗号化距離の算出に用いられた前記参照特徴量に対応するデータである参照データを暗号化した情報である暗号化参照データを生成し、生成した前記暗号化参照データを前記端末装置に送信する暗号化参照データ抽出部とを備える。   A similar information search system according to an aspect of the present invention is a server device that searches for similar information based on information provided from a terminal device and provides the similar information to the terminal device. An encrypted distance that indicates the degree of similarity between the received encrypted feature quantity and the reference feature quantity for at least one of a plurality of reference feature quantities. The encryption distance calculation unit to be calculated and an encryption similarity value that is information obtained by encrypting the similarity indicating the degree of similarity are received, and whether the received encryption similarity value matches the calculated encryption distance Reference data that is data corresponding to the reference feature value used for calculating the encryption distance when it is determined that the reference similarity value extraction unit and the reference similarity value extraction unit match each other. Encrypted information To generate encrypted reference data, and a cryptographic reference data extraction unit that transmits to the terminal device the generated the encrypted reference data.

本発明によれば、端末装置の処理計算が軽量化し、かつ、サーバ装置と端末装置との通信回数が減少することができる。   ADVANTAGE OF THE INVENTION According to this invention, the processing calculation of a terminal device can be reduced in weight, and the frequency | count of communication with a server apparatus and a terminal device can reduce.

実施の形態1において情報管理システムが提供するサービスの全体像を示すブロック図である。3 is a block diagram illustrating an overall image of a service provided by the information management system in Embodiment 1. FIG. 実施の形態1において機器メーカがデータセンタ運営会社に該当する例を示すブロック図である。3 is a block diagram illustrating an example in which a device manufacturer corresponds to a data center operating company in Embodiment 1. FIG. 実施の形態1において機器メーカ及び管理会社の両者又はいずれか一方がデータセンタ運営会社に該当する例を示すブロック図である。FIG. 3 is a block diagram illustrating an example in which both or one of the device manufacturer and the management company corresponds to the data center operating company in the first embodiment. 実施の形態1において類似情報検索システムの全体構成を示すブロック図である。1 is a block diagram showing an overall configuration of a similar information search system in Embodiment 1. FIG. 実施の形態1においてユーザ端末装置の構成を示すブロック図である。3 is a block diagram showing a configuration of a user terminal device in Embodiment 1. FIG. 実施の形態1においてデータ演算装置の構成を示すブロック図である。1 is a block diagram illustrating a configuration of a data operation device in Embodiment 1. FIG. 実施の形態1においてデータ演算装置における参照特徴量格納部の例を示す図である。3 is a diagram illustrating an example of a reference feature amount storage unit in the data arithmetic device in Embodiment 1. FIG. 実施の形態1においてデータ演算装置における参照データ格納部の例を示す図である。6 is a diagram illustrating an example of a reference data storage unit in the data arithmetic device in Embodiment 1. FIG. 実施の形態1において類似情報検索システムの動作を示すシーケンス図である。FIG. 6 is a sequence diagram showing an operation of the similar information search system in the first embodiment. 実施の形態1においてユーザ端末とデータ装置との間のデータフォーマット例を示す図である。3 is a diagram illustrating an example of a data format between a user terminal and a data device in Embodiment 1. FIG. 実施の形態1においてユーザ端末とデータ装置との間のデータフォーマット例を示す図である。3 is a diagram illustrating an example of a data format between a user terminal and a data device in Embodiment 1. FIG. 実施の形態1においてユーザ端末装置の表示の例を示す図である。6 is a diagram illustrating an example of display of a user terminal device in the first embodiment. FIG. 実施の形態1においてユーザ端末装置の表示の例を示す図である。6 is a diagram illustrating an example of display of a user terminal device in the first embodiment. FIG. 実施の形態1においてユーザ端末装置が表示する時間と特徴量との算出例を示すグラフである。5 is a graph illustrating an example of calculating time and feature amounts displayed by the user terminal device in the first embodiment. 実施の形態2においてユーザ端末装置の構成を示すブロック図である。6 is a block diagram illustrating a configuration of a user terminal device in Embodiment 2. FIG. 実施の形態2においてデータ演算装置の構成を示すブロック図である。6 is a block diagram illustrating a configuration of a data arithmetic device in Embodiment 2. FIG. 実施の形態2において類似情報検索システムの動作を示すシーケンス図である。FIG. 10 is a sequence diagram showing the operation of the similar information search system in the second embodiment. その他の変形例において統計化参照データを取得する場合のデータ演算装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data arithmetic unit in the case of acquiring statistical reference data in another modification. サービスの類型1(自社データセンタ型クラウドサービス)における情報管理システムが提供するサービスの全体像を示すブロック図である。It is a block diagram which shows the whole image of the service which the information management system in the service type 1 (in-house data center type | mold cloud service) provides. サービスの類型2(IaaS利用型クラウドサービス)における情報管理システムが提供するサービスの全体像を示すブロック図である。It is a block diagram which shows the whole image of the service which the information management system in the service type 2 (IaaS use type cloud service) provides. サービスの類型3(PaaS利用型クラウドサービス)における情報管理システムが提供するサービスの全体像を示すブロック図である。It is a block diagram which shows the whole image of the service which the information management system in the service type 3 (PaaS use type cloud service) provides. サービスの類型4(SaaS利用型クラウドサービス)における情報管理システムが提供するサービスの全体像を示すブロック図である。It is a block diagram which shows the whole image of the service which the information management system in the service type 4 (SaaS utilization type cloud service) provides.

(発明の基礎となった知見)
暗号化したまま類似検索する方法がある。しかしながら、この場合サーバ側は暗号化した距離の計算は行うものの、対応する秘密鍵を持たないので指定した類似値に合致しているかどうかの判定はできなかった。判定を行うためにはユーザ端末の秘密鍵を用いた復号が必要であり、ユーザ端末で実現するには、計算量や通信量が大きくなっていた。
(Knowledge that became the basis of the invention)
There is a method of performing a similar search with encryption. However, in this case, although the server side calculates the encrypted distance, it does not have a corresponding secret key, so it cannot be determined whether it matches the specified similarity value. In order to perform the determination, decryption using the secret key of the user terminal is necessary, and the amount of calculation and the amount of communication are large to realize in the user terminal.

このような課題を解決するために、類似情報検索方法は、端末装置から提供される情報に基づいて、サーバ装置が類似情報を検索して前記端末装置に提供する類似情報検索方法であって、前記サーバ装置が、前記端末装置から、暗号化された特徴量である暗号化特徴量を受信する特徴量受信ステップと、前記サーバ装置が、前記端末装置から、類似の度合を示す類似値を暗号化した情報である暗号化類似値を受信する類似値受信ステップと、前記サーバ装置が、複数の参照特徴量の少なくとも一つについての前記参照特徴量と、前記サーバ装置で受信された前記暗号化特徴量との類似の度合を示す暗号化距離を算出する距離算出ステップと、前記サーバ装置が、算出された前記暗号化距離が前記サーバ装置で受信された前記暗号化類似値とが一致するか否かを判定する判定ステップと、前記サーバ装置が、前記判定ステップで一致すると判定された場合に、前記暗号化距離の算出に用いられた前記参照特徴量に対応するデータである参照データを暗号化した情報である暗号化参照データを生成し、生成した前記暗号化参照データを前記端末装置に送信する参照データ送信ステップとを含む。   In order to solve such a problem, a similar information search method is a similar information search method in which a server device searches for similar information based on information provided from the terminal device and provides the similar information to the terminal device, The server device receives a feature value receiving step of receiving an encrypted feature value, which is an encrypted feature value, from the terminal device, and the server device encrypts a similar value indicating a similar degree from the terminal device. A similarity value receiving step of receiving an encrypted similarity value, which is converted information, the reference feature amount for at least one of a plurality of reference feature amounts, and the encryption received by the server device A distance calculating step for calculating an encryption distance indicating a degree of similarity with a feature amount, and the server device, wherein the calculated encryption distance is received by the server device. A determination step for determining whether or not to match, and a reference that is data corresponding to the reference feature value used for calculating the encryption distance when the server device is determined to match in the determination step Generating encrypted reference data that is information obtained by encrypting data, and transmitting the generated encrypted reference data to the terminal device.

この構成によれば、サーバ装置が暗号化特徴量と暗号化類似値とを端末装置から受信し、サーバ装置が暗号化特徴量と暗号化類似値とから暗号化距離を算出する。そして、サーバ装置は、暗号化距離が暗号化類似値と一致していれば、暗号化参照データを生成し、端末装置に送信する。このため、端末装置が暗号化距離と暗号化類似値とが一致するか否かを判断する場合に比べ、この類似情報検索方法では、端末装置の処理計算が減少する。   According to this configuration, the server device receives the encrypted feature value and the encrypted similarity value from the terminal device, and the server device calculates the encryption distance from the encrypted feature value and the encrypted similarity value. Then, if the encrypted distance matches the encrypted similarity value, the server device generates encrypted reference data and transmits it to the terminal device. For this reason, compared with the case where the terminal device determines whether or not the encryption distance and the encryption similarity value match, this similarity information search method reduces the processing calculation of the terminal device.

また、このサーバ装置では、暗号化距離と暗号化類似値とが一致する場合に、暗号化参照データを生成し、生成した暗号化参照データを端末装置に送信する。このため、端末装置が暗号化距離と暗号化類似値とが一致するか否かを判断する場合に比べ、サーバ装置と端末装置との通信回数が増加し難い。   Further, in this server device, when the encrypted distance and the encrypted similarity value match, encrypted reference data is generated, and the generated encrypted reference data is transmitted to the terminal device. For this reason, compared with the case where a terminal device judges whether an encryption distance and an encryption similarity value correspond, the frequency | count of communication with a server apparatus and a terminal device does not increase easily.

したがって、この類似情報検索方法では、端末装置の処理計算が軽量化し、かつ、サーバ装置と端末装置との通信回数が減少することができる。   Therefore, in this similar information search method, the processing calculation of the terminal device can be reduced, and the number of communications between the server device and the terminal device can be reduced.

また、この類似情報検索方法では、前記類似値受信ステップでは、複数の類似の度合を示す複数の類似値のそれぞれを暗号化した情報である複数の暗号化類似値を受信し、前記サーバ装置は、受信した前記複数の暗号化類似値のそれぞれについて、前記距離算出ステップ、前記判定ステップ及び前記参照データ送信ステップを実行する。   In the similar information search method, in the similarity value receiving step, a plurality of encrypted similarity values that are information obtained by encrypting each of a plurality of similar values indicating a plurality of similar degrees are received. The distance calculation step, the determination step, and the reference data transmission step are executed for each of the received plurality of encrypted similarity values.

この構成によれば、端末装置の処理計算がより軽量化し、かつ、サーバ装置と端末装置との通信回数がより減少する。   According to this configuration, the processing calculation of the terminal device is further reduced, and the number of communications between the server device and the terminal device is further reduced.

また、この類似情報検索方法では、前記暗号化距離は、前記参照特徴量と前記暗号化特徴量とのユークリッド距離であってもよい。   In the similar information search method, the encryption distance may be a Euclidean distance between the reference feature value and the encrypted feature value.

この構成によれば、この類似情報検索方法をより具体化することができる。   According to this configuration, the similar information search method can be made more specific.

また、この類似情報検索方法では、さらに、前記サーバ装置が、前記端末装置が保持する秘密鍵を所定関数で変換した情報である鍵変換値を受信する鍵受信ステップを含み、前記類似値受信ステップでは、前記暗号化類似値として、前記類似値を前記所定関数で変換した情報である変換類似値を受信し、前記判定ステップでは、前記判定として、前記鍵変換値を用いて前記暗号化距離を復号することで変換距離を生成し、生成した前記変換距離が前記変換類似値と一致するか否かを判定する。   The similar information search method further includes a key reception step in which the server device receives a key conversion value that is information obtained by converting a secret key held by the terminal device using a predetermined function. Then, a conversion similarity value that is information obtained by converting the similarity value with the predetermined function is received as the encryption similarity value. In the determination step, the encryption distance is calculated using the key conversion value as the determination. A conversion distance is generated by decoding, and it is determined whether or not the generated conversion distance matches the conversion similarity value.

この構成によれば、乱数を含んだ確率的暗号について、ユーザが同一の情報に基づいて検索を行っても、暗号化された特徴量が同じ値にならない。このため、この類似値検索方法によれば、ユーザ端末装置からデータ演算装置への送信上及びデータ演算装置内でも、ユーザが検索した情報の秘匿性をより高めることができる。その結果、確率的暗号を用いることで暗号文の頻度などからの解析が困難となり、安全性を向上させることができる。   According to this configuration, even if a user performs a search based on the same information for a stochastic cipher including a random number, the encrypted feature values do not have the same value. For this reason, according to this similarity value search method, the confidentiality of the information searched by the user can be further enhanced in transmission from the user terminal device to the data operation device and also in the data operation device. As a result, using probabilistic encryption makes it difficult to analyze the ciphertext frequency and the like, thereby improving safety.

また、この類似情報検索方法では、前記所定関数は、一方向性関数である。   In the similar information retrieval method, the predetermined function is a one-way function.

この構成によれば、復号するための鍵は一方向性関数を用いて変換するため、サーバ装置は鍵そのものを求めることは困難である。このため、類似情報検索方法では、ユーザにおける情報の秘匿性が守られ易い。   According to this configuration, since the key for decryption is converted using a one-way function, it is difficult for the server device to obtain the key itself. For this reason, in the similar information search method, the confidentiality of information for the user is easily protected.

また、この類似情報検索方法では、さらに、前記端末装置が、データを取得し、取得したデータから、前記データの特徴を示す特徴量を算出し、算出した特徴量を暗号化することで前記暗号化特徴量を生成し、生成した前記暗号化特徴量を前記サーバ装置に送信する特徴量送信ステップと、前記端末装置が、類似の度合を示す類似値を設定し、設定した類似値を暗号化することで前記暗号化類似値を生成し、生成した前記暗号化類似値を前記サーバ装置に送信する類似値送信ステップと、前記端末装置が、前記サーバ装置から前記暗号化参照データを受信し、受信した前記暗号化参照データを復号する復号ステップとを含む。   Further, in this similar information retrieval method, the terminal device further acquires the data, calculates a feature amount indicating a feature of the data from the acquired data, and encrypts the calculated feature amount to encrypt the encrypted feature amount. A feature value transmitting step of generating a generated feature value and transmitting the generated encrypted feature value to the server device; and the terminal device sets a similarity value indicating a degree of similarity and encrypts the set similarity value A similar value transmission step of generating the encrypted similarity value and transmitting the generated encrypted similarity value to the server device, and the terminal device receives the encrypted reference data from the server device, Decrypting the received encrypted reference data.

この構成によれば、端末装置は、特徴量送信ステップ、類似値送信ステップ及び復号ステップを行うと、サーバ装置から類似情報を得ることができる。このため、サーバ装置が参照特徴量と暗号化特徴量との暗号化距離の算出を行い、サーバ装置からの暗号化類似値を受け取った端末装置が復号を行って暗号化類似値が一致するか否かの判断をする場合に比べ、この類似情報検索方法では、端末装置の処理計算が減少する。つまり、端末装置は、暗号化距離と暗号化類似値とが一致するか否かの判断を行わない。このため、端末装置の処理計算が減少し、かつ、サーバ装置と端末装置との通信回数が減少することができる。   According to this configuration, the terminal device can obtain similar information from the server device by performing the feature amount transmission step, the similarity value transmission step, and the decoding step. Therefore, whether the server device calculates the encryption distance between the reference feature value and the encrypted feature value, and the terminal device that has received the encrypted similarity value from the server device performs the decryption, does the encrypted similarity value match? Compared with the case of determining whether or not, in this similar information search method, the processing calculation of the terminal device is reduced. That is, the terminal device does not determine whether or not the encryption distance matches the encryption similarity value. For this reason, the processing calculation of a terminal device reduces, and the frequency | count of communication with a server apparatus and a terminal device can reduce.

また、この類似情報検索方法では、前記暗号化特徴量、前記暗号化類似値及び前記参照特徴量は、準同型暗号方式で暗号化されている。   In this similar information search method, the encrypted feature value, the encrypted similarity value, and the reference feature value are encrypted by a homomorphic encryption method.

この構成によれば、準同型暗号方式は、サーバ装置では復号できない暗号方式であり、このときに用いる鍵は、端末装置の公開鍵である。このため、端末装置からサーバ装置への送信上及びサーバ装置内でも、ユーザが検索した情報の秘匿性を高めることができる。   According to this configuration, the homomorphic encryption method is an encryption method that cannot be decrypted by the server device, and the key used at this time is the public key of the terminal device. For this reason, the confidentiality of the information searched by the user can be enhanced in transmission from the terminal device to the server device and also in the server device.

このような課題を解決するために、サーバ装置は、端末装置から提供される情報に基づいて、類似情報を検索して前記端末装置に提供するサーバ装置であって、前記端末装置から、暗号化された特徴量である暗号化特徴量を受信し、受信した前記暗号化特徴量と、複数の参照特徴量の少なくとも一つについての前記参照特徴量との類似の度合を示す暗号化距離を算出する距離算出計算部と、類似の度合を示す類似値を暗号化した情報である暗号化類似値を受信し、受信した前記暗号化類似値が、算出された前記暗号化距離と一致するか否かを判定する参照類似値抽出部と、前記参照類似値抽出部で一致すると判定された場合に、前記暗号化距離の算出に用いられた前記参照特徴量に対応するデータである参照データを暗号化した情報である暗号化参照データを生成し、生成した前記暗号化参照データを前記端末装置に送信する暗号化参照データ抽出部とを備える。   In order to solve such a problem, the server device searches for similar information based on information provided from the terminal device and provides the similar information to the terminal device. The encrypted feature quantity that is the received feature quantity is received, and the encryption distance indicating the degree of similarity between the received encrypted feature quantity and the reference feature quantity for at least one of the plurality of reference feature quantities is calculated. A distance calculation calculation unit that receives the encrypted similarity value that is information obtained by encrypting the similarity value indicating the degree of similarity, and whether or not the received encrypted similarity value matches the calculated encryption distance When it is determined that the reference similar value extraction unit and the reference similar value extraction unit match, reference data that is data corresponding to the reference feature amount used for calculating the encryption distance is encrypted. Dark information Generates referential data, and a cryptographic reference data extraction unit that transmits to the terminal device the generated the encrypted reference data.

また、このような課題を解決するために、この類似情報検索システムは、端末装置と、前記端末装置から提供される情報に基づいて、類似情報を検索して前記端末装置に提供する請求項7記載のサーバ装置とを備える。   In order to solve such a problem, the similar information search system searches for similar information based on the terminal device and information provided from the terminal device and provides the similar information to the terminal device. The server apparatus of description is provided.

この構成によっても、サーバ装置が暗号化特徴量と暗号化類似値とを端末装置から受信し、サーバ装置が暗号化特徴量と暗号化類似値とから暗号化距離を算出する。そして、サーバ装置は、暗号化距離が暗号化類似値と一致していれば、暗号化参照データを生成し、端末装置に送信する。このため、端末装置が暗号化距離と暗号化類似値とが一致するか否かを判断する場合に比べ、類似情報検索方法では、端末装置の処理計算が減少する。   Also with this configuration, the server device receives the encrypted feature value and the encrypted similarity value from the terminal device, and the server device calculates the encryption distance from the encrypted feature value and the encrypted similarity value. Then, if the encrypted distance matches the encrypted similarity value, the server device generates encrypted reference data and transmits it to the terminal device. For this reason, compared with the case where the terminal device determines whether or not the encryption distance and the encryption similarity value match, the similarity information search method reduces the processing calculation of the terminal device.

また、このサーバ装置では、暗号化距離と暗号化類似値とが一致する場合に、暗号化参照データを生成し、生成した暗号化参照データを端末装置に送信するだけである。このため、サーバ装置と端末装置との通信回数が増加し難い。   Further, in this server device, when the encryption distance and the encryption similarity value match, only the encrypted reference data is generated and the generated encrypted reference data is transmitted to the terminal device. For this reason, the frequency | count of communication with a server apparatus and a terminal device cannot increase easily.

したがって、このサーバ装置及び類似情報検索システムでは、端末装置の処理計算が減少し、かつ、サーバ装置と端末装置との通信回数が減少することができる。   Therefore, in the server device and the similar information search system, the processing calculation of the terminal device can be reduced, and the number of communications between the server device and the terminal device can be reduced.

なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることも出来る。   Note that each of the embodiments described below shows a specific example of the present invention. Numerical values, shapes, components, steps, order of steps and the like shown in the following embodiments are merely examples, and are not intended to limit the present invention. In addition, among the constituent elements in the following embodiments, constituent elements that are not described in the independent claims indicating the highest concept are described as optional constituent elements. In all the embodiments, the contents can be combined.

以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることも出来る。   Each of the embodiments described below shows a specific example of the present invention. Numerical values, shapes, components, steps, order of steps and the like shown in the following embodiments are merely examples, and are not intended to limit the present invention. In addition, among the constituent elements in the following embodiments, constituent elements that are not described in the independent claims indicating the highest concept are described as optional constituent elements. In all the embodiments, the contents can be combined.

(提供するサービスの全体像)
まず、本実施の形態における情報管理システムが提供するサービスの全体像について、図1A、図1B及び図1Cを用いて説明する。
(Overview of services provided)
First, an overview of services provided by the information management system according to the present embodiment will be described with reference to FIGS. 1A, 1B, and 1C.

図1Aは、実施の形態1において情報管理システムが提供するサービスの全体像を示すブロック図である。図1Bは、実施の形態1において機器メーカがデータセンタ運営会社に該当する例を示すブロック図である。図1Cは、実施の形態1において機器メーカ及び管理会社の両者又はいずれか一方がデータセンタ運営会社に該当する例を示すブロック図である。   FIG. 1A is a block diagram showing an overall image of services provided by the information management system in the first exemplary embodiment. FIG. 1B is a block diagram illustrating an example in which the device manufacturer corresponds to a data center operating company in the first exemplary embodiment. FIG. 1C is a block diagram illustrating an example in which one or both of the device manufacturer and the management company correspond to the data center operating company in the first exemplary embodiment.

情報管理システムは、グループ1000、データセンタ運営会社1110及びサービスプロバイダ1120を備える。   The information management system includes a group 1000, a data center operating company 1110, and a service provider 1120.

グループ1000は、例えば企業、団体又は家庭などであり、その規模を問わない。グループ1000は、第1の機器及び第2の機器を含む複数の機器1101と、ホームゲートウェイ1102とを有する。複数の機器1101は、インターネットと接続可能な機器(例えば、スマートフォン、パーソナルコンピュータ(PC)又はテレビなど)、及びそれ自身ではインターネットと接続不可能な機器(例えば、照明、洗濯機又は冷蔵庫など)を含む。複数の機器1101は、それ自身ではインターネットと接続不可能であっても、ホームゲートウェイ1102を介してインターネットと接続可能となる機器を含んでもよい。また、ユーザ1010は、グループ1000内の複数の機器1101を使用する。   The group 1000 is, for example, a company, an organization, or a household, and the scale is not limited. The group 1000 includes a plurality of devices 1101 including a first device and a second device, and a home gateway 1102. The plurality of devices 1101 include devices that can be connected to the Internet (for example, smartphones, personal computers (PCs) or televisions) and devices that cannot be connected to the Internet by themselves (for example, lighting, washing machines, refrigerators, and the like). Including. The plurality of devices 1101 may include devices that can be connected to the Internet via the home gateway 1102 even if they cannot be connected to the Internet by themselves. The user 1010 uses a plurality of devices 1101 in the group 1000.

データセンタ運営会社1110は、クラウドサーバ1111を備える。クラウドサーバ1111は、インターネットを介して様々な機器と連携する仮想化サーバである。クラウドサーバ1111は、主に通常のデータベース管理ツールなどで扱うことが困難な巨大なデータ(ビッグデータ)などを管理する。データセンタ運営会社1110は、データの管理、クラウドサーバ1111の管理、及びそれらを行うデータセンタの運営などを行っている。データセンタ運営会社1110が行っている役務の詳細については後述する。   The data center operating company 1110 includes a cloud server 1111. The cloud server 1111 is a virtualization server that cooperates with various devices via the Internet. The cloud server 1111 mainly manages huge data (big data) that is difficult to handle with a normal database management tool or the like. The data center operating company 1110 performs management of data, management of the cloud server 1111, management of the data center that performs them. Details of services performed by the data center operating company 1110 will be described later.

ここで、データセンタ運営会社1110は、データの管理又はクラウドサーバ1111の管理のみを行っている会社に限らない。例えば、図1Bに示すように、複数の機器1101のうちの一つの機器を開発又は製造している機器メーカが、データの管理又はクラウドサーバ1111の管理などを行っている場合は、機器メーカがデータセンタ運営会社1110に該当する。また、データセンタ運営会社1110は一つの会社に限らない。例えば、図1Cに示すように、機器メーカ及び管理会社が共同又は分担してデータの管理又はクラウドサーバ1111の管理を行っている場合は、両者又はいずれか一方がデータセンタ運営会社1110に該当する。   Here, the data center operating company 1110 is not limited to a company that only manages data or manages the cloud server 1111. For example, as shown in FIG. 1B, when a device manufacturer that develops or manufactures one of a plurality of devices 1101 performs data management or cloud server 1111 management, the device manufacturer This corresponds to the data center operating company 1110. The data center operating company 1110 is not limited to one company. For example, as shown in FIG. 1C, when the device manufacturer and the management company jointly or share the management of data or the cloud server 1111, both or one of them corresponds to the data center operating company 1110. .

サービスプロバイダ1120は、サーバ1121を備える。ここで言うサーバ1121とは、その規模は問わず、例えば、個人用PC内のメモリなども含む。また、サービスプロバイダ1120がサーバ1121を備えていない場合もある。   The service provider 1120 includes a server 1121. The server 1121 referred to here includes, for example, a memory in a personal PC regardless of the scale. In addition, the service provider 1120 may not include the server 1121.

なお、上記の情報管理システムにおいて、ホームゲートウェイ1102は必須ではない。例えば、クラウドサーバ1111が全てのデータ管理を行っている場合などは、ホームゲートウェイ1102は不要となる。また、情報管理システムでは、家庭内の全ての機器がインターネットに接続されている場合のように、それ自身ではインターネットと接続不可能な機器は存在しない場合もある。   In the above information management system, the home gateway 1102 is not essential. For example, when the cloud server 1111 performs all data management, the home gateway 1102 becomes unnecessary. In addition, in the information management system, there are cases where there is no device that cannot be connected to the Internet by itself, as in the case where all devices in the home are connected to the Internet.

次に、上記の情報管理システムにおける情報の流れを説明する。   Next, the flow of information in the information management system will be described.

まず、グループ1000の第1の機器又は第2の機器は、各ログ情報をデータセンタ運営会社1110のクラウドサーバ1111にそれぞれ送信する。クラウドサーバ1111は、第1の機器又は第2の機器のログ情報を集積する(図1Aの矢印1131)。ここで、ログ情報とは、複数の機器1101の例えば運転状況又は動作日時などを示す情報である。例えば、ログ情報は、テレビの視聴履歴、レコーダーの録画予約情報、洗濯機の運転日時、洗濯物の量、冷蔵庫の開閉日時、及び冷蔵庫の開閉回数などを含むが、これらの情報に限らず、種々の機器から取得が可能な種々の情報を含んでもよい。なお、ログ情報は、インターネットを介して複数の機器1101自体から直接クラウドサーバ1111に提供されてもよい。また、ログ情報は、複数の機器1101から一旦ホームゲートウェイ1102に集積され、ホームゲートウェイ1102からクラウドサーバ1111に提供されてもよい。   First, the first device or the second device of the group 1000 transmits each log information to the cloud server 1111 of the data center operating company 1110. The cloud server 1111 accumulates log information of the first device or the second device (arrow 1131 in FIG. 1A). Here, the log information is information indicating, for example, driving conditions or operation dates / times of the plurality of devices 1101. For example, the log information includes TV viewing history, recorder recording reservation information, washing machine operation date / time, amount of laundry, refrigerator opening / closing date / time, refrigerator opening / closing frequency, etc. Various information that can be acquired from various devices may be included. Note that the log information may be provided directly to the cloud server 1111 from the plurality of devices 1101 itself via the Internet. The log information may be temporarily accumulated in the home gateway 1102 from a plurality of devices 1101 and provided to the cloud server 1111 from the home gateway 1102.

次に、データセンタ運営会社1110のクラウドサーバ1111は、集積したログ情報を一定の単位でサービスプロバイダ1120に提供する。ここで、一定の単位とは、データセンタ運営会社1110が集積した情報を整理してサービスプロバイダ1120に提供することの出来る単位でもよいし、サービスプロバイダ1120が要求する単位でもよい。また、一定の単位で提供するとしているが、一定の単位でなくてもよく、状況に応じて提供する情報量が変化してもよい。ログ情報は、必要に応じてサービスプロバイダ1120が保有するサーバ1121に保存される(図1Aの矢印1132)。   Next, the cloud server 1111 of the data center operating company 1110 provides the collected log information to the service provider 1120 in a certain unit. Here, the fixed unit may be a unit that can organize and provide the information collected by the data center operating company 1110 to the service provider 1120, or may be a unit that the service provider 1120 requests. In addition, although the information is provided in a fixed unit, it may not be a fixed unit, and the amount of information to be provided may change depending on the situation. Log information is stored in the server 1121 held by the service provider 1120 as necessary (arrow 1132 in FIG. 1A).

そして、サービスプロバイダ1120は、ログ情報をユーザに提供するサービスに適合する情報に整理し、ユーザに提供する。情報が提供されるユーザは、複数の機器1101を使用するユーザ1010でもよいし、外部のユーザ1020でもよい。ユーザ1010,1020への情報を提供する方法としては、例えば、サービスプロバイダ1120から直接ユーザ1010,1020へ情報が提供されてもよい(図1Aの破線で示す矢印1133,1134)。また、ユーザ1010への情報を提供する方法としては、例えば、データセンタ運営会社1110のクラウドサーバ1111を再度経由して、ユーザ1010に情報が提供されてもよい(図1Aの矢印1135,1136)。また、データセンタ運営会社1110のクラウドサーバ1111は、ログ情報をユーザ1020に提供するサービスに適合する情報に整理し、サービスプロバイダ1120に提供してもよい。   Then, the service provider 1120 organizes the log information into information suitable for the service provided to the user, and provides the information to the user. The user to whom information is provided may be a user 1010 using a plurality of devices 1101 or an external user 1020. As a method for providing information to the users 1010 and 1020, for example, information may be provided directly to the users 1010 and 1020 from the service provider 1120 (arrows 1133 and 1134 shown by broken lines in FIG. 1A). As a method for providing information to the user 1010, for example, the information may be provided to the user 1010 via the cloud server 1111 of the data center operating company 1110 again (arrows 1135 and 1136 in FIG. 1A). . Further, the cloud server 1111 of the data center operating company 1110 may organize the log information into information suitable for the service provided to the user 1020 and provide the information to the service provider 1120.

なお、ユーザ1010は、ユーザ1020と異なっていても同一であってもよい。   Note that the user 1010 may be the same as or different from the user 1020.

(実施の形態1)
ここでは、本発明の実施の形態として、本発明に関わる類似情報検索システムについて図面を参照しながら説明する。
(Embodiment 1)
Here, as an embodiment of the present invention, a similar information search system according to the present invention will be described with reference to the drawings.

1.1 類似情報検索システムの全体構成
図2は、実施の形態1において類似情報検索システムの全体構成を示すブロック図である。
1.1 Overall Configuration of Similar Information Search System FIG. 2 is a block diagram showing the overall configuration of the similar information search system in the first embodiment.

図2に示すように、類似情報検索システム10は、データ演算装置200に対して検索を要求するユーザ端末装置100(端末装置の一例)と、ユーザ端末装置100から提供される情報に基づいて、類似情報を検索してユーザ端末装置100に提供するデータ演算装置200(サーバ装置の一例である)とを備える。   As illustrated in FIG. 2, the similar information search system 10 is based on a user terminal device 100 (an example of a terminal device) that requests a search from the data arithmetic device 200 and information provided from the user terminal device 100. A data computing device 200 (which is an example of a server device) that retrieves similar information and provides it to the user terminal device 100.

ユーザ端末装置100とデータ演算装置200とは、それぞれ1つずつ備えているが、それぞれ複数であり、例えば複数のユーザ端末装置100が1つのデータ演算装置200に接続されてもよいし、複数のデータ演算装置200が1つのユーザ端末装置100に接続されてもよい。また、各装置間の接続形態は、有線のインターネット線、無線通信、専用通信などのいずれであってもよい。なお、この類似情報検索システム10では、リアルタイムでの通信が必ずしも必要ではなく、例えば、ユーザ端末装置100は、センシングした情報や類似検索の要求をある程度集めてから、合わせてデータ演算装置に送信してもよい。   The user terminal device 100 and the data arithmetic device 200 are provided one by one, but there are a plurality of each, for example, a plurality of user terminal devices 100 may be connected to one data arithmetic device 200, The data arithmetic device 200 may be connected to one user terminal device 100. Further, the connection form between the devices may be any of a wired Internet line, wireless communication, dedicated communication, and the like. Note that the similar information search system 10 does not necessarily require real-time communication. For example, the user terminal device 100 collects sensed information and similar search requests to some extent and then transmits them together to the data arithmetic device. May be.

1.2 ユーザ端末装置
図3は、実施の形態1においてユーザ端末装置の構成を示すブロック図である。
1.2 User Terminal Device FIG. 3 is a block diagram showing the configuration of the user terminal device in the first embodiment.

図3に示すように、ユーザ端末装置100は、類似情報を検索するデータ演算装置に対して検索を要求する。ユーザ端末装置100は、センシング部101、特徴量算出部102、特徴量暗号部103、類似値設定部104、類似値暗号部105、参照データ利用部106、復号部107及び鍵格納部108を有している。   As illustrated in FIG. 3, the user terminal device 100 requests a search from a data arithmetic device that searches for similar information. The user terminal device 100 includes a sensing unit 101, a feature amount calculation unit 102, a feature amount encryption unit 103, a similar value setting unit 104, a similar value encryption unit 105, a reference data using unit 106, a decryption unit 107, and a key storage unit 108. doing.

特徴量暗号部103、類似値暗号部105及び復号部107は、それぞれデータ演算装置200(図4に示す)の、A,B,Cで図示する箇所と接続されるものとする。ユーザ端末装置100は、例えば、ユーザの血圧や顔色、CTスキャン情報などユーザに関する情報をセンシングし、取得されたデータの特徴を示す特徴量を抽出する。そして、データ演算装置は、この特徴量に類似した症状の参照データ(後述する、参照特徴量に対応するデータ)をデータ演算装置に要求し、得られた参照データをユーザへのサービスに利用する。なお、ユーザ端末装置100がユーザに関する情報をセンシングするにあたっては、ユーザより所定の同意を得て行うものとする。同意を取得するなどの手続きについては、本発明の範囲外とする。   It is assumed that the feature amount encryption unit 103, the similarity value encryption unit 105, and the decryption unit 107 are respectively connected to locations illustrated by A, B, and C of the data arithmetic device 200 (shown in FIG. 4). For example, the user terminal device 100 senses information about the user such as the user's blood pressure, facial color, and CT scan information, and extracts a feature amount indicating the characteristics of the acquired data. Then, the data calculation device requests reference data (data corresponding to a reference feature amount, which will be described later) of symptoms similar to the feature amount from the data calculation device, and uses the obtained reference data for the service to the user. . In addition, when the user terminal device 100 senses information related to the user, it is assumed that the user terminal device 100 obtains a predetermined consent from the user. Procedures such as obtaining consent are outside the scope of the present invention.

1.2.1 センシング部
センシング部101は、ユーザをセンシングする。センシングしたデータは、例えばユーザの血圧や体温などのバイタルデータや、ユーザの顔画像やエコーやCTスキャンによるデータなどの画像データ、受け答えの声のデータなどである。なお、センシングしたデータは、ユーザの位置情報(GPS(Global Positioning System)情報)や買い物の履歴情報であってもよい。
1.2.1 Sensing unit The sensing unit 101 senses a user. The sensed data is, for example, vital data such as a user's blood pressure and body temperature, image data such as a user's face image, data obtained by echo or CT scan, and voice / answer data. The sensed data may be user position information (GPS (Global Positioning System) information) or shopping history information.

1.2.2 特徴量算出部
特徴量算出部102は、センシング部101で取得したデータから特徴量を算出する。ここで算出した特徴量は、例えば、顔などの画像情報における特徴的なパラメータの主成分や、ある領域の位置や面積や幅などのデータであってよい。また、特徴量は、履歴情報からその時間軸に対応した傾向を例えば多項式に変換し、その係数であってもよい。さらに、特徴量は、数値であっても、数値を並べたベクトル値であってもよい。
1.2.2 Feature Quantity Calculation Unit The feature quantity calculation unit 102 calculates a feature quantity from the data acquired by the sensing unit 101. The feature amount calculated here may be, for example, principal components of characteristic parameters in image information such as a face, or data such as the position, area, and width of a certain region. Further, the feature amount may be a coefficient obtained by converting a tendency corresponding to the time axis from the history information into a polynomial, for example. Further, the feature amount may be a numerical value or a vector value in which numerical values are arranged.

1.2.3 特徴量暗号部
特徴量暗号部103は、特徴量算出部102で算出したデータの特徴を示す特徴量を暗号化することで、暗号化特徴量を生成する。特徴量暗号部103は、生成した暗号化特徴量をデータ演算装置に送信する。ここでは、暗号化を行う方法は、データ演算装置にて特徴量を暗号化したまま、類似情報の検索のための演算が可能となる準同型暗号を用いるものとする。データ演算装置に特徴量を秘匿する場合には、後述の鍵格納部108に格納されているユーザ端末装置100の公開鍵を用いるものとする。
1.2.3 Feature Quantity Encryption Unit The feature quantity encryption unit 103 generates an encrypted feature quantity by encrypting the feature quantity indicating the data feature calculated by the feature quantity calculation unit 102. The feature amount encryption unit 103 transmits the generated encrypted feature amount to the data arithmetic device. Here, as a method for performing encryption, it is assumed that homomorphic encryption that enables calculation for searching for similar information while the feature amount is encrypted by the data operation device is used. When concealing the feature quantity from the data arithmetic device, the public key of the user terminal device 100 stored in the key storage unit 108 described later is used.

1.2.4 類似値設定部
類似値設定部104は、検索する場合における類似の度合を示す類似値を設定する。ここでの類似値は、データ演算装置において、特徴量とどの程度近いものを検索するのかを示す値である。例えば、データ演算装置は、特徴量と参照特徴量との間のユークリッド距離を算出し、その値がある値D未満であるものを検索する場合に、ある値Dを類似値として設定する。あるいは、ある値Dの類似値である0,1、・・・、D−1の値をすべて設定してもよい。また、あるいは、類似値は、特徴量のベクトル値ごとに設定してもよい。
1.2.4 Similar Value Setting Unit The similar value setting unit 104 sets a similar value indicating the degree of similarity when searching. The similarity value here is a value indicating how close the feature amount is to be searched in the data arithmetic apparatus. For example, the data arithmetic device calculates the Euclidean distance between the feature quantity and the reference feature quantity, and sets a certain value D as a similarity value when searching for a value whose value is less than a certain value D. Alternatively, all values of 0, 1,..., D−1 that are similar values of a certain value D may be set. Alternatively, the similarity value may be set for each vector value of the feature amount.

1.2.5 類似値暗号部
類似値暗号部105は、類似の度合を示す類似値を暗号化することで暗号化類似値を生成する。類似値暗号部105は、生成した暗号化類似値をデータ演算装置に送信する。暗号化類似値は、データ演算装置において、暗号化した状態で暗号化特徴量との類似値を判定し、判定の条件に合う参照IDを抽出するために用いる。
1.2.5 Similar Value Encryption Unit The similar value encryption unit 105 generates an encrypted similarity value by encrypting a similarity value indicating the degree of similarity. The similar value encryption unit 105 transmits the generated encrypted similar value to the data arithmetic device. The encrypted similarity value is used to determine a similarity value with the encrypted feature amount in an encrypted state and extract a reference ID that meets the determination condition in the data processing device.

1.2.6 復号部
復号部107は、ユーザ端末装置100による類似情報の検索によって、暗号化特徴量と暗号化類似値とから生成された参照データ(類似検索の結果)を暗号化した情報である暗号化参照データをデータ演算装置から受信する。そして、復号部107は、受信した暗号化参照データを復号する。
1.2.6 Decryption Unit The decryption unit 107 is information obtained by encrypting reference data (similarity search result) generated from the encrypted feature value and the encrypted similarity value by the search of similar information by the user terminal device 100. Is received from the data processing device. Then, the decryption unit 107 decrypts the received encrypted reference data.

1.2.7 参照データ利用部
参照データ利用部106は、復号部107において復号して得た参照データを利用する。例えば、参照データ利用部106は、参照データをユーザ端末にグラフや統計値として表示したり、これらの情報を用いて、ユーザへの生活習慣の改善アドバイスや、お勧めの食事などのアドバイスを行ったりする。
1.2.7 Reference Data Utilization Unit The reference data utilization unit 106 uses the reference data obtained by the decryption unit 107. For example, the reference data utilization unit 106 displays the reference data as a graph or a statistical value on the user terminal, or uses this information to provide advice on lifestyle improvement or recommended meals to the user. Or

1.2.8 鍵格納部
鍵格納部108は、特徴量暗号部103、類似値暗号部105及び復号部107に用いる鍵を格納する。それぞれで用いる暗号方式および鍵は、同じであってもよく、異なっていてもよい。例えば、特徴量暗号部103と類似値暗号部105とで用いる鍵は、準同型暗号方式のユーザ端末装置100の公開鍵(対応する秘密鍵も、本鍵格納部に格納)であって、復号部107で用いる鍵は、準同型暗号方式ではない公開鍵暗号方法のユーザ端末装置100の秘密鍵(対応する公開鍵は、データ演算装置と共有)であってもよい。また、復号部107で用いる鍵は、特徴量暗号部103で用いた鍵と同じ準同型暗号のユーザ端末装置100の秘密鍵としてもよい。
1.2.8 Key Storage Unit The key storage unit 108 stores keys used for the feature amount encryption unit 103, the similarity value encryption unit 105, and the decryption unit 107. The encryption method and key used in each may be the same or different. For example, the key used by the feature value encryption unit 103 and the similar value encryption unit 105 is the public key of the user terminal device 100 of the homomorphic encryption method (the corresponding private key is also stored in the key storage unit) and decrypted. The key used in the unit 107 may be a secret key of the user terminal device 100 of a public key encryption method that is not a homomorphic encryption method (a corresponding public key is shared with the data processing device). The key used in the decryption unit 107 may be a secret key of the user terminal device 100 having the same homomorphic encryption as the key used in the feature amount encryption unit 103.

1.3 データ演算装置
図4は、実施の形態1においてデータ演算装置の構成を示すブロック図である。
1.3 Data Arithmetic Device FIG. 4 is a block diagram showing the configuration of the data arithmetic device in the first embodiment.

図4に示すように、データ演算装置200は、ユーザ端末装置から提供される情報に基づいて(ユーザからの検索の要求に応じて)類似情報を検索し、検索した情報をユーザ端末装置に提供する。データ演算装置200は、参照特徴量格納部201、暗号化距離計算部202、参照類似値抽出部203、暗号化参照データ抽出部204及び参照データ格納部205を有している。暗号化距離計算部202、参照類似値抽出部203及び暗号化参照データ抽出部204は、それぞれユーザ端末装置100(図3)の、図示する箇所と接続されるものとする。   As illustrated in FIG. 4, the data arithmetic device 200 searches for similar information based on information provided from the user terminal device (in response to a search request from the user), and provides the searched information to the user terminal device. To do. The data arithmetic device 200 includes a reference feature amount storage unit 201, an encrypted distance calculation unit 202, a reference similarity value extraction unit 203, an encrypted reference data extraction unit 204, and a reference data storage unit 205. It is assumed that the encrypted distance calculation unit 202, the reference similarity value extraction unit 203, and the encrypted reference data extraction unit 204 are connected to locations illustrated in the user terminal device 100 (FIG. 3), respectively.

1.3.1 参照特徴量格納部(図5A)
図5Aは、実施の形態1においてデータ演算装置における参照特徴量格納部の例を示す図である。図5Aは、参照特徴量格納部201に格納されている参照特徴量の例を示している。
1.3.1 Reference feature amount storage (FIG. 5A)
FIG. 5A is a diagram illustrating an example of a reference feature amount storage unit in the data arithmetic device according to Embodiment 1. FIG. 5A illustrates an example of the reference feature amount stored in the reference feature amount storage unit 201.

図5Aに示すように、参照特徴量格納部201は、データ演算装置が類似検索を行う際に、検索の対象となる参照特徴量Yiを格納する。なお、識別子IDがiに対応しており、参照特徴量をYiと記載する。識別子IDと参照特徴量とは、参照特徴量格納部201に対で格納される。図5Aでは、識別子IDは1,2、・・とし、各識別子IDに対応する各参照特徴量Y1、Y2、・・が格納されている。この例では、各参照特徴量は、ベクトル値であらわされているものとする。なお、参照特徴量は暗号化して格納しておいてもよい。   As shown in FIG. 5A, the reference feature quantity storage unit 201 stores a reference feature quantity Yi to be searched when the data arithmetic device performs a similarity search. The identifier ID corresponds to i, and the reference feature amount is described as Yi. The identifier ID and the reference feature amount are stored in a pair in the reference feature amount storage unit 201. 5A, identifier IDs are 1, 2,..., And reference feature amounts Y1, Y2,... Corresponding to each identifier ID are stored. In this example, each reference feature amount is represented by a vector value. The reference feature amount may be encrypted and stored.

1.3.2 暗号化距離計算部
暗号化距離計算部202は、ユーザ端末装置から、準同型暗号方式で暗号化された特徴量である暗号化特徴量を受信する。暗号化距離計算部202は、受信した暗号化特徴量と、複数の参照特徴量の少なくとも一つについての参照特徴量との類似の度合を示す距離の暗号化した値を、特徴量と参照特徴量とを暗号化したまま算出する。つまり、暗号化距離計算部202は、ユーザ端末装置が生成した特徴量とデータ演算装置200に格納している参照特徴量との距離を算出する。具体的には、暗号化距離計算部202は、ユーザ端末装置から受信した暗号化特徴量と、参照特徴量格納部201から受信した参照特徴量を暗号化して、それぞれ暗号化したまま距離を算出する。そして、暗号化距離計算部202は、この暗号化したままの距離(暗号化距離)を参照類似値抽出部203に出力する。距離は、参照特徴量と特徴量とのユークリッド距離である。なお、距離は、例えば、それぞれの特徴量が数値の場合では差の絶対値であってもよいし、それぞれの特徴量が数値を要素とするベクトルの場合では対応するベクトル要素の差の絶対値を加算したものであってもよい。また、暗号化距離は、それぞれのベクトル要素を積和したコサイン類似度であってもよい。具体的には、特徴量と参照特徴量とが数値を要素とするベクトルにおいて、特徴量が(x1,x2,x3,・・xn)、参照特徴量が(y11,y12,y13,・・y1n)の場合に、ベクトル要素の差の絶対値の加算することによって得た距離はΣ|xi−y1i|で表され、コサイン類似度はΣxi×y1iで表され、ユークリッド距離はΣ(xi−y1i)^2で表される。暗号化距離計算部202は、これらの計算を特徴量と参照特徴量とを暗号化したまま行うため、準同型暗号方式を用いる。準同型暗号方式の演算では、ベクトル値の要素ごとに計算をしてもよいし、計算を高速化するために、特徴量のベクトル値を多項式の各係数とした多項式にマッピングし、準同型暗号の距離計算を多項式間の演算で行ってもよい。
1.3.2 Encrypted Distance Calculation Unit The encrypted distance calculation unit 202 receives an encrypted feature quantity that is a feature quantity encrypted by the homomorphic encryption method from the user terminal device. The encrypted distance calculation unit 202 uses the encrypted value of the distance indicating the degree of similarity between the received encrypted feature quantity and the reference feature quantity for at least one of the plurality of reference feature quantities, as a feature quantity and a reference feature. The amount is calculated with encryption. That is, the encrypted distance calculation unit 202 calculates the distance between the feature value generated by the user terminal device and the reference feature value stored in the data calculation device 200. Specifically, the encryption distance calculation unit 202 encrypts the encrypted feature quantity received from the user terminal device and the reference feature quantity received from the reference feature quantity storage unit 201, and calculates the distance while each is encrypted. To do. Then, the encrypted distance calculation unit 202 outputs the encrypted distance (encrypted distance) to the reference similarity value extraction unit 203. The distance is a Euclidean distance between the reference feature quantity and the feature quantity. The distance may be, for example, an absolute value of a difference when each feature amount is a numerical value, or an absolute value of a difference between corresponding vector elements when each feature amount is a vector having a numerical value as an element. May be added. Further, the encryption distance may be a cosine similarity obtained by multiplying and summing each vector element. Specifically, in a vector whose elements are numerical values, the feature quantity is (x1, x2, x3,... Xn) and the reference feature quantity is (y11, y12, y13,... Y1n). ), The distance obtained by adding the absolute values of the vector element differences is represented by Σ | xi−y1i |, the cosine similarity is represented by Σxi × y1i, and the Euclidean distance is Σ (xi−y1i). ) ^ 2 The encryption distance calculation unit 202 uses a homomorphic encryption method in order to perform these calculations while encrypting the feature quantity and the reference feature quantity. In homomorphic cryptography operations, calculation may be performed for each element of the vector value, or in order to speed up the calculation, the vector value of the feature value is mapped to a polynomial with each coefficient of the polynomial, and the homomorphic encryption is performed. The distance may be calculated by calculation between polynomials.

1.3.3 参照類似値抽出部
参照類似値抽出部203は、類似値暗号部から暗号化類似値を受信する。暗号化類似値とは、類似の度合を示す類似値を暗号化した情報である。なお、この暗号化した情報は、準同型暗号方式で暗号化されていることが好ましい。
1.3.3 Reference Similar Value Extraction Unit The reference similar value extraction unit 203 receives the encrypted similarity value from the similarity value encryption unit. The encrypted similarity value is information obtained by encrypting a similarity value indicating the degree of similarity. The encrypted information is preferably encrypted by a homomorphic encryption method.

参照類似値抽出部203は、類似値暗号部から受信した暗号化類似値と、暗号化距離計算部202から受信した暗号化距離とを用いて、距離と類似値とが一致しているか否かを判断する(暗号化距離と暗号化類似値とが一致することは、距離と類似値とが一致することと同一)。参照類似値抽出部203は、距離と類似値とが一致すると判断された場合に、対応する参照特徴量の識別子IDを抽出する。参照類似値抽出部203は、暗号化類似値と暗号化距離とが一致すると判断しなかった場合に、対応する参照特徴量の識別子IDを抽出しない。   The reference similarity value extraction unit 203 uses the encrypted similarity value received from the similarity value encryption unit and the encryption distance received from the encryption distance calculation unit 202 to determine whether the distance and the similarity value match. (The fact that the encrypted distance and the encrypted similarity value match is the same as the distance and the similarity value match). When it is determined that the distance and the similarity value match, the reference similarity value extraction unit 203 extracts the identifier ID of the corresponding reference feature amount. The reference similarity value extraction unit 203 does not extract the identifier ID of the corresponding reference feature value when it is determined that the encryption similarity value and the encryption distance do not match.

1.3.4 参照データ格納部(図5B)
図5Bは、実施の形態1においてデータ演算装置における参照データ格納部の例を示す図である。図5Bは、参照データ格納部に格納されている識別子IDと参照データの例を示している。
1.3.4 Reference data storage (FIG. 5B)
FIG. 5B is a diagram illustrating an example of a reference data storage unit in the data arithmetic device in the first exemplary embodiment. FIG. 5B shows an example of the identifier ID and reference data stored in the reference data storage unit.

図5Bに示すように、参照データ格納部205は、データ演算装置が類似検索を行うために、検索の対象となる参照データを格納する。識別子IDと参照データとは、参照データ格納部に対で格納される。参照データ格納部205には、識別子IDを1、2、・・iとし、各識別子IDに対応する各参照データZ1、Z2、・・Ziが格納されている。なお、識別子IDがiに対応しており、参照データをZiと記載する。参照データとしては、例えば、血圧測定値の傾向を示す特徴量(図5Aの参照特徴量)に対応した、病気や治療の履歴(図5Bの参照データ)や、ユーザの位置情報を示す特徴量(図5Aの参照特徴量)に対応した、購入した商品の履歴(図5Bの参照データ)などであってもよい。図5Bの例では、識別子IDが1のユーザは2013年10月に脳梗塞で入院、識別子IDが2のユーザは1999年2月に糖尿病で加療開始、といった病気や治療の履歴などを蓄積している。参照データは、暗号化して格納しておいてもよい。   As shown in FIG. 5B, the reference data storage unit 205 stores reference data to be searched for the data arithmetic device to perform a similar search. The identifier ID and the reference data are stored in pairs in the reference data storage unit. In the reference data storage unit 205, identifier IDs 1, 2,... I are stored, and reference data Z1, Z2,. The identifier ID corresponds to i, and the reference data is described as Zi. As reference data, for example, a history of illness or treatment (reference data in FIG. 5B) corresponding to a feature value indicating the tendency of blood pressure measurement values (reference feature value in FIG. 5A), or a feature value indicating user position information. It may be a history of purchased products (reference data in FIG. 5B) corresponding to (reference feature amount in FIG. 5A). In the example of FIG. 5B, a user with an identifier ID of 1 accumulates a history of illnesses and treatments such as hospitalization for cerebral infarction in October 2013, and a user with an identifier ID of 2 accumulates treatment for diabetes in February 1999. ing. The reference data may be encrypted and stored.

1.3.5 暗号化参照データ抽出部
暗号化参照データ抽出部204は、参照類似値抽出部203で一致すると判定された場合に、暗号化参照データを生成する。暗号化参照データは、暗号化距離の算出に用いられた参照特徴量に対応するデータである参照データを暗号化した情報である。暗号化参照データ抽出部204は、生成した暗号化参照データをユーザ端末装置の復号部に送信する。具体的には、暗号化参照データ抽出部204は、参照類似値抽出部203において抽出した識別子IDに対応した参照データを、参照データ格納部205から抽出し、これをユーザ端末装置の復号部に送信する。暗号化参照データ抽出部204は、送信時に通信路上のデータを保護するために暗号化して送信する。なお、暗号化の前に、参照データから対応するユーザを特定できないように匿名化してもよい。また、データ演算装置200は、抽出した複数の参照データから、平均や頻度といった統計情報を求めて、これを暗号化してユーザ端末装置の復号部に送信してもよい。
1.3.5 Encrypted Reference Data Extraction Unit The encrypted reference data extraction unit 204 generates encrypted reference data when the reference similarity value extraction unit 203 determines that they match. The encrypted reference data is information obtained by encrypting the reference data that is data corresponding to the reference feature amount used for calculating the encryption distance. The encrypted reference data extraction unit 204 transmits the generated encrypted reference data to the decryption unit of the user terminal device. Specifically, the encrypted reference data extraction unit 204 extracts the reference data corresponding to the identifier ID extracted by the reference similarity value extraction unit 203 from the reference data storage unit 205, and uses this as the decryption unit of the user terminal device. Send. The encrypted reference data extracting unit 204 encrypts and transmits the data on the communication path during transmission. In addition, you may anonymize before encryption so that the corresponding user cannot be specified from reference data. Further, the data arithmetic device 200 may obtain statistical information such as average and frequency from a plurality of extracted reference data, encrypt this, and transmit it to the decrypting unit of the user terminal device.

1.4 類似情報検索システムの動作
1.4.1 動作概要
類似情報検索システム10の動作を、図6を用いて説明する。
1.4 Operation of Similar Information Search System 1.4.1 Operation Overview The operation of the similar information search system 10 will be described with reference to FIG.

図6は、実施の形態1において類似情報検索システムの動作を示すシーケンス図である。   FIG. 6 is a sequence diagram showing the operation of the similar information search system in the first embodiment.

図6に示すように、ステップS101において、ユーザ端末装置100は、センシング部で情報を取得する。   As shown in FIG. 6, in step S101, the user terminal device 100 acquires information by a sensing unit.

ステップS102において、特徴量算出部102は、センシング部がセンシングした情報から特徴量Xを算出する。例えば、特徴量Xは、次のように、要素が数値のm次ベクトルであってもよい。   In step S102, the feature amount calculation unit 102 calculates a feature amount X from information sensed by the sensing unit. For example, the feature quantity X may be an m-order vector whose elements are numerical values as follows.

X=(x1、x2、・・、xm)   X = (x1, x2,..., Xm)

ステップS103において、類似値設定部は、検索する際の判定基準となる類似値を設定する。例えば、距離D未満となるデータを検索するもの場合は、類似値としての各距離0、1、2、・・、D−1を設定する。   In step S <b> 103, the similarity value setting unit sets a similarity value that serves as a determination criterion when searching. For example, in the case of searching for data that is less than the distance D, the distances 0, 1, 2,..., D-1 are set as similar values.

ステップS104において、特徴量暗号部は、データを取得し、取得したデータから、データの特徴を示す特徴量を準同型暗号方式で暗号化することで暗号化特徴量を生成する。また、類似値暗号部は、類似値を準同型暗号方式で暗号化することで暗号化類似値を生成する。準同型暗号方式は、データ演算装置200では復号できない暗号方式であり、このときに用いる鍵は、ユーザ端末装置100の公開鍵である。   In step S104, the feature amount encryption unit acquires data, and generates an encrypted feature amount by encrypting a feature amount indicating the feature of the data using the homomorphic encryption method from the acquired data. The similar value encryption unit generates an encrypted similar value by encrypting the similar value using a homomorphic encryption method. The homomorphic encryption method is an encryption method that cannot be decrypted by the data arithmetic device 200, and the key used at this time is the public key of the user terminal device 100.

暗号化の関数をEncとすると、暗号化した暗号化特徴量は、
Ex=(Enc(x1),Enc(x2),・・、Enc(xm))と表し、暗号化した暗号化類似値は、
Enc(0)、Enc(1)、・・、Enc(D−1)
と表すことができる。
Assuming that the encryption function is Enc, the encrypted feature quantity is
Ex = (Enc (x1), Enc (x2),..., Enc (xm)), and the encrypted encrypted similarity value is
Enc (0), Enc (1), ..., Enc (D-1)
It can be expressed as.

ステップS105において、ユーザ端末装置100は、暗号化特徴量と暗号化類似値とを示し、条件を満たす類似の参照データを要求する。つまり、暗号化特徴量は暗号化距離計算部に送信し、暗号化類似値は参照類似値抽出部に送信する(ステップS102、ステップS104及びステップS105が特徴量送信ステップの一例、ステップS103〜ステップS105が類似値送信ステップの一例)。   In step S <b> 105, the user terminal device 100 indicates the encrypted feature value and the encrypted similarity value, and requests similar reference data that satisfies the condition. That is, the encrypted feature value is transmitted to the encryption distance calculation unit, and the encrypted similarity value is transmitted to the reference similarity value extraction unit (step S102, step S104, and step S105 are examples of the feature value transmission step, step S103 to step S103. S105 is an example of a similar value transmission step).

具体的には、暗号化距離計算部は、特徴量暗号部から、準同型暗号方式で暗号化された特徴量であるこの暗号化特徴量を受信する(特徴量受信ステップ)。また、参照類似値抽出部は、類似値暗号部から、類似の度合を示す類似値を暗号化した情報である暗号化類似値を受信する(類似値受信ステップ)。なお、暗号化した情報である暗号化類似値は、準同型暗号方式で暗号化されていることが好ましい。   Specifically, the encryption distance calculation unit receives the encrypted feature amount that is the feature amount encrypted by the homomorphic encryption method from the feature amount encryption unit (feature amount reception step). The reference similarity value extraction unit receives an encrypted similarity value that is information obtained by encrypting a similarity value indicating the degree of similarity from the similarity value encryption unit (similar value reception step). The encrypted similarity value that is encrypted information is preferably encrypted by a homomorphic encryption method.

また、類似値受信ステップでは、複数の類似の度合を示す複数の類似値のそれぞれを暗号化した情報である複数の暗号化類似値を受信してもよい。   In the similarity value receiving step, a plurality of encrypted similarity values that are information obtained by encrypting each of a plurality of similar values indicating a plurality of similar degrees may be received.

ステップS106において、データ演算装置200は、i番目の識別子IDの参照特徴量格納部から参照特徴量Yi=(yi1、yi2、・・、yim)を選択する。   In step S106, the data arithmetic device 200 selects the reference feature value Yi = (yi1, yi2,..., Yim) from the reference feature value storage unit of the i-th identifier ID.

ステップS107において、暗号化距離計算部は、複数の参照特徴量の少なくとも一つについて、暗号化された参照特徴量と、データ演算装置200で受信された暗号化特徴量との類似の度合を示す距離を暗号化したまま計算する。暗号化された参照特徴量は、
Ey=(Enc(yi1),Enc(yi2),・・、Enc(yim))
と表すことができる。なお、複数の参照特徴量の少なくとも一つについて暗号化された参照特徴量は、準同型暗号方式で暗号化されていることが好ましい。
In step S107, the encrypted distance calculation unit indicates the degree of similarity between the encrypted reference feature quantity and the encrypted feature quantity received by the data arithmetic device 200 for at least one of the plurality of reference feature quantities. Calculate distance encrypted. The encrypted reference feature is
Ey = (Enc (yi1), Enc (yi2), ..., Enc (yim))
It can be expressed as. Note that the reference feature amount encrypted for at least one of the plurality of reference feature amounts is preferably encrypted by the homomorphic encryption method.

暗号化距離計算部は、特徴量Xと参照特徴量Yiとの各ベクトルの差分を求めて加算し、準同型暗号方式の性質を用いて以下の暗号化距離EDiを計算する。   The encryption distance calculation unit calculates and adds the difference between each vector of the feature quantity X and the reference feature quantity Yi, and calculates the following encryption distance EDi using the property of the homomorphic encryption method.

EDi=Enc(|x1−yi1|+|x2−yi2|+・・+|xm−yim|)   EDi = Enc (| x1-yi1 | + | x2-yi2 | + .. + | xm-yim |)

ステップS107が距離算出ステップの一例である。なお、上記では、各ベクトル要素の差の絶対値を、累算したものを暗号化距離としている。また、なお、データ演算装置200は、複数の暗号化類似値のそれぞれについて、距離算出ステップを実行してもよい。   Step S107 is an example of a distance calculation step. In the above description, the absolute value of the difference between the vector elements is accumulated and used as the encryption distance. In addition, the data arithmetic device 200 may execute the distance calculation step for each of the plurality of encrypted similarity values.

ステップS108において、参照類似値抽出部は、暗号化距離と、暗号化類似値とを用いて条件を満たすか否かを確認する(判定ステップの一例)。つまり、判定ステップは、算出された暗号化距離がデータ演算装置200で受信された暗号化類似値と一致するか否かを判定する。なお、データ演算装置200は、複数の暗号化類似値のそれぞれについて、判定ステップを実行してもよい。   In step S108, the reference similarity value extraction unit confirms whether the condition is satisfied using the encryption distance and the encryption similarity value (an example of a determination step). That is, the determination step determines whether or not the calculated encryption distance matches the encrypted similarity value received by the data arithmetic device 200. Note that the data arithmetic device 200 may execute the determination step for each of the plurality of encrypted similarity values.

確認の仕方の例としては、暗号化距離EDiは、暗号化の関数Enc(0)、Enc(1)、・・、Enc(D−1)のいずれかと一致しているか否かを確認する。もし、一致していれば、暗号化距離EDiの暗号化の関数Encの中身、つまり特徴量と参照特徴量との距離である|x1−yi1|+|x2−yi2|+・・+|xm−yim|が、類似値としての各距離0、1、・・、D−1のいずれかであることを意味する。   As an example of the confirmation method, it is confirmed whether or not the encryption distance EDi matches any of the encryption functions Enc (0), Enc (1),..., Enc (D-1). If they match, the contents of the encryption function Enc with the encryption distance EDi, that is, the distance between the feature quantity and the reference feature quantity, | x1-yi1 | + | x2-yi2 | + .. + | xm -Ym | means that each of the distances 0, 1,.

もし、いずれとも一致しなければ(満たさない)、次の識別子IDを選択して、ステップS106に戻る。   If they do not match (is not satisfied), the next identifier ID is selected and the process returns to step S106.

もし、いずれかと一致していれば(満たす)、ステップS109において、参照類似値抽出部は、これら特徴量間の距離が類似値D未満であることにより、この時の識別子IDを記録する。そして、ステップS106からステップS109を参照特徴量格納部の各識別子IDに関して繰り返す。   If it matches (or satisfies) any of them, the reference similarity value extraction unit records the identifier ID at this time because the distance between these feature values is less than the similarity value D in step S109. Then, step S106 to step S109 are repeated for each identifier ID in the reference feature quantity storage unit.

ステップS110において、暗号化参照データ抽出部は、判定ステップで一致すると判定された場合に、暗号化距離の算出に用いられた参照特徴量に対応するデータである参照データを暗号化した情報である暗号化参照データを生成する。つまり、ステップS110において、暗号化参照データ抽出部は、ステップS109で抽出したすべての識別子IDに対応した参照データを、参照データ格納部から抽出し、ユーザ端末装置100の公開鍵を用いて暗号化する。   In step S110, the encrypted reference data extraction unit is information obtained by encrypting the reference data that is data corresponding to the reference feature amount used for calculating the encryption distance when it is determined that they match in the determination step. Generate encrypted reference data. That is, in step S110, the encrypted reference data extraction unit extracts reference data corresponding to all identifier IDs extracted in step S109 from the reference data storage unit, and encrypts the reference data using the public key of the user terminal device 100. To do.

ステップS111において、暗号化参照データ抽出部は、生成した暗号化参照データをユーザ端末装置に送信する(ステップS110及びステップS111が参照データ送信ステップの一例)。なお、暗号化参照データ抽出部は、複数の暗号化類似値のそれぞれについて、参照データ送信ステップを実行してもよい。   In step S111, the encrypted reference data extraction unit transmits the generated encrypted reference data to the user terminal device (steps S110 and S111 are examples of a reference data transmission step). The encrypted reference data extraction unit may execute a reference data transmission step for each of the plurality of encrypted similarity values.

ステップS112において、複合部は、暗号化参照データ抽出部から暗号化参照データを受信する。そして、ユーザ端末装置100は、データ演算装置200から受信した暗号化参照データを復号して参照データを利用する(復号ステップの一例)。   In step S112, the composite unit receives the encrypted reference data from the encrypted reference data extraction unit. Then, the user terminal device 100 decrypts the encrypted reference data received from the data arithmetic device 200 and uses the reference data (an example of a decryption step).

1.4.2 特徴量の算出例
ステップS102における特徴量の算出としては、例えば、センシング部で顔やエコー情報などの画像データを取得した場合に、その画像情報の特徴的なパラメータの主成分や、ある領域の位置や面積や幅などであってもよい。また、血圧情報を取得した場合に、ユーザ端末装置100に別途格納されている今まで計測した血圧測定情報の履歴(図3には図示せず)から、その時間軸に対応した傾向を例えば多項式に変換し、その係数を特徴量としてもよい。時間軸に対応した傾向の多項式の例を、図9に示す。
1.4.2 Feature Quantity Calculation Example As the feature quantity calculation in step S102, for example, when image data such as face and echo information is acquired by the sensing unit, a principal component of a characteristic parameter of the image information is obtained. Alternatively, it may be the position, area or width of a certain region. In addition, when blood pressure information is acquired, a trend corresponding to the time axis is represented by, for example, a polynomial from a history of blood pressure measurement information measured so far stored separately in the user terminal device 100 (not shown in FIG. 3). The coefficient may be used as a feature amount. An example of the trend polynomial corresponding to the time axis is shown in FIG.

図9は、実施の形態1においてユーザ端末装置が表示する時間と特徴量との算出例を示すグラフである。図9では、時間は、過去(例えば、1年前)から現在までの時間を表している。また、図9では、各特徴量の各測定値(×で示す)から近似曲線を求め、その近似曲線の係数を特徴量とする。   FIG. 9 is a graph illustrating a calculation example of the time and the feature amount displayed by the user terminal device in the first embodiment. In FIG. 9, time represents the time from the past (for example, one year ago) to the present. In FIG. 9, an approximate curve is obtained from each measured value (indicated by x) of each feature quantity, and the coefficient of the approximate curve is used as the feature quantity.

1.4.3 暗号化距離の算出例
ステップS107における暗号化距離の算出として、上記では、ユーザ端末装置100で求めた特徴量と、データ演算装置200における参照特徴量との対応するベクトル値の差分の累算を、暗号化したまま求めている。暗号化距離は、参照特徴量と暗号化特徴量とのユークリッド距離である。なお、この他に、暗号化距離の算出例は、例えば、コサイン類似度の算出方法であってもよい。ただし、この場合は、加算と乗算の両方を暗号化したまま求めることができる完全準同型暗号あるいは、乗算の回数に制限のある制限付き準同型暗号(サムホワット準同型暗号)を用いるとよい。
1.4.3 Calculation Example of Encrypted Distance As the calculation of the encrypted distance in step S107, in the above description, the vector value corresponding to the feature amount obtained by the user terminal device 100 and the reference feature amount in the data operation device 200 is calculated. The accumulation of the difference is obtained with encryption. The encryption distance is a Euclidean distance between the reference feature quantity and the encrypted feature quantity. In addition to this, the calculation example of the encryption distance may be, for example, a cosine similarity calculation method. However, in this case, it is preferable to use completely homomorphic encryption that can be obtained while encrypting both addition and multiplication, or limited homomorphic encryption with limited number of multiplications (Samhow homomorphic encryption).

1.4.4 ユーザ端末装置とデータ演算装置間のデータ交換(図7A、図7B)
図7Aは、実施の形態1においてユーザ端末とデータ装置との間のデータフォーマット例を示す図である。図7Bは、実施の形態1においてユーザ端末とデータ装置との間のデータフォーマット例を示す図である。図7A及び図7Bは、ステップS105及びステップS111で、ユーザ端末装置100とデータ演算装置200との間で交換されるデータのフォーマット例を示し、送信者の識別子ID、受信者の識別子ID、コマンド及びデータとからなる。なお、複数のユーザ端末装置100と複数のデータ演算装置200との間で並行してコマンドがやり取りされる場合は、ステップS105及びステップS111の対応をとるための、識別子を追加してもよい。
1.4.4 Data exchange between user terminal device and data operation device (FIG. 7A, FIG. 7B)
FIG. 7A is a diagram illustrating a data format example between a user terminal and a data device in the first exemplary embodiment. FIG. 7B is a diagram showing an example of a data format between the user terminal and the data device in the first exemplary embodiment. 7A and 7B show an example of the format of data exchanged between the user terminal device 100 and the data arithmetic device 200 in step S105 and step S111. The sender identifier ID, the receiver identifier ID, and the command And data. When commands are exchanged in parallel between a plurality of user terminal devices 100 and a plurality of data arithmetic devices 200, an identifier for taking the correspondence in steps S105 and S111 may be added.

1.4.5 表示例(図8A、図8B)
図8Aは、実施の形態1においてユーザ端末装置の表示の例を示す図である。図8Bは、実施の形態1においてユーザ端末装置の表示の例を示す図である。
1.4.5 Display example (FIGS. 8A and 8B)
FIG. 8A is a diagram illustrating a display example of the user terminal device in the first embodiment. FIG. 8B is a diagram illustrating an example of display on the user terminal device in the first embodiment.

図8Aは、図6のステップS101におけるユーザ端末装置100における表示の例である。ここでは、ユーザがStartをクリック(選択)すると、センシング部が始動し、血圧の測定を行う。そして、ユーザは、最近の血圧の傾向から類似症例を検索するか否かを、「はい」、「取りやめ」のいずれかにより選択する。ユーザが「はい」をクリックして同意した場合は、ユーザ端末装置がその測定値と最近の履歴情報を用いて傾向から特徴量を算出する。また、ユーザが「取りやめ」をクリックして同意しない場合、ユーザ端末装置は、類似症例の検索を行うようにデータ演算装置に情報を送信しない。   FIG. 8A is an example of display on the user terminal device 100 in step S101 of FIG. Here, when the user clicks (selects) Start, the sensing unit starts and measures blood pressure. Then, the user selects whether to search for a similar case based on the recent blood pressure trend, by selecting “Yes” or “Cancel”. When the user clicks “Yes” and agrees, the user terminal device calculates the feature amount from the trend using the measured value and the recent history information. Further, when the user clicks “cancel” and does not agree, the user terminal device does not transmit information to the data calculation device so as to search for similar cases.

図8Bは、検索した参照類似データ(この場合は、血圧変動の傾向が類似のユーザの、その後発症した病気)を用いてユーザに食事や運動のアドバイスする場合の、表示の例である。ここでは、ユーザ端末装置は、ユーザの情報を基に、過去から現在までの血圧の傾向と、参照類似データと表示する。このユーザ端末装置では、ユーザの情報に基づいたアドバイスをおこなうことにより、より実感を伴ったアドバイスとなり、ユーザにとって有用となる。   FIG. 8B is an example of display in the case where the user is advised to eat or exercise using the retrieved reference similar data (in this case, a disease with a similar tendency of blood pressure fluctuation, which subsequently developed). Here, the user terminal device displays the blood pressure tendency from the past to the present and the reference similar data based on the user information. In this user terminal device, by giving advice based on user information, the advice becomes more realistic and useful for the user.

1.5 実施の形態1の効果
実施の形態1では、データ演算装置がユーザ端末装置から暗号化特徴量と暗号化類似値とを受信し、暗号化参照データ抽出部が暗号化参照データを抽出する。データ演算装置は、類似値D未満である暗号化参照データだけを抽出してユーザ端末装置に送信するため、ユーザ端末装置の計算量と、データ演算装置とユーザ端末装置との間の通信量とを削減することができる。また、ユーザ端末装置では、ユーザの意思に応じて柔軟に類似値を設定することができる。
1.5 Effects of Embodiment 1 In Embodiment 1, the data operation device receives the encrypted feature value and the encrypted similarity value from the user terminal device, and the encrypted reference data extraction unit extracts the encrypted reference data. To do. Since the data arithmetic device extracts only the encrypted reference data that is less than the similarity value D and transmits it to the user terminal device, the amount of calculation of the user terminal device and the amount of communication between the data arithmetic device and the user terminal device Can be reduced. Moreover, in a user terminal device, a similar value can be set flexibly according to a user's intention.

また、暗号化特徴量は、準同型暗号方式で暗号化されており、データ演算装置では復号できない。このため、この類似情報検索方法などでは、ユーザ端末装置からデータ演算装置への送信上及びデータ演算装置内でも、ユーザが検索した情報の秘匿性を高めることができる。   Further, the encrypted feature quantity is encrypted by the homomorphic encryption method and cannot be decrypted by the data arithmetic device. For this reason, in this similar information search method etc., the confidentiality of the information searched by the user can be enhanced in transmission from the user terminal device to the data calculation device and also in the data calculation device.

(実施の形態2)
ここでは、本発明の実施の形態2として、本発明に関わる類似情報検索システムについて、図面を参照しながら説明する。実施の形態2と実施の形態1との相違点は次のとおりである。実施の形態1では、ステップS108において、参照類似値抽出部は、暗号化距離と暗号化類似値とが一致するか否かで判定した。これは、もとのデータが同一であれば、その時に限り、その暗号化されたデータも一致する決定的暗号方式を利用することを前提としている。一方で、実施の形態2では、暗号化時に乱数を生成し、乱数も含めて暗号化することにより、もとのデータが同一であってもその暗号化されたデータが同一の値にはならない、確率的暗号方式を用いる場合がある。確率的暗号方式を用いれば、暗号文の頻度などからの解析が困難となり、安全性を向上させることができる。その一方で、実施の形態1の決定的暗号方式において、暗号化時に乱数を用いた場合では、暗号化距離と暗号化類似値とが一致するか否かの判定を行うことができなくなる。
(Embodiment 2)
Here, as a second embodiment of the present invention, a similar information search system according to the present invention will be described with reference to the drawings. Differences between the second embodiment and the first embodiment are as follows. In the first embodiment, in step S108, the reference similarity value extraction unit determines whether or not the encryption distance matches the encryption similarity value. This is based on the premise that if the original data is the same, a deterministic encryption method that also matches the encrypted data is used. On the other hand, in the second embodiment, a random number is generated at the time of encryption, and the encrypted data including the random number is encrypted, so that even if the original data is the same, the encrypted data does not have the same value. In some cases, a stochastic encryption method is used. If the probabilistic encryption method is used, it becomes difficult to analyze from the frequency of the ciphertext and the safety can be improved. On the other hand, in the deterministic encryption method of the first embodiment, when a random number is used at the time of encryption, it is impossible to determine whether or not the encryption distance matches the encryption similarity value.

実施の形態2では、確率的暗号方式を用いる場合について、暗号化したまま類似情報の検索のための演算が可能な方法について述べる。そのため、類似情報検索システムでは、ユーザ端末装置から、復号のための鍵を変換してデータ演算装置に渡し、データ演算装置において変換した距離を復号する。そして、類似情報検索システムでは、復号することにより乱数の要素が取り除かれ、変換距離と変換類似値とが一致するか否かの判定を行うことができる。また、復号のための鍵は、一方向性関数を用いて変換するため、データ演算装置が鍵そのものを求めることができない。以下では、主に実施の形態2と実施の形態1との異なる点について説明し、実施の形態1と実施の形態2と同一の構成については、同一の符号を付して構成に関する詳細な説明を省略する。   In the second embodiment, a method capable of performing an operation for searching for similar information while being encrypted will be described in the case of using a probabilistic encryption method. Therefore, in the similar information retrieval system, a key for decryption is converted from the user terminal device and transferred to the data arithmetic device, and the distance converted by the data arithmetic device is decrypted. In the similar information search system, the element of the random number is removed by decoding, and it can be determined whether or not the conversion distance matches the conversion similarity value. In addition, since the key for decryption is converted using a one-way function, the data arithmetic device cannot obtain the key itself. In the following, differences between the second embodiment and the first embodiment will be mainly described, and the same configurations as those of the first and second embodiments will be denoted by the same reference numerals and detailed description regarding the configurations will be given. Is omitted.

2.1 ユーザ端末装置
図10は、実施の形態2におけるユーザ端末装置の構成を示すブロック図である。
2.1 User Terminal Device FIG. 10 is a block diagram illustrating a configuration of the user terminal device according to the second embodiment.

図10に示すように、このユーザ端末装置100は、実施の形態1の構成に加え、鍵変換部109と類似値変換部110とを備えている。なお、図3と同一の符号が付与されている図10のブロック図は、図3と同一の機能を有するため、説明を省略する。図10における特徴量暗号部103、類似値変換部110、鍵変換部109及び復号部107は、それぞれ図11のD,E,F,Gに接続しているものとする。   As shown in FIG. 10, the user terminal device 100 includes a key conversion unit 109 and a similar value conversion unit 110 in addition to the configuration of the first embodiment. The block diagram of FIG. 10 to which the same reference numerals as those in FIG. 3 are assigned has the same functions as those in FIG. Assume that the feature amount encryption unit 103, the similarity value conversion unit 110, the key conversion unit 109, and the decryption unit 107 in FIG. 10 are connected to D, E, F, and G in FIG.

2.1.1 鍵変換部
鍵変換部109は、鍵変換値を算出する。鍵変換値は、ユーザ端末装置100の秘密鍵を一方向性関数を用いて変換した情報である。一方向性関数の例としては、秘密鍵をべきとするべき乗演算である。一方向性関数を用いた変換とは、秘密鍵からべき乗演算することは容易であるが、この反対である、べき乗値からそのべき値を求めることが難しいことを意味する。べき乗値からそのべき値を求めることは、離散対数領域でのLOG演算が困難であることに帰着する。
2.1.1 Key Conversion Unit The key conversion unit 109 calculates a key conversion value. The key conversion value is information obtained by converting the secret key of the user terminal device 100 using a one-way function. An example of a one-way function is a power operation that should be a power of a secret key. The conversion using the one-way function means that it is easy to perform a power operation from the secret key, but it is difficult to obtain the power value from the power value. Obtaining the power value from the power value results in difficulty in LOG calculation in the discrete logarithm domain.

2.1.2 類似値変換部
類似値変換部110は、鍵変換部109で用いたものと同一の一方向性関数を用いて設定した類似値を変換する。データ演算装置では、変換距離(暗号化距離と変換復号鍵とを用いて、復号することで求める変換領域での距離)、同様に、一方向性関数を用いて変換した類似値との一致により、類似しているか否かを判定する。
2.1.2 Similar Value Conversion Unit The similar value conversion unit 110 converts a similar value set using the same one-way function as that used in the key conversion unit 109. In the data arithmetic device, the conversion distance (distance in the conversion area obtained by decryption using the encryption distance and the conversion decryption key), similarly, by matching with the similar value converted using the one-way function , It is determined whether or not they are similar.

2.2 データ演算装置(図11)
図11は、実施の形態2においてデータ演算装置の構成を示すブロック図である。
2.2 Data operation device (Fig. 11)
FIG. 11 is a block diagram illustrating the configuration of the data arithmetic device according to the second embodiment.

図11に示すように、データ演算装置200は、実施の形態1の構成に加え、変換距離復号部206と、実施の形態1の参照類似値抽出部の代わりに参照変換類似値抽出部207とを備える。なお、図4と同一の符号が付与されている図11のブロック図は、図4と同一の機能を有するため、説明を省略する。また、図11のD,E,F,Gは、図10の対応する箇所に接続している。   As shown in FIG. 11, in addition to the configuration of the first embodiment, the data arithmetic device 200 includes a conversion distance decoding unit 206 and a reference conversion similarity value extraction unit 207 instead of the reference similarity value extraction unit of the first embodiment. Is provided. Note that the block diagram of FIG. 11 to which the same reference numerals as those in FIG. 4 are assigned has the same functions as those in FIG. Further, D, E, F, and G in FIG. 11 are connected to corresponding portions in FIG.

2.2.1 変換距離復号部
変換距離復号部206は、変換領域において、鍵変換部がユーザ端末装置の秘密鍵を一方向性関数を用いて変換した情報である鍵変換値を用いて暗号化距離を復号することで得られる変換距離を求める(生成する)。ここで用いる準同型暗号方式は、確率的な方法であるため、暗号化距離に乱数要素が含まれている。しかし、変換復号鍵を用いて復号することで求めた変換距離は、乱数要素が除去されている。
2.2.1 Conversion distance decryption unit The conversion distance decryption unit 206 encrypts using the key conversion value, which is information obtained by converting the secret key of the user terminal device using the one-way function in the conversion area. A conversion distance obtained by decoding the conversion distance is obtained (generated). Since the homomorphic encryption method used here is a probabilistic method, a random number element is included in the encryption distance. However, the random number element is removed from the conversion distance obtained by decoding using the conversion / decryption key.

2.2.2 参照変換類似値抽出部
参照変換類似値抽出部207は、変換領域において、変換距離と変換された変換類似値とが一致しているか否かを判定する。参照変換類似値抽出部207は、変換距離が変換された変換類似値のいずれかと一致している場合に、変換距離が設定した変換類似値の条件を満足するものと判断して対応する識別子IDを抽出する。いずれとも一致しない場合は、対応する識別子IDを抽出しない。
2.2.2 Reference conversion similarity value extraction unit The reference conversion similarity value extraction unit 207 determines whether or not the conversion distance and the converted conversion similarity value match in the conversion area. The reference conversion similarity value extraction unit 207 determines that the conversion distance satisfies the condition of the conversion similarity value set when the conversion distance matches any of the converted conversion similarity values, and the corresponding identifier ID To extract. If they do not match, the corresponding identifier ID is not extracted.

2.3 類似情報検索システムの動作
実施の形態2における類似情報検索システム10の動作を、図12に示すシーケンス図を用いて説明する。
2.3 Operation of Similar Information Retrieval System The operation of the similar information retrieval system 10 according to the second embodiment will be described with reference to the sequence diagram shown in FIG.

図12は、実施の形態2において類似情報検索システムの動作を示すシーケンス図である。   FIG. 12 is a sequence diagram showing the operation of the similar information search system in the second embodiment.

図12に示すように、ステップS101において、ユーザ端末装置100は、センシング部で情報を取得する。   As shown in FIG. 12, in step S101, the user terminal device 100 acquires information by a sensing unit.

ステップS102において、特徴量算出部102は、センシング部がセンシングした情報から特徴量Xを算出する。例えば、特徴量Xは次のように、各要素が数値のm次ベクトルであってもよい。   In step S102, the feature amount calculation unit 102 calculates a feature amount X from information sensed by the sensing unit. For example, the feature quantity X may be an m-order vector in which each element is a numerical value as follows.

X=(x1、x2、・・、xm)   X = (x1, x2,..., Xm)

ステップS103において、類似値設定部は、検索する際の判定基準となる類似値を決定する。例えば、距離D未満となるデータを検索するもの場合は、類似値として各距離0、1、2、・・、D−1を設定する。   In step S <b> 103, the similarity value setting unit determines a similarity value that is a determination criterion when searching. For example, in the case of searching for data that is less than the distance D, the distances 0, 1, 2,.

ステップS104において、特徴量暗号部は、センシング部から特徴量算出部を介してデータを取得し、その取得したデータから、データの特徴を示す特徴量を準同型暗号方式で暗号化することで暗号化特徴量を生成する。また、類似値変換部は、類似値の一方向性関数値を求める。つまり、類似値変換部は、暗号化類似値として類似値を準同型暗号方式で変換することで変換類似値を生成する。準同型暗号方式は、データ演算装置200では復号できない暗号方式である。このときに用いる鍵は、ユーザ端末装置100の公開鍵とする。実施の形態2では、実施の形態1と異なり、準同型暗号方式が乱数要素を含めた確率的暗号方式とする。   In step S104, the feature amount encryption unit obtains data from the sensing unit via the feature amount calculation unit, and encrypts the feature amount indicating the feature of the data by using the homomorphic encryption method from the obtained data. Generate a feature value. Further, the similarity value conversion unit obtains a one-way function value of the similarity value. That is, the similarity value conversion unit generates a conversion similarity value by converting a similarity value as an encryption similarity value by a homomorphic encryption method. The homomorphic encryption method is an encryption method that cannot be decrypted by the data arithmetic device 200. The key used at this time is the public key of the user terminal device 100. In the second embodiment, unlike the first embodiment, the homomorphic encryption method is a probabilistic encryption method including a random number element.

ここで、暗号化の関数をEnc1とすると、暗号化特徴量は、
E1x=(Enc1(x1),Enc1(x2),・・、Enc1(xm))
と表す。また、類似値を変換するための一方向性関数をFとすると、変換類似値(一方向性関数値)は、
F(0)、F(1)、・・、F(D−1)
と表すことができる。
Here, if the encryption function is Enc1, the encryption feature amount is
E1x = (Enc1 (x1), Enc1 (x2), ..., Enc1 (xm))
It expresses. Further, if the one-way function for converting the similarity value is F, the conversion similarity value (one-way function value) is
F (0), F (1), ..., F (D-1)
It can be expressed as.

ステップS113において、鍵変換部は、ユーザ端末装置100が保持する秘密鍵sを所定関数で変換した情報である鍵変換値F(s)を算出する。所定関数は、一方向性関数である。鍵変換部は、必要に応じて秘密鍵sの演算値(例えば、sのべき乗値)である鍵変換値を算出する。   In step S113, the key conversion unit calculates a key conversion value F (s) that is information obtained by converting the secret key s held by the user terminal device 100 with a predetermined function. The predetermined function is a one-way function. The key conversion unit calculates a key conversion value that is an operation value (for example, a power value of s) of the secret key s as necessary.

ステップS105において、ユーザ端末装置100は、暗号化特徴量、変換類似値及び鍵変換値を示し、条件を満たす類似の参照データを要求する。つまり、ユーザ端末装置100が暗号化特徴量、変換類似値及び鍵変換値をデータ演算装置200に送信し、データ演算装置200がこれらを受信する(ステップS102、ステップS104、ステップS113及びステップS105が特徴量受信ステップの一例、ステップS103、ステップS104、ステップS113及びステップS105が類似値受信ステップの一例、ステップS113及びステップS105が鍵受信ステップの一例)。   In step S <b> 105, the user terminal device 100 indicates the encrypted feature value, the conversion similarity value, and the key conversion value, and requests similar reference data that satisfies the condition. That is, the user terminal device 100 transmits the encrypted feature value, the conversion similarity value, and the key conversion value to the data arithmetic device 200, and the data arithmetic device 200 receives them (Step S102, Step S104, Step S113, and Step S105). An example of the feature reception step, Step S103, Step S104, Step S113, and Step S105 are an example of a similar value reception step, and Step S113 and Step S105 are an example of a key reception step).

具体的には、特徴量暗号部は、暗号化特徴量を暗号化距離計算部に送信し、暗号化距離計算部が受信する(特徴量受信ステップの一例)。また、類似値変換部は、変換類似値を変換距離復号部に送信し、変換距離復号部が受信する(類似値受信ステップの一例)。さらに、鍵変換部は、鍵変換値を参照変換類似値抽出部に送信し、参照変換類似値抽出部が受信する(鍵受信ステップの一例)。   Specifically, the feature amount encryption unit transmits the encrypted feature amount to the encryption distance calculation unit, and the encryption distance calculation unit receives (an example of a feature amount reception step). Further, the similarity value conversion unit transmits the conversion similarity value to the conversion distance decoding unit, and the conversion distance decoding unit receives (an example of a similar value reception step). Further, the key conversion unit transmits the key conversion value to the reference conversion similarity value extraction unit, and the reference conversion similarity value extraction unit receives (an example of a key reception step).

また、類似値受信ステップでは、データ演算装置200は、暗号化類似値として、複数の類似の度合を示す複数の類似値のそれぞれを一方向性関数で暗号化した情報である複数の変換類似値を受信してもよい。   In the similarity value receiving step, the data arithmetic device 200 uses a plurality of transformed similarity values that are information obtained by encrypting each of a plurality of similar values indicating a plurality of similar degrees with a one-way function as an encrypted similarity value. May be received.

ステップS106において、データ演算装置200は、i番目の識別子IDの参照特徴量格納部から参照特徴量Yi=(yi1、yi2、・・、yim)を選択する。   In step S106, the data arithmetic device 200 selects the reference feature value Yi = (yi1, yi2,..., Yim) from the reference feature value storage unit of the i-th identifier ID.

ステップS107において、暗号化距離計算部は、暗号化の関数Enc1で暗号化された参照特徴量と暗号化特徴量との距離を暗号化したまま計算する(距離算出ステップの一例)。暗号化された参照特徴量は、
E1y=(Enc1(yi1),Enc1(yi2),・・、Enc1(yim))
と表すことができる。これにより、暗号化距離計算部は、特徴量Xと参照特徴量Yiの各ベクトルの差分を求めて加算すれば、準同型暗号方式の性質を用いて暗号化距離ED1iを計算することができる。
In step S107, the encryption distance calculation unit calculates the distance between the reference feature amount encrypted by the encryption function Enc1 and the encrypted feature amount while encrypting them (an example of a distance calculation step). The encrypted reference feature is
E1y = (Enc1 (yi1), Enc1 (yi2), ..., Enc1 (yim))
It can be expressed as. As a result, the encryption distance calculation unit can calculate the encryption distance ED1i using the property of the homomorphic encryption method if the difference between the vectors of the feature quantity X and the reference feature quantity Yi is obtained and added.

ED1i=Enc1(|x1−yi1|+|x2−yi2|+・・+|xm−yim|)   ED1i = Enc1 (| x1-yi1 | + | x2-yi2 | + .. + | xm-yim |)

なお、上記では、各ベクトル要素の差の絶対値を、累算したものを距離としている。   In the above description, the absolute value of the difference between the vector elements is the distance obtained by accumulating.

ステップS114において、変換距離復号部は、鍵変換値を用いて、変換領域で暗号化距離を復号する。復号の結果、
F(|x1−yi1|+|x2−yi2|+・・+|xm−yim|)を求める(この値を、変換距離と呼ぶ)。なお、暗号化距離ED1iは、暗号化時に生成した乱数を含んでおり、暗号化の関数Enc1は入力が同じであっても出力は一致しない。一方、一方向性関数Fは、入力が同一の場合に、出力が一致する。
In step S114, the conversion distance decryption unit decrypts the encrypted distance in the conversion area using the key conversion value. As a result of decryption,
F (| x1-yi1 | + | x2-yi2 | + .. + | xm-yim |) is obtained (this value is referred to as a conversion distance). The encryption distance ED1i includes a random number generated at the time of encryption, and the output of the encryption function Enc1 does not match even if the input is the same. On the other hand, the outputs of the one-way function F match when the inputs are the same.

ステップS108において、変換距離復号部は、鍵変換値を用いて暗号化距離を復号することで変換距離を生成する。また、参照変換類似値抽出部は、生成した変換距離が変換類似値と一致するか否かを判定する(ステップS108が判定ステップの一例)。つまり、参照変換類似値抽出部は、変換距離が変換類似値F(0)、F(1)、・・、F(D−1)のいずれかと一致しているかを確認する。もし、一致していれば、一方向性関数Fの中身、つまり特徴量と参照特徴量との距離である|x1−yi1|+|x2−yi2|+・・+|xm−yim|が各距離0、1、・・、D−1のいずれかであることを意味する。   In step S108, the conversion distance decryption unit generates the conversion distance by decrypting the encrypted distance using the key conversion value. The reference conversion similarity value extraction unit determines whether the generated conversion distance matches the conversion similarity value (step S108 is an example of a determination step). That is, the reference conversion similarity value extraction unit checks whether the conversion distance matches any of the conversion similarity values F (0), F (1),..., F (D−1). If they match, the contents of the one-way function F, that is, the distance between the feature quantity and the reference feature quantity, | x1-yi ||| 2-2-yi |||||||||||| It means that the distance is any one of 0, 1,.

もし、いずれとも一致しなければ(満たさない)、参照変換類似値抽出部が次の識別子IDを選択して、ステップS106に戻る。   If they do not match (is not satisfied), the reference conversion similarity value extraction unit selects the next identifier ID and returns to step S106.

もし、いずれかと一致していれば(満たす)、ステップS109において、参照変換類似値抽出部は、この時の識別子IDを記録する。そして、ステップS106からステップS109を参照特徴量格納部の各識別子IDに関して繰り返す。   If it matches (or satisfies) any of them, in step S109, the reference conversion similarity value extraction unit records the identifier ID at this time. Then, step S106 to step S109 are repeated for each identifier ID in the reference feature quantity storage unit.

ステップS110において、暗号化参照データ抽出部は、S109で抽出したすべての識別子IDに対応した参照データを、参照データ格納部から抽出し、ユーザ端末装置100の公開鍵を用いて暗号化する。つまり、暗号化参照データ抽出部は、ステップS108(判定ステップ)で一致すると判定された場合に、暗号化距離の算出に用いられた参照特徴量に対応するデータである参照データを暗号化した情報である暗号化参照データを生成する。   In step S110, the encrypted reference data extraction unit extracts reference data corresponding to all the identifier IDs extracted in S109 from the reference data storage unit, and encrypts the reference data using the public key of the user terminal device 100. That is, the encrypted reference data extraction unit encrypts the reference data, which is data corresponding to the reference feature amount used for calculating the encryption distance, when it is determined in step S108 (determination step) that they match. Encrypted reference data is generated.

ステップS111において、暗号化参照データ抽出部は、生成した暗号化参照データをユーザ端末装置100に送信する(ステップS110及びステップS111が参照データ送信ステップの一例)。   In step S111, the encrypted reference data extraction unit transmits the generated encrypted reference data to the user terminal device 100 (steps S110 and S111 are examples of a reference data transmission step).

ステップS112において、復号部は、暗号化特徴量と暗号化類似値とから生成された参照データを暗号化した情報である暗号化参照データをデータ演算装置200から受信する。そして、復号部は、暗号化参照データ抽出部から送信されてきた、暗号化参照データ(類似検索の結果)を受信し、これを復号して参照データを利用する(復号ステップの一例)。   In step S112, the decryption unit receives encrypted reference data, which is information obtained by encrypting the reference data generated from the encrypted feature value and the encrypted similarity value, from the data arithmetic device 200. The decryption unit receives the encrypted reference data (similarity search result) transmitted from the encrypted reference data extraction unit, decrypts it, and uses the reference data (an example of a decryption step).

2.3.1 リングLWE(Learning With Errors)の場合の具体的な計算例
上記Enc1の具体例として、リングLWEを用いた準同型暗号方式の鍵生成、暗号化、復号、暗号文の乗算について以下、説明する。なお、リングLWEについては、非特許文献1の第13章に説明がある。
2.3.1 Specific Calculation Example for Ring LWE (Learning With Errors) As a specific example of Enc1, key generation, encryption, decryption, and ciphertext multiplication of a homomorphic encryption method using ring LWE This will be described below. The ring LWE is described in Chapter 13 of Non-Patent Document 1.

鍵生成:nは2のべきとして構成し、pはp−1が2nの倍数であるような素数として環R、Rpを構成する。pより小さい素数をtとする。Rt=(Z/tZ)[x]/(x^n+1)を平文空間とする。なお、ここで、Zは整数を意味し、Rtはt以下の整数を係数とする多項式を(x^n+1)で除した剰余体である。また、秘密鍵sを任意に選択し、eを任意に選択し、a1をRpから任意に選択する。そして、(a0=−(a1×s+t×e),a1)を公開鍵とする。   Key generation: n is configured as a power of 2, and p is configured as a prime number such that p-1 is a multiple of 2n. Let t be a prime number smaller than p. Let Rt = (Z / tZ) [x] / (x ^ n + 1) be a plaintext space. Here, Z means an integer, and Rt is a remainder field obtained by dividing a polynomial whose coefficient is an integer equal to or less than t by (x ^ n + 1). Also, the secret key s is arbitrarily selected, e is arbitrarily selected, and a1 is arbitrarily selected from Rp. Then, (a0 = − (a1 × s + t × e), a1) is a public key.

暗号化:平文m(∈Rt)の暗号化は、公開鍵(a0、a1)を用いて以下の通りとする。e1、e2、e3を任意に選び、
Enc1(m)=(m+a0×e1+t×e3、a1×e1+t×e2)
Encryption: The plaintext m (εRt) is encrypted using the public key (a0, a1) as follows. Choose e1, e2, e3 arbitrarily,
Enc1 (m) = (m + a0 × e1 + t × e3, a1 × e1 + t × e2)

復号:暗号文c=(c0、c1、・・、ck)の復号は、秘密鍵sを用いて以下の通りとする。   Decryption: The ciphertext c = (c0, c1,..., Ck) is decrypted using the secret key s as follows.

Dec1(c)=c0×s^0+c1×s^1+c2×s^2+・・・+ck×s^k (∈Rq)
Dec1(c)は、m+t×e4 (ただし、|t×e4|<p/2)となる。
Dec1 (c) = c0 * s ^ 0 + c1 * s ^ 1 + c2 * s ^ 2 + ... + ck * s ^ k (εRq)
Dec1 (c) is m + t × e4 (where | t × e4 | <p / 2).

暗号文の乗算:暗号文c=(c0、c1、・・、ck)と暗号文d=(d0、d1、・・、dl)との乗算は、h=(h0、h1、・・・、hk+l)とする。   Multiplication of ciphertext: Multiplication of ciphertext c = (c0, c1,..., Ck) and ciphertext d = (d0, d1,..., Dl) is h = (h0, h1,..., hk + 1).

ここで、hiは、
Σcj×di−j=c0×di+c1×di−1+・・+ci×d0
で求める。
Where hi is
Σcj × di−j = c0 × di + c1 × di−1 +... + Ci × d0
Ask for.

暗号文の加算:暗号文c=(c0、c1、・・、ck)と暗号文d=(d0、d1、・・、dl)の加算は、短いほうのベクトルに0を追加して同じ長さにした後、各要素を加算して求める。   Ciphertext addition: Ciphertext c = (c0, c1,..., Ck) and ciphertext d = (d0, d1,..., Dl) have the same length by adding 0 to the shorter vector. After that, each element is added to obtain.

以上の暗号化の関数Enc1を用いて、図12のシーケンスの具体的な計算を以下に示す。   Using the encryption function Enc1 described above, specific calculation of the sequence of FIG. 12 is shown below.

ステップS104において、特徴量暗号部は、暗号化特徴量と変換類似値とはそれぞれ、以下の通りである。ここで、rは任意の乱数とする。   In step S104, the feature amount encryption unit includes the encrypted feature amount and the conversion similarity value as follows. Here, r is an arbitrary random number.

E1x=(Enc1(x1),Enc1(x2),・・、Enc1(xm))
F(0)=r^0、F(1)=r^1、・・、F(D−1)=r^D−1
E1x = (Enc1 (x1), Enc1 (x2), ..., Enc1 (xm))
F (0) = r ^ 0, F (1) = r ^ 1, F (D-1) = r ^ D-1

ステップS113において、鍵変換部は、次の鍵変換値F(s)を求める。   In step S113, the key conversion unit obtains the next key conversion value F (s).

F(s)=r^s、F(s^2)=r^(s^2)、・・、F(s^k)=r^(s^k)   F (s) = r ^ s, F (s ^ 2) = r ^ (s ^ 2), ..., F (s ^ k) = r ^ (s ^ k)

ステップS106において、暗号化された参照特徴量は次のとおりである。   In step S106, the encrypted reference feature values are as follows.

E1y=(Enc1(y1),Enc1(y2),・・、Enc1(ym))   E1y = (Enc1 (y1), Enc1 (y2), ..., Enc1 (ym))

ステップS107において、暗号化距離計算部は、暗号化特徴量E1xと暗号化された参照特徴量E1yを用いて暗号化距離EDiを求める。暗号化の関数Enc1の加法及び乗法における準同型により、
ED1i=Enc1(特徴量Xと参照特徴量Yiとの距離)
が求められる。暗号化距離ED1iを(c0、c1、・・・、ck)とおく。
In step S107, the encryption distance calculation unit obtains the encryption distance EDi using the encrypted feature quantity E1x and the encrypted reference feature quantity E1y. By homomorphism in addition and multiplication of the encryption function Enc1
ED1i = Enc1 (distance between feature quantity X and reference feature quantity Yi)
Is required. The encryption distance ED1i is set to (c0, c1,..., Ck).

ステップS114において、変換距離復号部は、暗号化距離ED1i及び鍵変換値F(s)を用いて、以下を計算する。   In step S114, the conversion distance decryption unit calculates the following using the encrypted distance ED1i and the key conversion value F (s).

r^c0+F(s)^c1+・・+F(s^k)^ck r ^ c0 + F (s) ^ c1 + .. + F (s ^ k) ^ ck

この値は、上記より、r^Dec1(ED1i)となる。この計算値のべきを示すDec1(ED1i)は、特徴量Xと参照特徴量Yiとの距離となる。   From the above, this value is r ^ Dec1 (ED1i). Dec1 (ED1i) indicating the power of the calculated value is a distance between the feature quantity X and the reference feature quantity Yi.

ステップS108において、上記で求めた値と変換類似値F(0)=r^0、F(1)=r^1、・・、F(D−1)=r^(D−1)とをそれぞれ比較(一致するか否かを判断)する。変換距離が変換類似値と一致すれば、特徴量Xと参照特徴量Yiとが各距離0〜(D−1)のいずれかであるため、参照特徴量が類似条件を満たすと判断する。なお、rのべき乗を求める一方向性関数は、厳密には異なる入力の関数出力が一致する場合(衝突と呼ぶ)があるが、ここでは、確率的にはほぼ無視できると考える。   In step S108, the value obtained above and the conversion similarity value F (0) = r ^ 0, F (1) = r ^ 1,..., F (D-1) = r ^ (D-1) Each is compared (determines whether or not they match). If the conversion distance matches the conversion similarity value, it is determined that the reference feature amount satisfies the similarity condition because the feature amount X and the reference feature amount Yi are any one of the distances 0 to (D-1). Note that although the unidirectional function for obtaining the power of r may strictly match the function output of different inputs (referred to as a collision), it is assumed here that it can be almost ignored in terms of probability.

2.3.2 BGN暗号の場合の具体的な計算例
暗号化の関数Enc1の第2の具体例として、BGN暗号の鍵生成、暗号化、復号、暗号文の乗算について以下、説明する。なお、BNG暗号については、非特許文献2に説明がある。
2.3.2 Specific Calculation Example for BGN Cipher As a second specific example of the encryption function Enc1, key generation, encryption, decryption, and ciphertext multiplication for BGN encryption will be described below. BNG encryption is described in Non-Patent Document 2.

鍵生成:q1、q2をそれぞれ素数とし、N=q1×q2を求める。GとG’とを位数がNとなる情報についての有限巡回群とし、Gの生成元gと、h=u^q2(ここでuはGの生成元)とを生成する。また、eはG×G→G’のペアリングとする。ペアリングは、任意のu,v∈Gとa,b∈整数に対して、e(u^a,v^b)=e(u,v)^(ab)が成り立つ関数である。   Key generation: q1 and q2 are prime numbers, respectively, and N = q1 × q2 is obtained. Let G and G ′ be a finite cyclic group for information with order N, and generate G generator g and h = u ^ q2 (where u is the generator of G). Also, e is G × G → G ′ pairing. Pairing is a function in which e (u ^ a, v ^ b) = e (u, v) ^ (ab) holds for an arbitrary u, vεG and a, bε integer.

以上のうち、秘密鍵をq1とし、公開鍵を(N、e、g、h)とする。   Of these, the secret key is q1, and the public key is (N, e, g, h).

暗号化:平文m∈{0,1、・・・、T}(T<q2)(ここでの平文空間は離散対数問題が解法可能な程度)の暗号化は、公開鍵(N、e、g、h)を用いて以下の通りとする。乱数rを任意に選び、
Enc1(m)=(g^m)×(h^r)=c
を、暗号文とする。
Encryption: Encryption of plaintext mε {0,1,..., T} (T <q2) (where plaintext space is sufficient to solve the discrete logarithm problem) is the public key (N, e, g, h) are used as follows. Select a random number r arbitrarily,
Enc1 (m) = (g ^ m) × (h ^ r) = c
Is a ciphertext.

復号:暗号文cの復号は、秘密鍵q1を用いて以下の通りとする。   Decryption: The ciphertext c is decrypted as follows using the secret key q1.

Dec1(c)=c^q1
Dec1(c)は、(g^m)^q1×(h^r)^q1
=(g^q1)^m×u^(Nr)
=(g^q1)^m
ここから、離散対数問題を解法して、mを復号する。
Dec1 (c) = c ^ q1
Dec1 (c) is (g ^ m) ^ q1 * (h ^ r) ^ q1
= (G ^ q1) ^ m * u ^ (Nr)
= (G ^ q1) ^ m
From here, the discrete logarithm problem is solved and m is decoded.

暗号文の乗算:m1の暗号文E(m1)とm2の暗号文E(m2)との間で1回だけの乗法準同型性が満たされ、g1= e(g、g)、h1= e(g、h)とする。   Multiplication of ciphertext: Multiplicative homomorphism between ciphertext E (m1) of m1 and ciphertext E (m2) of m2 is satisfied, g1 = e (g, g), h1 = e (G, h).

u=g^αとおくと、h=u^q2=g^αq2となる。このとき、次のように、E1(m1),E1(m2)からm1m2に対する暗号文を作成できる。   If u = g ^ α, h = u ^ 2 = g ^ αq2. At this time, a ciphertext for m1m2 can be created from E1 (m1) and E1 (m2) as follows.

E1(m1)=(g^m1)×(h^r1)
E1(m2)=(g^m2)×(h^r2)
e(E1(m1)、E1(m2))h1^r=(g1^(m1m2))h1^r3∈G’
E1 (m1) = (g ^ m1) × (h ^ r1)
E1 (m2) = (g ^ m2) × (h ^ r2)
e (E1 (m1), E1 (m2)) h1 ^ r = (g1 ^ (m1m2)) h1 ^ r3εG ′

ここで、r3=m1r2+r2m1+αq2r1r2+rとなる。   Here, r3 = m1r2 + r2m1 + αq2r1r2 + r.

暗号文の加算:m1の暗号文E1(m1)とm2の暗号文E1(m2)との間で、次の加法準同型性が満たされる。つまり、暗号文E1(m1)及び暗号文E1(m2)からm1+m2に対する暗号文を作成できる。   Addition of ciphertext: The following additive homomorphism is satisfied between the ciphertext E1 (m1) of m1 and the ciphertext E1 (m2) of m2. That is, a ciphertext for m1 + m2 can be created from the ciphertext E1 (m1) and the ciphertext E1 (m2).

E1(m1)×E1(m2)=(g^(m1+m2))×h^(r1+r2)=E1(m1+m2)   E1 (m1) × E1 (m2) = (g ^ (m1 + m2)) × h ^ (r1 + r2) = E1 (m1 + m2)

以上の暗号化の関数Enc1を用いて、図12のシーケンスの具体的な計算を以下に示す。   Using the encryption function Enc1 described above, specific calculation of the sequence of FIG. 12 is shown below.

ステップS104において、暗号化特徴量と変換類似値とは、それぞれ以下の通りである。ここで、rは任意の乱数とする。   In step S104, the encrypted feature amount and the conversion similarity value are as follows. Here, r is an arbitrary random number.

E1x=(Enc1(x1),Enc1(x2),・・、Enc1(xm))
F(0)=g1^Q、F(1)=g1^(2Q)、・・、F(D−1)=g1^((D−1)Q)
E1x = (Enc1 (x1), Enc1 (x2), ..., Enc1 (xm))
F (0) = g1 ^ Q, F (1) = g1 ^ (2Q),..., F (D-1) = g1 ^ ((D-1) Q)

ステップS113において、鍵変換部は、任意の乱数Rを生成し、次の鍵変換値を求める。   In step S113, the key conversion unit generates an arbitrary random number R and obtains the next key conversion value.

F(s)=R×q1=Q   F (s) = R × q1 = Q

ステップS106において、暗号化した参照特徴量は次のとおりである。   In step S106, the encrypted reference feature values are as follows.

E1y=(Enc1(y1),Enc1(y2),・・、Enc1(ym))   E1y = (Enc1 (y1), Enc1 (y2), ..., Enc1 (ym))

ステップS107において、暗号化距離計算部は、暗号化特徴量E1xと暗号化された参照特徴量E1yとを用いて暗号化距離EDiを求める。Enc1の加法及び乗法における準同型により次の式を満たす。   In step S107, the encryption distance calculation unit obtains the encryption distance EDi using the encrypted feature quantity E1x and the encrypted reference feature quantity E1y. The following formula is satisfied by the homomorphism in the addition and multiplication of Enc1.

ED1i=Enc1(xとyの距離)
が求められる。なお、xとyとの距離としては、例えばこれらの差でもよいし、1回だけの乗法準同型性を用いて、コサイン類似度(x1y1+x2y2+・・+xmym)でもよい。
ED1i = Enc1 (distance between x and y)
Is required. Note that the distance between x and y may be, for example, a difference between them, or may be a cosine similarity (x1y1 + x2y2 + .. + xmym) using only one-time multiplicative homomorphism.

なお、ED1iは、(g1^(xとyの距離))×(h^r4)の形式であり、乱数要素を含んでいる。   Note that ED1i has a format of (g1 ^ (distance between x and y)) x (h ^ r4) and includes a random number element.

ステップS114において、暗号化距離ED1iおよび鍵変換値を用いて、以下を計算する。   In step S114, the following is calculated using the encryption distance ED1i and the key conversion value.

(ED1i)^F(s)=((g1^(xとyの距離))×(h^r4))^(R×q1)
=(g1^(xとyの距離))^Q
=(g1^Q)^(xとyの距離)
(ED1i) ^ F (s) = ((g1 ^ (distance between x and y)) * (h ^ r4)) ^ (R * q1)
= (G1 ^ (distance between x and y)) ^ Q
= (G1 ^ Q) ^ (distance between x and y)

ステップS108において、変換距離復号部は、上記求めた値F(0)=g1^Q、F(1)=g1^(2Q)、・・、F(D−1)=g1^((D−1)Q)
をそれぞれ比較する。これらの値のうち、いずれかが成り立てば、特徴量Xと参照特徴量Yiとが各距離0〜(D−1)のうちのいずれかであるため、参照特徴量が類似条件を満たすと判断する。
In step S108, the transform distance decoding unit obtains the values F (0) = g1 ^ Q, F (1) = g1 ^ (2Q),..., F (D-1) = g1 ^ ((D− 1) Q)
Are compared. If any one of these values is established, it is determined that the reference feature amount satisfies the similarity condition because the feature amount X and the reference feature amount Yi are any one of the distances 0 to (D-1). To do.

2.4 実施の形態2の効果
実施の形態2では、ユーザ端末装置が乱数を含んだ確率的暗号を用いてデータ演算装置に送信するため、安全性を強化することができる。また、データ演算装置は、ユーザ端末装置から暗号化特徴量、暗号化類似値及び鍵変換値を受信して暗号化参照データを抽出する。データ演算装置は、類似値D未満の類似データだけを抽出してユーザ端末装置に送信するため、ユーザ端末装置の計算量、データ演算装置とユーザ端末装置との間の通信量とを削減することができる。また、ユーザ端末装置では、ユーザの意思に応じて柔軟に類似値を設定することができる。
2.4 Effects of Second Embodiment In the second embodiment, the user terminal device transmits the data to the data arithmetic device using the stochastic encryption including a random number, so that the security can be enhanced. Further, the data arithmetic device receives the encrypted feature value, the encrypted similarity value, and the key conversion value from the user terminal device, and extracts the encrypted reference data. Since the data calculation device extracts only similar data less than the similarity value D and transmits it to the user terminal device, the calculation amount of the user terminal device and the communication amount between the data calculation device and the user terminal device are reduced. Can do. Moreover, in a user terminal device, a similar value can be set flexibly according to a user's intention.

また、乱数を含んだ確率的暗号については、ユーザが同一の情報に基づいて検索を行っても、暗号化された特徴量が同じ値にならない。このため、この類似値検索方法などによれば、ユーザ端末装置からデータ演算装置への送信上及びデータ演算装置内でも、ユーザが検索した情報の秘匿性をより高めることができる。その結果、確率的暗号を用いることで暗号文の頻度などからの解析が困難となり、安全性を向上させることができる。   In addition, for a probabilistic encryption including a random number, even if the user performs a search based on the same information, the encrypted feature amounts do not have the same value. For this reason, according to this similarity value search method and the like, the confidentiality of the information searched by the user can be further enhanced in transmission from the user terminal device to the data operation device and also in the data operation device. As a result, using probabilistic encryption makes it difficult to analyze the ciphertext frequency and the like, thereby improving safety.

(その他の変形例)
なお、本発明を上記各実施の形態に基づいて説明してきたが、本発明は、上記各実施の形態に限定されないのは勿論である。また、以下のような場合も本発明に含まれる。
(Other variations)
Although the present invention has been described based on the above-described embodiments, it is needless to say that the present invention is not limited to the above-described embodiments. The following cases are also included in the present invention.

(1)実施の形態1、2では、特徴量をベクトルで説明したが、数値であってもよい。また、この数値をマッピングしてもよい。   (1) In the first and second embodiments, the feature amount is described as a vector, but it may be a numerical value. Further, this numerical value may be mapped.

(2)実施の形態1,2では、類似値をD未満の連続した値としたが、例えば、完全一致(つまり、類似値をゼロのみとする)や離散的な値としてもよい。   (2) In Embodiments 1 and 2, the similarity value is a continuous value less than D, but may be a perfect match (that is, the similarity value is only zero) or a discrete value, for example.

(3)図13は、その他の変形例において統計化参照データを取得する場合のデータ演算装置の構成を示すブロック図である。   (3) FIG. 13 is a block diagram showing a configuration of a data operation device when statistical reference data is acquired in another modification.

図13に示すように、統計値を求めるための暗号化参照データ統計化部209を追加している。実施の形態1,2では、データ演算装置は、参照データをそれぞれ暗号化してユーザ端末装置に送信していたが、データ演算装置において、参照データから例えば平均や分散などの統計値や頻度情報を求めて、ユーザ端末装置に送信してもよい。この場合、参照データそのものではない統計値をユーザ端末装置に提示することにより、参照データが外部に流出してもその持ち主であるユーザを特定することが困難である。このため、プライバシー保護に配慮した構成となる。   As shown in FIG. 13, an encrypted reference data statistic unit 209 for obtaining a statistical value is added. In the first and second embodiments, the data arithmetic device encrypts the reference data and transmits the encrypted reference data to the user terminal device. It may be obtained and transmitted to the user terminal device. In this case, it is difficult to specify the user who has the reference data even if the reference data leaks outside by presenting the statistical value that is not the reference data itself to the user terminal device. For this reason, it becomes the structure which considered privacy protection.

(4)実施の形態1,2では、データ演算装置における参照特徴量格納部及び参照データ格納部は、それぞれ平文でデータを保存していたが、暗号化してもよい。この場合は、参照データ格納部からデータを抽出して復号して用いることもでき、安全性が向上する。また、データ演算装置では、ユーザ端末装置の公開鍵で暗号化したデータを保存しておいてもよい。この場合は、そのままの状態で暗号化距離計算やユーザ端末装置への参照データを送付することができる。   (4) In the first and second embodiments, the reference feature amount storage unit and the reference data storage unit in the data arithmetic apparatus each store data in plain text, but may be encrypted. In this case, data can be extracted from the reference data storage unit and decrypted for use, which improves safety. Further, the data arithmetic device may store data encrypted with the public key of the user terminal device. In this case, encryption distance calculation and reference data to the user terminal device can be sent as they are.

(5)実施の形態1,2では、ユーザ端末装置の公開鍵及び秘密鍵は、鍵格納部に格納しているが、例えば、ユーザが利用する際に、ユーザ端末装置に装着することができるユーザ端末装置とは別の媒体であってもよい。   (5) In the first and second embodiments, the public key and private key of the user terminal device are stored in the key storage unit. For example, when the user uses the user key, it can be attached to the user terminal device. A medium other than the user terminal device may be used.

(6)実施の形態1,2では、ユーザ端末装置の公開鍵及び秘密鍵は、ユーザ端末装置の鍵としているが、鍵格納部にユーザごとの鍵を保管しておいてもよい。この場合、ユーザとユーザ端末装置との間で認証を行い、認証が成功した場合に、鍵格納部から特定のユーザに一致したその鍵を選択して利用することができる。なお、図7に示すデータフォーマット例では、ユーザ端末装置の識別子IDの換わりに、ユーザの識別子IDを利用する。   (6) In the first and second embodiments, the public key and secret key of the user terminal device are used as the key of the user terminal device. However, a key for each user may be stored in the key storage unit. In this case, authentication is performed between the user and the user terminal device, and when the authentication is successful, the key that matches the specific user can be selected and used from the key storage unit. In the example of the data format shown in FIG. 7, the user identifier ID is used instead of the user terminal device identifier ID.

(7)実施の形態1,2では、特徴量算出部は、データベースをもち、ユーザごとにセンシングした情報を蓄積し、過去にセンシングした情報から特徴量を算出してもよい。この場合、ユーザを識別する方法は、例えば、ユーザが識別子IDの入力などによりユーザ端末装置がユーザを認証してもよい。   (7) In the first and second embodiments, the feature amount calculation unit may have a database, accumulate information sensed for each user, and calculate a feature amount from information sensed in the past. In this case, as a method for identifying the user, for example, the user terminal device may authenticate the user by inputting the identifier ID.

(8)実施の形態1,2では、データ演算装置は、特徴量算出部は、別媒体のデータベースから過去にセンシングした情報を取得して、特徴量を算出してもよい。この場合、ユーザの識別子IDを別媒体で保持し、ユーザ端末装置に読み取らせてもよい。   (8) In the first and second embodiments, in the data arithmetic device, the feature amount calculation unit may calculate the feature amount by acquiring information sensed in the past from a database of another medium. In this case, the user identifier ID may be held in another medium and read by the user terminal device.

(9)実施の形態1,2では、データ演算装置は、血圧などのバイタルデータを対象として特徴量から類似の傾向をもつユーザの参照データ(この場合、例えば病歴や治療履歴など)を検索するとしたが、特徴量及び参照データはこの場合に限らない。例えばGPSなどを用いて行動範囲を示すデータから特徴量を算出し、この特徴量から類似の傾向をもつユーザの参照データ(例えば、購入履歴や飲食場所の履歴など)を検索してもよい。   (9) In the first and second embodiments, the data calculation device searches for reference data (in this case, for example, a medical history or a treatment history) of a user who has a similar tendency from the feature amount with respect to vital data such as blood pressure. However, the feature amount and the reference data are not limited to this case. For example, a feature amount may be calculated from data indicating an action range using GPS or the like, and reference data (for example, a purchase history or a history of eating places) of a user having a similar tendency may be searched from the feature amount.

(10)実施の形態1,2では、ユーザ端末装置は、類似値を暗号化してデータ演算装置に送信するが、この暗号化はデータ演算装置側で行ってもよい。つまり、ユーザ端末装置の類似値暗号部は、データ演算装置に設けられていてもよい。なお、類似値を秘匿する必要がない場合は、暗号化しなくてもよい。   (10) In Embodiments 1 and 2, the user terminal device encrypts the similar value and transmits it to the data operation device, but this encryption may be performed on the data operation device side. That is, the similar value encryption unit of the user terminal device may be provided in the data arithmetic device. In addition, when it is not necessary to keep the similarity value secret, it is not necessary to encrypt it.

(11)実施の形態1,2では、データ演算装置は、参照データ格納部を備えているが、データ演算装置とは異なる別の装置が参照データ格納部を備えていてもよい。この場合、特徴量が類似値として抽出した識別子IDをデータ演算装置とは異なる別の装置に通知し、この別の装置が対応する参照データを算出してもよい。   (11) In the first and second embodiments, the data arithmetic device includes the reference data storage unit, but another device different from the data arithmetic device may include the reference data storage unit. In this case, the identifier ID extracted as the similarity value of the feature amount may be notified to another device different from the data calculation device, and the reference data corresponding to the other device may be calculated.

(12)実施の形態1,2では、特徴量と類似するとして抽出した識別子IDに対応した参照データの全てをユーザ端末装置に送信しているが、常にその全てを送信しなくてもよい。つまり、データ演算装置は、参照データの内の一部をピックアップし、ピックアップされた一部の参照データをユーザ端末装置に送信してもよい。   (12) In Embodiments 1 and 2, all of the reference data corresponding to the identifier ID extracted as being similar to the feature value is transmitted to the user terminal device, but it is not always necessary to transmit all of the reference data. That is, the data arithmetic device may pick up a part of the reference data and send the picked up part of the reference data to the user terminal device.

また、データ演算装置は、参照データ格納部のすべての識別子IDに対し、類似値0〜D−1を用いて類似しているか否かを確認しているが(図12、図16に示す通り)、例えば、まず、類似値0ですべての識別子IDに関して確認し、次に類似値1で確認するということを繰り返し、類似値D−1までを順次確認する(ネスティング)といった方法であってもよい。そして、この確認のうち、いずれかが一致すれば、対応する識別子IDを抽出する。   In addition, the data arithmetic device confirms whether or not all identifier IDs in the reference data storage unit are similar by using similarity values 0 to D-1 (as shown in FIGS. 12 and 16). For example, it is possible to repeatedly confirm that all the identifier IDs are first confirmed with a similarity value of 0 and then confirmed with a similarity value of 1, and sequentially check up to the similarity value D-1 (nesting). Good. If any of the confirmations matches, the corresponding identifier ID is extracted.

さらに、例えば、データ演算装置は、ユーザ端末装置に送信する暗号化参照データの最大個数を予め定めておき、図12、図16に示すデータ演算装置が繰り返して確認を行っている間に、予め定めた個数に至ったところでこの繰り返しを中断し、抽出した識別子IDに対して参照データを抽出して暗号化し、ユーザ端末装置に暗号化参照データを返答するといった方法であってもよい。   Further, for example, the data arithmetic device determines in advance the maximum number of encrypted reference data to be transmitted to the user terminal device, and while the data arithmetic device shown in FIGS. The method may be such that the repetition is interrupted when the predetermined number is reached, the reference data is extracted and encrypted for the extracted identifier ID, and the encrypted reference data is returned to the user terminal device.

なお、上記態様において説明した技術は、例えば、以下のクラウドサービスの類型において実現され得る。しかし、上記態様において説明された技術が実現されるクラウドサービスの類型は、これらに限られるものでない。   In addition, the technique demonstrated in the said aspect may be implement | achieved in the following cloud service types, for example. However, the types of cloud services in which the technology described in the above aspect is realized are not limited to these.

(サービスの類型1:自社データセンタ型クラウドサービス)
図14は、サービスの類型1(自社データセンタ型クラウドサービス)における情報管理システムが提供するサービスの全体像を示すブロック図である。
(Service type 1: In-house data center type cloud service)
FIG. 14 is a block diagram showing an overview of services provided by the information management system in service type 1 (in-house data center type cloud service).

図14に示すように、本類型では、サービスプロバイダ1120がグループ1000から情報を取得し、ユーザに対してサービスを提供する。本類型では、サービスプロバイダ1120がデータセンタ運営会社の機能を有している。すなわち、サービスプロバイダ1120はビッグデータを管理するクラウドサーバ1111を保有している。したがって、データセンタ運営会社は存在しない。   As shown in FIG. 14, in this type, the service provider 1120 acquires information from the group 1000 and provides a service to the user. In this type, the service provider 1120 has a function of a data center operating company. That is, the service provider 1120 has a cloud server 1111 that manages big data. Therefore, there is no data center operating company.

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

(サービスの類型2:IaaS利用型クラウドサービス)
図15は、サービスの類型2(IaaS利用型クラウドサービス)における情報管理システムが提供するサービスの全体像を示すブロック図である。ここで、IaaS(Infrastructure as a Service)とは、コンピュータシステムを構築および稼動させるための基盤そのものを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
(Service type 2: Cloud service using IaaS)
FIG. 15 is a block diagram illustrating an overall image of a service provided by an information management system in service type 2 (IaaS-based cloud service). Here, IaaS (Infrastructure as a Service) is a cloud service provision model that provides a base for constructing and operating a computer system as a service via the Internet.

図15に示すように、本類型では、データセンタ運営会社1110が、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ1120は、OS1202及びアプリケーション1201を管理する。サービスプロバイダ1120は、サービスプロバイダ1120が管理するOS1202及びアプリケーション1201を用いてサービスを提供する(矢印1204)。   As shown in FIG. 15, in this type, the data center operating company 1110 operates and manages a data center (cloud server) 1203. 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 (arrow 1204).

(サービスの類型3:PaaS利用型クラウドサービス)
図16は、サービスの類型3(PaaS利用型クラウドサービス)における情報管理システムが提供するサービスの全体像を示すブロック図である。ここで、PaaS(Platform as a Service)とは、ソフトウェアを構築および稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
(Service type 3: Cloud service using PaaS)
FIG. 16 is a block diagram showing an overall image of a service provided by the information management system in service type 3 (PaaS use type cloud service). Here, PaaS (Platform as a Service) is a cloud service provision model that provides a platform serving as a foundation for constructing and operating software as a service via the Internet.

図16に示すように、本類型では、データセンタ運営会社1110は、OS1202を管理し、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ1120は、アプリケーション1201を管理する。サービスプロバイダ1120は、データセンタ運営会社1110が管理するOS1202及びサービスプロバイダ1120が管理するアプリケーション1201を用いてサービスを提供する(矢印1204)。   As shown in FIG. 16, 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 manages the application 1201. The service provider 1120 provides a service using the OS 1202 managed by the data center operating company 1110 and the application 1201 managed by the service provider 1120 (arrow 1204).

(サービスの類型4:SaaS利用型クラウドサービス)
図17は、サービスの類型4(SaaS利用型クラウドサービス)における情報管理システムが提供するサービスの全体像を示すブロック図である。ここで、SaaS(Software as a Service)利用型クラウドサービスは、例えば、データセンタ(クラウドサーバ)1203を保有しているプラットフォーム提供者が提供するアプリケーション1201を、データセンタ(クラウドサーバ)1203を保有していない会社又は個人などの利用者がインターネットなどのネットワーク経由で使用できる機能を有するクラウドサービス提供モデルである。
(Service type 4: Cloud service using SaaS)
FIG. 17 is a block diagram showing an overall image of a service provided by the information management system in service type 4 (SaaS-based cloud service). Here, the SaaS (Software as a Service) use type cloud service includes, for example, an application 1201 provided by a platform provider who has a data center (cloud server) 1203, and a data center (cloud server) 1203. This is a cloud service provision model that has a function that can be used via a network such as the Internet by users such as companies or individuals who are not.

図17に示すように、本類型では、データセンタ運営会社1110は、アプリケーション1201を管理し、OS1202を管理し、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ1120は、データセンタ運営会社1110が管理するOS1202及びアプリケーション1201を用いてサービスを提供する(矢印1204)。   As shown in FIG. 17, 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 (arrow 1204).

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

その他、実施の形態1、2、その他の変形例及びサービスの類型1〜4に対して当業者が思いつく各種変形を施して得られる形態や、本発明の趣旨を逸脱しない範囲で実施の形態1、2、その他の変形例及びサービスの類型1〜4における構成要素及び機能を任意に組み合わせることで実現される形態も本発明に含まれる。   In addition, Embodiments 1 and 2, other modifications, and forms obtained by making various modifications conceived by those skilled in the art to the service types 1 to 4, or Embodiment 1 without departing from the spirit of the present invention 2, other modifications and forms realized by arbitrarily combining components and functions in service types 1 to 4 are also included in the present invention.

本発明にかかる類似検索方法は、暗号化により特徴量の内容を秘匿しながら類似検索を行うことができ、例えば、症例などの類似検索を行うコンピュータシステムに適用することができる。   The similarity search method according to the present invention can perform a similarity search while concealing the content of the feature amount by encryption, and can be applied to, for example, a computer system that performs a similarity search of cases and the like.

100 ユーザ端末装置(端末装置)
200 データ演算装置(サーバ装置)
202 暗号化距離計算部
204 暗号化参照データ抽出部
207 参照変換類似値抽出部
100 User terminal device (terminal device)
200 Data operation device (server device)
202 Encryption distance calculation unit 204 Encryption reference data extraction unit 207 Reference conversion similarity value extraction unit

Claims (9)

端末装置から提供される情報に基づいて、サーバ装置が類似情報を検索して前記端末装置に提供する類似情報検索方法であって、
前記サーバ装置が、前記端末装置から、暗号化された特徴量である暗号化特徴量を受信する特徴量受信ステップと、
前記サーバ装置が、前記端末装置から、類似の度合を示す類似値を暗号化した情報である暗号化類似値を受信する類似値受信ステップと、
前記サーバ装置が、複数の参照特徴量の少なくとも一つについての前記参照特徴量と、前記サーバ装置で受信された前記暗号化特徴量との類似の度合を示す暗号化距離を算出する距離算出ステップと、
前記サーバ装置が、算出された前記暗号化距離が前記サーバ装置で受信された前記暗号化類似値とが一致するか否かを判定する判定ステップと、
前記サーバ装置が、前記判定ステップで一致すると判定された場合に、前記暗号化距離の算出に用いられた前記参照特徴量に対応するデータである参照データを暗号化した情報である暗号化参照データを生成し、生成した前記暗号化参照データを前記端末装置に送信する参照データ送信ステップと
を含む類似情報検索方法。
Based on information provided from a terminal device, a similar information search method in which a server device searches for similar information and provides the similar information to the terminal device,
A feature amount receiving step in which the server device receives an encrypted feature amount that is an encrypted feature amount from the terminal device;
A similarity value receiving step in which the server device receives an encrypted similarity value, which is information obtained by encrypting a similarity value indicating a degree of similarity, from the terminal device;
A distance calculating step in which the server device calculates an encryption distance indicating a degree of similarity between the reference feature amount of at least one of a plurality of reference feature amounts and the encrypted feature amount received by the server device. When,
A determination step of determining whether or not the calculated encryption distance matches the encrypted similarity value received by the server device;
Encrypted reference data that is information obtained by encrypting reference data that is data corresponding to the reference feature amount used for calculating the encryption distance when it is determined that the server device matches in the determination step. And a reference data transmission step of transmitting the generated encrypted reference data to the terminal device.
前記類似値受信ステップでは、複数の類似の度合を示す複数の類似値のそれぞれを暗号化した情報である複数の暗号化類似値を受信し、
前記サーバ装置は、受信した前記複数の暗号化類似値のそれぞれについて、前記距離算出ステップ、前記判定ステップ及び前記参照データ送信ステップを実行する
請求項1記載の類似情報検索方法。
In the similarity value receiving step, a plurality of encrypted similarity values which are information obtained by encrypting each of a plurality of similar values indicating a plurality of similar degrees are received,
The similar information search method according to claim 1, wherein the server device executes the distance calculating step, the determining step, and the reference data transmitting step for each of the plurality of encrypted similar values received.
前記暗号化距離は、前記参照特徴量と前記暗号化特徴量とのユークリッド距離である
請求項1又は2記載の類似情報検索方法。
The similar information search method according to claim 1, wherein the encryption distance is a Euclidean distance between the reference feature quantity and the encryption feature quantity.
さらに、
前記サーバ装置は、前記端末装置が保持する秘密鍵を所定関数で変換した情報である鍵変換値を受信する鍵受信ステップを含み、
前記類似値受信ステップでは、前記暗号化類似値として、前記類似値を前記所定関数で変換した情報である変換類似値を受信し、
前記判定ステップでは、前記判定として、前記鍵変換値を用いて前記暗号化距離を復号することで変換距離を生成し、生成した前記変換距離が前記変換類似値と一致するか否かを判定する
請求項1〜3のいずれか1項に記載の類似情報検索方法。
further,
The server device includes a key receiving step of receiving a key conversion value that is information obtained by converting a secret key held by the terminal device with a predetermined function,
In the similarity value receiving step, as the encrypted similarity value, a conversion similarity value that is information obtained by converting the similarity value with the predetermined function is received;
In the determination step, as the determination, a conversion distance is generated by decrypting the encryption distance using the key conversion value, and it is determined whether or not the generated conversion distance matches the conversion similarity value. The similar information search method according to claim 1.
前記所定関数は、一方向性関数である
請求項4記載の類似情報検索方法。
The similar information search method according to claim 4, wherein the predetermined function is a one-way function.
さらに、
前記端末装置は、データを取得し、取得したデータから、前記データの特徴を示す特徴量を算出し、算出した特徴量を暗号化することで前記暗号化特徴量を生成し、生成した前記暗号化特徴量を前記サーバ装置に送信する特徴量送信ステップと、
前記端末装置が、類似の度合を示す類似値を設定し、設定した類似値を暗号化することで前記暗号化類似値を生成し、生成した前記暗号化類似値を前記サーバ装置に送信する類似値送信ステップと、
前記端末装置が、前記サーバ装置から前記暗号化参照データを受信し、受信した前記暗号化参照データを復号する復号ステップとを含む
請求項1〜5のいずれか1項に記載の類似情報検索方法。
further,
The terminal device acquires data, calculates a feature amount indicating the feature of the data from the acquired data, generates the encrypted feature amount by encrypting the calculated feature amount, and generates the encrypted A feature amount transmitting step of transmitting a normalized feature amount to the server device;
The terminal device sets a similarity value indicating a degree of similarity, generates the encrypted similarity value by encrypting the set similarity value, and transmits the generated encrypted similarity value to the server device A value transmission step;
The similar information search method according to claim 1, wherein the terminal device includes a decrypting step of receiving the encrypted reference data from the server device and decrypting the received encrypted reference data. .
前記暗号化特徴量、前記暗号化類似値及び前記参照特徴量は、準同型暗号方式で暗号化されている
請求項1〜6のいずれか1項に記載の類似情報検索方法。
The similar information search method according to claim 1, wherein the encrypted feature value, the encrypted similarity value, and the reference feature value are encrypted by a homomorphic encryption method.
端末装置から提供される情報に基づいて、類似情報を検索して前記端末装置に提供するサーバ装置であって、
前記端末装置から、暗号化された特徴量である暗号化特徴量を受信し、受信した前記暗号化特徴量と、複数の参照特徴量の少なくとも一つについての前記参照特徴量との類似の度合を示す暗号化距離を算出する暗号化距離計算部と、
類似の度合を示す類似値を暗号化した情報である暗号化類似値を受信し、受信した前記暗号化類似値が、算出された前記暗号化距離と一致するか否かを判定する参照類似値抽出部と、
前記参照類似値抽出部で一致すると判定された場合に、前記暗号化距離の算出に用いられた前記参照特徴量に対応するデータである参照データを暗号化した情報である暗号化参照データを生成し、生成した前記暗号化参照データを前記端末装置に送信する暗号化参照データ抽出部と
を備えるサーバ装置。
A server device that searches for similar information based on information provided from a terminal device and provides the similar information to the terminal device,
An encrypted feature quantity that is an encrypted feature quantity is received from the terminal device, and the degree of similarity between the received encrypted feature quantity and the reference feature quantity for at least one of a plurality of reference feature quantities An encryption distance calculation unit for calculating an encryption distance indicating
A reference similarity value that receives an encrypted similarity value, which is information obtained by encrypting a similarity value indicating a degree of similarity, and determines whether the received encrypted similarity value matches the calculated encryption distance An extractor;
Generates encrypted reference data, which is information obtained by encrypting reference data, which is data corresponding to the reference feature amount used for calculating the encryption distance, when the reference similarity value extraction unit determines that they match. And an encrypted reference data extraction unit that transmits the generated encrypted reference data to the terminal device.
端末装置と、
前記端末装置から提供される情報に基づいて、類似情報を検索して前記端末装置に提供する請求項8記載のサーバ装置と
を備える類似情報検索システム。
A terminal device;
A similar information search system comprising: the server device according to claim 8, wherein similar information is searched based on information provided from the terminal device and provided to the terminal device.
JP2016007480A 2015-05-29 2016-01-18 Similar information search method, server device, and similar information search system Active JP6567979B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/163,674 US9875375B2 (en) 2015-05-29 2016-05-25 Method for performing similar-information search while keeping content confidential by encryption

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015110873 2015-05-29
JP2015110873 2015-05-29

Publications (2)

Publication Number Publication Date
JP2016224905A JP2016224905A (en) 2016-12-28
JP6567979B2 true JP6567979B2 (en) 2019-08-28

Family

ID=57748332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016007480A Active JP6567979B2 (en) 2015-05-29 2016-01-18 Similar information search method, server device, and similar information search system

Country Status (1)

Country Link
JP (1) JP6567979B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6929741B2 (en) * 2017-01-16 2021-09-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Information processing method and information processing system
JP6660319B2 (en) * 2017-02-03 2020-03-11 Kddi株式会社 Classification device, classification method and classification program
CN113807537B (en) * 2021-04-06 2023-12-05 京东科技控股股份有限公司 Data processing method and device for multi-source data, electronic equipment and storage medium
CN120150923B (en) * 2025-05-16 2025-08-12 中国科学院信息工程研究所 A biometric verification method and system based on homomorphic encryption

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8249250B2 (en) * 2009-03-30 2012-08-21 Mitsubishi Electric Research Laboratories, Inc. Secure similarity verification between homomorphically encrypted signals
US9215068B2 (en) * 2011-09-14 2015-12-15 National Institute Of Advanced Industrial Science And Technology Search system, search method, and program
JP2014126865A (en) * 2012-12-27 2014-07-07 Fujitsu Ltd Device and method for encryption processing
JPWO2014185450A1 (en) * 2013-05-15 2017-02-23 日本電気株式会社 Verification system, node, verification method and program
CN103744976B (en) * 2014-01-13 2017-02-22 北京工业大学 Secure image retrieval method based on homomorphic encryption

Also Published As

Publication number Publication date
JP2016224905A (en) 2016-12-28

Similar Documents

Publication Publication Date Title
JP2016224400A (en) Similar information search method, terminal device, and similar information search system
US9875375B2 (en) Method for performing similar-information search while keeping content confidential by encryption
Deng et al. A flexible privacy-preserving data sharing scheme in cloud-assisted IoT
Paulet et al. Privacy-preserving and content-protecting location based queries
JP6180177B2 (en) Encrypted data inquiry method and system capable of protecting privacy
CN106650205B (en) An efficient privacy protection cloud medical data monitoring method
JP6075017B2 (en) Information analysis system and information analysis method
JPWO2018110608A1 (en) Verification system, method, apparatus and program
US20140172830A1 (en) Secure search processing system and secure search processing method
US20170169241A1 (en) Search method, search device, search system, and program
JP2014126865A (en) Device and method for encryption processing
CN102176709A (en) Method and device with privacy protection function for data sharing and publishing
JP5432736B2 (en) Keyword search system for encrypted information, keyword search method, search request device, search agent device, program, recording medium
CN107248980B (en) Mobile application recommendation system and method with privacy protection function under cloud service
JP6567979B2 (en) Similar information search method, server device, and similar information search system
US10649919B2 (en) Information processing method and information processing system
Naresh et al. Secure lightweight IoT integrated RFID mobile healthcare system
US11995211B2 (en) Secure authentication method and secure authentication system
JP6229716B2 (en) Verification system, node, verification method and program
JPWO2014185450A1 (en) Verification system, node, verification method and program
Vamsi et al. Electronic health record security in cloud: Medical data protection using homomorphic encryption schemes
WO2014030706A1 (en) Encrypted database system, client device and server, method and program for adding encrypted data
CN106209761A (en) Similar information retrieval method, terminal device and similar information retrieval system
CN113965310B (en) Method for realizing mixed privacy calculation processing based on label capable of being controlled to be de-identified
CN116415292A (en) Privacy-preserving COX regression method based on multi-key fully homomorphic encryption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180727

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190607

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: 20190723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190801

R150 Certificate of patent or registration of utility model

Ref document number: 6567979

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150