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 PDFInfo
- 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
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.
しかしながら、従来の類似検索では、共通鍵や公開鍵を利用した暗号化において、サーバ装置が暗号化した状態のまま類似検索を行う。この暗号化した特徴量について、復号するときの鍵を持つのは端末装置であるため、サーバ装置が送信した類似値を、端末装置が受信して復号を行い、類似値と端末装置が参照特徴量及び特徴量から算出した距離とが一致しているか否かの判断をする。一致していない場合には、再度同様の動作を行う。このため、端末装置とサーバ装置との通信回数の増加や、端末装置が暗号化したデータを復号する際の処理計算が増加する。 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.
(発明の基礎となった知見)
暗号化したまま類似検索する方法がある。しかしながら、この場合サーバ側は暗号化した距離の計算は行うものの、対応する秘密鍵を持たないので指定した類似値に合致しているかどうかの判定はできなかった。判定を行うためにはユーザ端末の秘密鍵を用いた復号が必要であり、ユーザ端末で実現するには、計算量や通信量が大きくなっていた。
(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
グループ1000は、例えば企業、団体又は家庭などであり、その規模を問わない。グループ1000は、第1の機器及び第2の機器を含む複数の機器1101と、ホームゲートウェイ1102とを有する。複数の機器1101は、インターネットと接続可能な機器(例えば、スマートフォン、パーソナルコンピュータ(PC)又はテレビなど)、及びそれ自身ではインターネットと接続不可能な機器(例えば、照明、洗濯機又は冷蔵庫など)を含む。複数の機器1101は、それ自身ではインターネットと接続不可能であっても、ホームゲートウェイ1102を介してインターネットと接続可能となる機器を含んでもよい。また、ユーザ1010は、グループ1000内の複数の機器1101を使用する。
The
データセンタ運営会社1110は、クラウドサーバ1111を備える。クラウドサーバ1111は、インターネットを介して様々な機器と連携する仮想化サーバである。クラウドサーバ1111は、主に通常のデータベース管理ツールなどで扱うことが困難な巨大なデータ(ビッグデータ)などを管理する。データセンタ運営会社1110は、データの管理、クラウドサーバ1111の管理、及びそれらを行うデータセンタの運営などを行っている。データセンタ運営会社1110が行っている役務の詳細については後述する。
The data
ここで、データセンタ運営会社1110は、データの管理又はクラウドサーバ1111の管理のみを行っている会社に限らない。例えば、図1Bに示すように、複数の機器1101のうちの一つの機器を開発又は製造している機器メーカが、データの管理又はクラウドサーバ1111の管理などを行っている場合は、機器メーカがデータセンタ運営会社1110に該当する。また、データセンタ運営会社1110は一つの会社に限らない。例えば、図1Cに示すように、機器メーカ及び管理会社が共同又は分担してデータの管理又はクラウドサーバ1111の管理を行っている場合は、両者又はいずれか一方がデータセンタ運営会社1110に該当する。
Here, the data
サービスプロバイダ1120は、サーバ1121を備える。ここで言うサーバ1121とは、その規模は問わず、例えば、個人用PC内のメモリなども含む。また、サービスプロバイダ1120がサーバ1121を備えていない場合もある。
The
なお、上記の情報管理システムにおいて、ホームゲートウェイ1102は必須ではない。例えば、クラウドサーバ1111が全てのデータ管理を行っている場合などは、ホームゲートウェイ1102は不要となる。また、情報管理システムでは、家庭内の全ての機器がインターネットに接続されている場合のように、それ自身ではインターネットと接続不可能な機器は存在しない場合もある。
In the above information management system, the
次に、上記の情報管理システムにおける情報の流れを説明する。 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
次に、データセンタ運営会社1110のクラウドサーバ1111は、集積したログ情報を一定の単位でサービスプロバイダ1120に提供する。ここで、一定の単位とは、データセンタ運営会社1110が集積した情報を整理してサービスプロバイダ1120に提供することの出来る単位でもよいし、サービスプロバイダ1120が要求する単位でもよい。また、一定の単位で提供するとしているが、一定の単位でなくてもよく、状況に応じて提供する情報量が変化してもよい。ログ情報は、必要に応じてサービスプロバイダ1120が保有するサーバ1121に保存される(図1Aの矢印1132)。
Next, the
そして、サービスプロバイダ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
なお、ユーザ1010は、ユーザ1020と異なっていても同一であってもよい。
Note that the
(実施の形態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
ユーザ端末装置100とデータ演算装置200とは、それぞれ1つずつ備えているが、それぞれ複数であり、例えば複数のユーザ端末装置100が1つのデータ演算装置200に接続されてもよいし、複数のデータ演算装置200が1つのユーザ端末装置100に接続されてもよい。また、各装置間の接続形態は、有線のインターネット線、無線通信、専用通信などのいずれであってもよい。なお、この類似情報検索システム10では、リアルタイムでの通信が必ずしも必要ではなく、例えば、ユーザ端末装置100は、センシングした情報や類似検索の要求をある程度集めてから、合わせてデータ演算装置に送信してもよい。
The
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
特徴量暗号部103、類似値暗号部105及び復号部107は、それぞれデータ演算装置200(図4に示す)の、A,B,Cで図示する箇所と接続されるものとする。ユーザ端末装置100は、例えば、ユーザの血圧や顔色、CTスキャン情報などユーザに関する情報をセンシングし、取得されたデータの特徴を示す特徴量を抽出する。そして、データ演算装置は、この特徴量に類似した症状の参照データ(後述する、参照特徴量に対応するデータ)をデータ演算装置に要求し、得られた参照データをユーザへのサービスに利用する。なお、ユーザ端末装置100がユーザに関する情報をセンシングするにあたっては、ユーザより所定の同意を得て行うものとする。同意を取得するなどの手続きについては、本発明の範囲外とする。
It is assumed that the feature
1.2.1 センシング部
センシング部101は、ユーザをセンシングする。センシングしたデータは、例えばユーザの血圧や体温などのバイタルデータや、ユーザの顔画像やエコーやCTスキャンによるデータなどの画像データ、受け答えの声のデータなどである。なお、センシングしたデータは、ユーザの位置情報(GPS(Global Positioning System)情報)や買い物の履歴情報であってもよい。
1.2.1 Sensing unit The
1.2.2 特徴量算出部
特徴量算出部102は、センシング部101で取得したデータから特徴量を算出する。ここで算出した特徴量は、例えば、顔などの画像情報における特徴的なパラメータの主成分や、ある領域の位置や面積や幅などのデータであってよい。また、特徴量は、履歴情報からその時間軸に対応した傾向を例えば多項式に変換し、その係数であってもよい。さらに、特徴量は、数値であっても、数値を並べたベクトル値であってもよい。
1.2.2 Feature Quantity Calculation Unit The feature
1.2.3 特徴量暗号部
特徴量暗号部103は、特徴量算出部102で算出したデータの特徴を示す特徴量を暗号化することで、暗号化特徴量を生成する。特徴量暗号部103は、生成した暗号化特徴量をデータ演算装置に送信する。ここでは、暗号化を行う方法は、データ演算装置にて特徴量を暗号化したまま、類似情報の検索のための演算が可能となる準同型暗号を用いるものとする。データ演算装置に特徴量を秘匿する場合には、後述の鍵格納部108に格納されているユーザ端末装置100の公開鍵を用いるものとする。
1.2.3 Feature Quantity Encryption Unit The feature
1.2.4 類似値設定部
類似値設定部104は、検索する場合における類似の度合を示す類似値を設定する。ここでの類似値は、データ演算装置において、特徴量とどの程度近いものを検索するのかを示す値である。例えば、データ演算装置は、特徴量と参照特徴量との間のユークリッド距離を算出し、その値がある値D未満であるものを検索する場合に、ある値Dを類似値として設定する。あるいは、ある値Dの類似値である0,1、・・・、D−1の値をすべて設定してもよい。また、あるいは、類似値は、特徴量のベクトル値ごとに設定してもよい。
1.2.4 Similar Value Setting Unit The similar
1.2.5 類似値暗号部
類似値暗号部105は、類似の度合を示す類似値を暗号化することで暗号化類似値を生成する。類似値暗号部105は、生成した暗号化類似値をデータ演算装置に送信する。暗号化類似値は、データ演算装置において、暗号化した状態で暗号化特徴量との類似値を判定し、判定の条件に合う参照IDを抽出するために用いる。
1.2.5 Similar Value Encryption Unit The similar
1.2.6 復号部
復号部107は、ユーザ端末装置100による類似情報の検索によって、暗号化特徴量と暗号化類似値とから生成された参照データ(類似検索の結果)を暗号化した情報である暗号化参照データをデータ演算装置から受信する。そして、復号部107は、受信した暗号化参照データを復号する。
1.2.6 Decryption Unit The
1.2.7 参照データ利用部
参照データ利用部106は、復号部107において復号して得た参照データを利用する。例えば、参照データ利用部106は、参照データをユーザ端末にグラフや統計値として表示したり、これらの情報を用いて、ユーザへの生活習慣の改善アドバイスや、お勧めの食事などのアドバイスを行ったりする。
1.2.7 Reference Data Utilization Unit The reference
1.2.8 鍵格納部
鍵格納部108は、特徴量暗号部103、類似値暗号部105及び復号部107に用いる鍵を格納する。それぞれで用いる暗号方式および鍵は、同じであってもよく、異なっていてもよい。例えば、特徴量暗号部103と類似値暗号部105とで用いる鍵は、準同型暗号方式のユーザ端末装置100の公開鍵(対応する秘密鍵も、本鍵格納部に格納)であって、復号部107で用いる鍵は、準同型暗号方式ではない公開鍵暗号方法のユーザ端末装置100の秘密鍵(対応する公開鍵は、データ演算装置と共有)であってもよい。また、復号部107で用いる鍵は、特徴量暗号部103で用いた鍵と同じ準同型暗号のユーザ端末装置100の秘密鍵としてもよい。
1.2.8 Key Storage Unit The
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
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
図5Aに示すように、参照特徴量格納部201は、データ演算装置が類似検索を行う際に、検索の対象となる参照特徴量Yiを格納する。なお、識別子IDがiに対応しており、参照特徴量をYiと記載する。識別子IDと参照特徴量とは、参照特徴量格納部201に対で格納される。図5Aでは、識別子IDは1,2、・・とし、各識別子IDに対応する各参照特徴量Y1、Y2、・・が格納されている。この例では、各参照特徴量は、ベクトル値であらわされているものとする。なお、参照特徴量は暗号化して格納しておいてもよい。
As shown in FIG. 5A, the reference feature
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
1.3.3 参照類似値抽出部
参照類似値抽出部203は、類似値暗号部から暗号化類似値を受信する。暗号化類似値とは、類似の度合を示す類似値を暗号化した情報である。なお、この暗号化した情報は、準同型暗号方式で暗号化されていることが好ましい。
1.3.3 Reference Similar Value Extraction Unit The reference similar
参照類似値抽出部203は、類似値暗号部から受信した暗号化類似値と、暗号化距離計算部202から受信した暗号化距離とを用いて、距離と類似値とが一致しているか否かを判断する(暗号化距離と暗号化類似値とが一致することは、距離と類似値とが一致することと同一)。参照類似値抽出部203は、距離と類似値とが一致すると判断された場合に、対応する参照特徴量の識別子IDを抽出する。参照類似値抽出部203は、暗号化類似値と暗号化距離とが一致すると判断しなかった場合に、対応する参照特徴量の識別子IDを抽出しない。
The reference similarity
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
1.3.5 暗号化参照データ抽出部
暗号化参照データ抽出部204は、参照類似値抽出部203で一致すると判定された場合に、暗号化参照データを生成する。暗号化参照データは、暗号化距離の算出に用いられた参照特徴量に対応するデータである参照データを暗号化した情報である。暗号化参照データ抽出部204は、生成した暗号化参照データをユーザ端末装置の復号部に送信する。具体的には、暗号化参照データ抽出部204は、参照類似値抽出部203において抽出した識別子IDに対応した参照データを、参照データ格納部205から抽出し、これをユーザ端末装置の復号部に送信する。暗号化参照データ抽出部204は、送信時に通信路上のデータを保護するために暗号化して送信する。なお、暗号化の前に、参照データから対応するユーザを特定できないように匿名化してもよい。また、データ演算装置200は、抽出した複数の参照データから、平均や頻度といった統計情報を求めて、これを暗号化してユーザ端末装置の復号部に送信してもよい。
1.3.5 Encrypted Reference Data Extraction Unit The encrypted reference
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
図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
ステップS102において、特徴量算出部102は、センシング部がセンシングした情報から特徴量Xを算出する。例えば、特徴量Xは、次のように、要素が数値のm次ベクトルであってもよい。
In step S102, the feature
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
ステップ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
暗号化の関数を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
具体的には、暗号化距離計算部は、特徴量暗号部から、準同型暗号方式で暗号化された特徴量であるこの暗号化特徴量を受信する(特徴量受信ステップ)。また、参照類似値抽出部は、類似値暗号部から、類似の度合を示す類似値を暗号化した情報である暗号化類似値を受信する(類似値受信ステップ)。なお、暗号化した情報である暗号化類似値は、準同型暗号方式で暗号化されていることが好ましい。 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
ステップ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
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
ステップ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
確認の仕方の例としては、暗号化距離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
もし、いずれとも一致しなければ(満たさない)、次の識別子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
ステップ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
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
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
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
図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
また、暗号化特徴量は、準同型暗号方式で暗号化されており、データ演算装置では復号できない。このため、この類似情報検索方法などでは、ユーザ端末装置からデータ演算装置への送信上及びデータ演算装置内でも、ユーザが検索した情報の秘匿性を高めることができる。 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
2.1.1 鍵変換部
鍵変換部109は、鍵変換値を算出する。鍵変換値は、ユーザ端末装置100の秘密鍵を一方向性関数を用いて変換した情報である。一方向性関数の例としては、秘密鍵をべきとするべき乗演算である。一方向性関数を用いた変換とは、秘密鍵からべき乗演算することは容易であるが、この反対である、べき乗値からそのべき値を求めることが難しいことを意味する。べき乗値からそのべき値を求めることは、離散対数領域でのLOG演算が困難であることに帰着する。
2.1.1 Key Conversion Unit The
2.1.2 類似値変換部
類似値変換部110は、鍵変換部109で用いたものと同一の一方向性関数を用いて設定した類似値を変換する。データ演算装置では、変換距離(暗号化距離と変換復号鍵とを用いて、復号することで求める変換領域での距離)、同様に、一方向性関数を用いて変換した類似値との一致により、類似しているか否かを判定する。
2.1.2 Similar Value Conversion Unit The 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
2.2.1 変換距離復号部
変換距離復号部206は、変換領域において、鍵変換部がユーザ端末装置の秘密鍵を一方向性関数を用いて変換した情報である鍵変換値を用いて暗号化距離を復号することで得られる変換距離を求める(生成する)。ここで用いる準同型暗号方式は、確率的な方法であるため、暗号化距離に乱数要素が含まれている。しかし、変換復号鍵を用いて復号することで求めた変換距離は、乱数要素が除去されている。
2.2.1 Conversion distance decryption unit The conversion
2.2.2 参照変換類似値抽出部
参照変換類似値抽出部207は、変換領域において、変換距離と変換された変換類似値とが一致しているか否かを判定する。参照変換類似値抽出部207は、変換距離が変換された変換類似値のいずれかと一致している場合に、変換距離が設定した変換類似値の条件を満足するものと判断して対応する識別子IDを抽出する。いずれとも一致しない場合は、対応する識別子IDを抽出しない。
2.2.2 Reference conversion similarity value extraction unit The reference conversion similarity
2.3 類似情報検索システムの動作
実施の形態2における類似情報検索システム10の動作を、図12に示すシーケンス図を用いて説明する。
2.3 Operation of Similar Information Retrieval System The operation of the similar
図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
ステップS102において、特徴量算出部102は、センシング部がセンシングした情報から特徴量Xを算出する。例えば、特徴量Xは次のように、各要素が数値のm次ベクトルであってもよい。
In step S102, the feature
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
ステップ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
ここで、暗号化の関数を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
ステップS105において、ユーザ端末装置100は、暗号化特徴量、変換類似値及び鍵変換値を示し、条件を満たす類似の参照データを要求する。つまり、ユーザ端末装置100が暗号化特徴量、変換類似値及び鍵変換値をデータ演算装置200に送信し、データ演算装置200がこれらを受信する(ステップS102、ステップS104、ステップS113及びステップS105が特徴量受信ステップの一例、ステップS103、ステップS104、ステップS113及びステップS105が類似値受信ステップの一例、ステップS113及びステップS105が鍵受信ステップの一例)。
In step S <b> 105, the
具体的には、特徴量暗号部は、暗号化特徴量を暗号化距離計算部に送信し、暗号化距離計算部が受信する(特徴量受信ステップの一例)。また、類似値変換部は、変換類似値を変換距離復号部に送信し、変換距離復号部が受信する(類似値受信ステップの一例)。さらに、鍵変換部は、鍵変換値を参照変換類似値抽出部に送信し、参照変換類似値抽出部が受信する(鍵受信ステップの一例)。 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
ステップS106において、データ演算装置200は、i番目の識別子IDの参照特徴量格納部から参照特徴量Yi=(yi1、yi2、・・、yim)を選択する。
In step S106, the data
ステップ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
ステップ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
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
鍵生成: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
鍵生成: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
(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
(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
(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
また、データ演算装置は、参照データ格納部のすべての識別子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
本類型では、サービスプロバイダ1120は、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ120は、オペレーティングシステム(OS)1202及びアプリケーション1201を管理する。サービスプロバイダ1120は、サービスプロバイダ1120が管理するOS1202及びアプリケーション1201を用いてサービスを提供する(矢印1204)。
In this type, the
(サービスの類型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
(サービスの類型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
(サービスの類型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
図17に示すように、本類型では、データセンタ運営会社1110は、アプリケーション1201を管理し、OS1202を管理し、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ1120は、データセンタ運営会社1110が管理するOS1202及びアプリケーション1201を用いてサービスを提供する(矢印1204)。
As shown in FIG. 17, in this type, the data
以上、いずれのクラウドサービスの類型1〜4においても、サービスプロバイダ1120がサービスを提供する。また、例えば、サービスプロバイダ又はデータセンタ運営会社は、OS、アプリケーション又はビックデータのデータベースなどを自ら開発してもよいし、また、第三者に外注させてもよい。
As described above, the
その他、実施の形態1、2、その他の変形例及びサービスの類型1〜4に対して当業者が思いつく各種変形を施して得られる形態や、本発明の趣旨を逸脱しない範囲で実施の形態1、2、その他の変形例及びサービスの類型1〜4における構成要素及び機能を任意に組み合わせることで実現される形態も本発明に含まれる。
In addition,
本発明にかかる類似検索方法は、暗号化により特徴量の内容を秘匿しながら類似検索を行うことができ、例えば、症例などの類似検索を行うコンピュータシステムに適用することができる。 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
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.
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)
| 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)
| 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 |
-
2016
- 2016-01-18 JP JP2016007480A patent/JP6567979B2/en active Active
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 |