JP2019168590A - Information processing method and information processing system - Google Patents

Information processing method and information processing system Download PDF

Info

Publication number
JP2019168590A
JP2019168590A JP2018055958A JP2018055958A JP2019168590A JP 2019168590 A JP2019168590 A JP 2019168590A JP 2018055958 A JP2018055958 A JP 2018055958A JP 2018055958 A JP2018055958 A JP 2018055958A JP 2019168590 A JP2019168590 A JP 2019168590A
Authority
JP
Japan
Prior art keywords
public key
providing server
encrypted
model
learning model
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.)
Granted
Application number
JP2018055958A
Other languages
Japanese (ja)
Other versions
JP6904916B2 (en
Inventor
清良 披田野
Seira Hidano
清良 披田野
知明 三本
Tomoaki Mitsumoto
知明 三本
和英 福島
Kazuhide Fukushima
和英 福島
清本 晋作
Shinsaku Kiyomoto
晋作 清本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2018055958A priority Critical patent/JP6904916B2/en
Publication of JP2019168590A publication Critical patent/JP2019168590A/en
Application granted granted Critical
Publication of JP6904916B2 publication Critical patent/JP6904916B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide a technology capable of acquiring a processing result while keeping a learning model and processing target data in a concealed state.SOLUTION: A model generation part 110 of a model providing server 1 generates a learning model by using machine learning. An encryption part 112 encrypts the learning model by using a first public key, which is a public key of fully homomorphic encryption and generates an encrypted learning model. A transmission part 12 transmits the encrypted learning model to a service providing server 2. A receiving part 23 of the service providing server 2 receives the encrypted learning model from the model providing server 1 and receives encrypted processing target data obtained by encrypting processing target data by using the first public key from a user terminal 3. A model execution part 210 generates a first encryption output by using the encrypted learning model and the encrypted processing target data. A transmission part 22 transmits a second encryption output obtained by replacing the first encryption output with a cipher by a second public key generated by the user terminal 3 to the user terminal 3.SELECTED DRAWING: Figure 2

Description

本発明は情報処理方法及び情報処理システムに関し、特に、機械学習を用いて生成した学習モデルと、その学習モデルの処理対象とするデータとを秘匿化する技術に関する。   The present invention relates to an information processing method and an information processing system, and more particularly to a technique for concealing a learning model generated using machine learning and data to be processed by the learning model.

近年、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)の高速化、メモリの大容量化、及び機械学習技術が急速に進んできている。このため、数十万から百万といったオーダーの学習データを用いる機械学習が可能となり、精度の高い識別技術や分類技術が確立されつつある(非特許文献1参照)。   In recent years, the speed of CPU (Central Processing Unit) and GPU (Graphics Processing Unit), the capacity of memory, and machine learning technology have been rapidly advanced. For this reason, machine learning using learning data in the order of hundreds of thousands to millions is possible, and highly accurate identification techniques and classification techniques are being established (see Non-Patent Document 1).

Yangqing Jia, Evan Shelhamer, Jeff Donahue, Sergey Karayev, Jonathan Long, Ross Girshick, Sergio Guadarrama, and Trevor Darrell. Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the 22nd ACM international conference on Multimedia (pp. 675-678). ACM.Yangqing Jia, Evan Shelhamer, Jeff Donahue, Sergey Karayev, Jonathan Long, Ross Girshick, Sergio Guadarrama, and Trevor Darrell.Caffe: Convolutional architecture for fast feature embedding.In Proceedings of the 22nd ACM international conference on Multimedia (pp. 675-678 ). ACM.

大量の学習データに基づく機械学習を実行するためには大量の計算コストがかかる。また、大量の学習データを用意すること、及び用意した学習データを機械学習に用いるために加工する前処理にも膨大な労力を要する。一方で、機械学習によって生成された学習モデルはデジタルデータであり、その複製は容易である。したがって、学習モデルの作成者がユーザに利用させることを目的として学習モデルをユーザに提供すると、提供した学習モデルがその後不正に利用される恐れが生じる。   In order to execute machine learning based on a large amount of learning data, a large amount of calculation cost is required. In addition, enormous effort is required for preparing a large amount of learning data and preprocessing for processing the prepared learning data for use in machine learning. On the other hand, the learning model generated by machine learning is digital data, and its replication is easy. Therefore, if the learning model creator provides the user with a learning model for the purpose of causing the user to use the learning model, the provided learning model may be used illegally thereafter.

一方、学習モデルのユーザに学習モデル自体を提供せずに、通信ネットワークを介してユーザから処理対象データを取得し、学習モデルの処理結果のみをユーザに提供する態様も考えられる。しかしながら、この態様では、学習モデルに入力するデータに個人情報が含まれる等によって漏洩が問題となるデータの場合、ユーザは学習モデルの利用に二の足を踏みかねない。   On the other hand, a mode is also conceivable in which the processing model data is acquired from the user via the communication network and only the processing result of the learning model is provided to the user without providing the learning model itself to the user of the learning model. However, in this aspect, in the case of data that has a problem of leakage due to personal information included in the data input to the learning model, the user may take a second step in using the learning model.

本発明はこれらの点に鑑みてなされたものであり、学習モデル及び処理対象データを秘匿化した状態のまま処理結果を取得することができる技術を提供することを目的とする。   The present invention has been made in view of these points, and an object of the present invention is to provide a technique capable of acquiring a processing result while keeping a learning model and processing target data concealed.

本発明の第1の態様は、通信ネットワークを介して互いに通信可能な態様で接続するモデル提供サーバ、サービス提供サーバ、及びユーザ端末を含む情報処理システムにおいて実行される情報処理方法である。この方法は、前記モデル提供サーバが、機械学習を用いて作成した学習モデルを、完全準同型暗号の公開鍵である第1公開鍵を用いて暗号化して暗号化学習モデルを生成するステップと、前記モデル提供サーバが、前記暗号化学習モデルを前記サービス提供サーバに送信するステップと、前記モデル提供サーバが、前記第1公開鍵を前記ユーザ端末に送信するステップと、前記ユーザ端末が、前記モデル提供サーバから受信した前記第1公開鍵を用いて前記学習モデルの処理対象データを暗号化して暗号化処理対象データを生成するステップと、前記ユーザ端末が、前記暗号化処理対象データと、前記完全準同型暗号の公開鍵であって前記第1公開鍵とは異なる第2公開鍵とを前記サービス提供サーバに送信するステップと、前記ユーザ端末が、前記第2公開鍵を前記モデル提供サーバに送信するステップと、前記モデル提供サーバが、前記ユーザ端末から受信した前記第2公開鍵を用いて前記第1公開鍵に対応する第1秘密鍵を暗号化した第2公開鍵暗号化第1秘密鍵を生成するステップと、前記モデル提供サーバが、前記第2公開鍵暗号化第1秘密鍵を前記モデル提供サーバに送信するステップと、前記サービス提供サーバが、前記モデル提供サーバから受信した前記暗号化学習モデルと、前記ユーザ端末から受信した前記暗号化処理対象データとを用いて、前記第1公開鍵で暗号化された状態の前記処理対象データを入力とする前記学習モデルの出力である第1暗号化出力を取得するステップと、前記サービス提供サーバが、前記第1暗号化出力を前記第2公開鍵を用いて再度暗号化した二重暗号化出力を生成するステップと、前記サービス提供サーバが、前記第2公開鍵暗号化第1秘密鍵を用いて、前記第2公開鍵で暗号化された状態のまま前記二重暗号化出力のうち前記第1公開鍵による暗号化を復号して得られる第2暗号化出力を取得するステップと、前記サービス提供サーバが、前記第2暗号化出力を前記ユーザ端末に送信するステップと、前記ユーザ端末が、前記第2公開鍵に対応する第2秘密鍵を用いて、前記サービス提供サーバから受信した前記第2暗号化出力を復号するステップと、を含む。   A first aspect of the present invention is an information processing method executed in an information processing system including a model providing server, a service providing server, and a user terminal that are connected in a manner capable of communicating with each other via a communication network. In this method, the model providing server generates an encrypted learning model by encrypting a learning model created by using machine learning using a first public key that is a public key of completely homomorphic encryption; The model providing server transmits the encrypted learning model to the service providing server, the model providing server transmits the first public key to the user terminal, and the user terminal includes the model. Encrypting the processing target data of the learning model using the first public key received from the providing server to generate the encryption processing target data, the user terminal including the encryption processing target data, the complete processing target data, Transmitting a second public key, which is a homomorphic public key and different from the first public key, to the service providing server; and the user terminal Transmitting the second public key to the model providing server, and using the second public key received from the user terminal by the model providing server, a first secret key corresponding to the first public key. Generating an encrypted second public key encrypted first secret key, transmitting the second public key encrypted first secret key to the model providing server, and providing the service The processing target data encrypted by the first public key using the encryption learning model received from the model providing server by the server and the encryption processing target data received from the user terminal Obtaining a first encrypted output that is an output of the learning model with the input as input, and the service providing server retransmits the first encrypted output using the second public key. Generating an encrypted double-encrypted output; and wherein the service providing server uses the second public key-encrypted first secret key and is encrypted with the second public key. Obtaining a second encrypted output obtained by decrypting the encryption with the first public key out of the double encrypted output, and the service providing server transmits the second encrypted output to the user terminal And a step in which the user terminal decrypts the second encrypted output received from the service providing server using a second secret key corresponding to the second public key.

前記情報処理方法は、前記モデル提供サーバが、前記完全準同型暗号の公開鍵であって前記第1公開鍵及び前記第2公開鍵とは異なる第3公開鍵を生成するステップと、前記モデル提供サーバが、前記第3公開鍵で前記第1秘密鍵を暗号化した第3公開鍵暗号化第1秘密鍵を生成するステップと、前記モデル提供サーバが、前記第3公開鍵と前記第3公開鍵暗号化第1秘密鍵とを前記モデル提供サーバに送信するステップと、前記サービス提供サーバが、前記モデル提供サーバから受信した前記第3公開鍵を用いて、前記暗号化学習モデルを再度暗号化して二重暗号化学習モデルを生成するステップと、前記サービス提供サーバが、前記モデル提供サーバから受信した前記第3公開鍵暗号化第1秘密鍵を用いて、前記第3公開鍵で暗号化された状態のまま前記二重暗号化学習モデルのうち前記第1公開鍵による暗号化を復号するステップと、をさらに含んでもよい。   In the information processing method, the model providing server generates a third public key that is a public key of the completely homomorphic encryption and is different from the first public key and the second public key; A server generating a third public key encrypted first private key obtained by encrypting the first private key with the third public key; and the model providing server comprising the third public key and the third public key. Transmitting a key encryption first secret key to the model providing server; and the service providing server encrypts the encryption learning model again using the third public key received from the model providing server. Generating a double encryption learning model, and the service providing server is encrypted with the third public key using the third public key encrypted first secret key received from the model providing server. A step of decoding encrypted by said first public key of said double encrypted training model remains may further include a.

前記情報処理方法において、前記学習モデルは、前記学習モデルの処理対象データと前記学習モデルのモデルパラメータとの加法及び乗法の少なくともいずれか一方の演算の組み合わせを実行することで、前記処理対象データを入力とする前記学習モデルの出力を算出するように構成されていてもよい。   In the information processing method, the learning model executes the combination of at least one of addition and multiplication of the processing target data of the learning model and the model parameter of the learning model, thereby converting the processing target data. An output of the learning model as an input may be calculated.

本発明の第2の態様は、通信ネットワークを介して互いに通信可能な態様で接続するモデル提供サーバとサービス提供サーバとを含む情報処理システムである。このシステムにおいて、前記モデル提供サーバは、機械学習を用いて学習モデルを生成するモデル生成部と、完全準同型暗号の公開鍵である第1公開鍵を用いて前記学習モデルを暗号化して暗号化学習モデルを生成する暗号化部と、前記暗号化学習モデルを前記サービス提供サーバに送信するとともに、前記第1公開鍵をユーザ端末に送信する送信部と、前記完全準同型暗号の公開鍵であって前記第1公開鍵とは異なる第2公開鍵を前記ユーザ端末から受信する受信部と、を備える。前記暗号化部は、前記第2公開鍵を用いて、前記第1公開鍵に対応する第1秘密鍵を暗号化した第2公開鍵暗号化第1秘密鍵を生成し、前記送信部は、前記第2公開鍵暗号化第1秘密鍵を前記モデル提供サーバに送信する。また、前記サービス提供サーバは、前記モデル提供サーバから前記暗号化学習モデルを受信するとともに、前記ユーザ端末から前記第1公開鍵を用いて前記学習モデルの処理対象データを暗号化した暗号化処理対象データを受信する受信部と、前記暗号化学習モデルと前記暗号化処理対象データとを用いて、前記第1公開鍵で暗号化された状態の前記処理対象データを入力とする前記学習モデルの出力である第1暗号化出力を生成するモデル実行部と、前記第1暗号化出力を前記第2公開鍵を用いて再度暗号化した二重暗号化出力を生成する暗号化部と、前記第2公開鍵暗号化第1秘密鍵を用いて、前記第2公開鍵で暗号化された状態のまま前記二重暗号化出力のうち前記第1公開鍵による暗号化を復号して得られる第2暗号化出力を取得する復号部と、前記第2暗号化出力を前記ユーザ端末に送信する送信部と、を備える。   According to a second aspect of the present invention, there is provided an information processing system including a model providing server and a service providing server that are connected to each other through a communication network in a manner that enables communication with each other. In this system, the model providing server encrypts and encrypts the learning model using a model generation unit that generates a learning model using machine learning and a first public key that is a public key of a completely homomorphic encryption An encryption unit that generates a learning model, a transmission unit that transmits the encrypted learning model to the service providing server and transmits the first public key to a user terminal, and a public key of the completely homomorphic encryption. Receiving a second public key different from the first public key from the user terminal. The encryption unit generates a second public key encrypted first secret key obtained by encrypting a first secret key corresponding to the first public key using the second public key, and the transmission unit includes: The second public key encrypted first secret key is transmitted to the model providing server. The service providing server receives the encrypted learning model from the model providing server, and encrypts the processing target data of the learning model using the first public key from the user terminal. Using the receiving unit that receives data, the encrypted learning model, and the encryption processing target data, the learning model output having the processing target data encrypted with the first public key as an input A model execution unit that generates a first encrypted output, an encryption unit that generates a double encrypted output obtained by re-encrypting the first encrypted output using the second public key, and the second A second cipher obtained by decrypting the encryption with the first public key out of the double encrypted output while being encrypted with the second public key using the public key encrypted first secret key Get the output Comprising a decoding unit, and a transmission unit transmitting the second encrypted output to the user terminal.

本発明によれば、学習モデル及び処理対象データを秘匿化した状態のまま処理結果を取得することができる技術を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the technique which can acquire a processing result can be provided with the learning model and the process target data kept secret.

実施の形態に係る情報処理システムの構成の概要を模式的に示す図である。It is a figure which shows typically the outline | summary of a structure of the information processing system which concerns on embodiment. 実施の形態に係るモデル提供サーバ、サービス提供サーバ、及びユーザ端末の機能構成を模式的に示す図である。It is a figure which shows typically the function structure of the model provision server which concerns on embodiment, a service provision server, and a user terminal. 実施の形態に係る情報処理システムで実行される処理の流れを説明するためのシーケンス図の前半部を示す図である。It is a figure which shows the first half part of the sequence diagram for demonstrating the flow of the process performed with the information processing system which concerns on embodiment. 実施の形態に係る情報処理システムで実行される処理の流れを説明するためのシーケンス図の後半部を示す図である。It is a figure which shows the second half part of the sequence diagram for demonstrating the flow of the process performed with the information processing system which concerns on embodiment. 実施の形態に係るモデル提供サーバ、サービス提供サーバ、及びユーザ端末がそれぞれ生成又は取得するデータの一覧を表形式でまとめた図である。It is the figure which put together the list | wrist of the data which the model provision server which concerns on embodiment, a service provision server, and a user terminal each produces | generates or acquires in a tabular form. 実施の形態に係る情報処理システムで実行される暗号鍵の更新処理を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the update process of the encryption key performed with the information processing system which concerns on embodiment.

<実施の形態の概要>
図1は、実施の形態に係る情報処理システムSの構成の概要を模式的に示す図である。以下、図1を参照して、実施の形態の概要を述べる。
<Outline of the embodiment>
FIG. 1 is a diagram schematically illustrating an outline of a configuration of an information processing system S according to an embodiment. Hereinafter, an outline of the embodiment will be described with reference to FIG.

図1に示すように、実施の形態に係る情報処理システムSは、モデル提供サーバ1、サービス提供サーバ2、及びユーザ端末3を含んでいる。モデル提供サーバ1、サービス提供サーバ2、及びユーザ端末3は、通信ネットワークNを介して互いに通信可能な態様で接続している。   As shown in FIG. 1, the information processing system S according to the embodiment includes a model providing server 1, a service providing server 2, and a user terminal 3. The model providing server 1, the service providing server 2, and the user terminal 3 are connected to each other via a communication network N in such a manner that they can communicate with each other.

モデル提供サーバ1は、機械学習によって学習モデルを生成する装置である。モデル提供サーバ1が生成する学習モデルは、処理対象とするデータを入力として、何らかの処理結果を出力するように構成されたデジタルデータである。一例として、モデル提供サーバ1が生成する学習モデルは、処理対象として画像データが入力されると、その画像データに含まれる被写体を認識して被写体の種類、数、及び画像中の場所等を出力する画像認識エンジンである。   The model providing server 1 is a device that generates a learning model by machine learning. The learning model generated by the model providing server 1 is digital data configured to receive data to be processed and output some processing result. For example, when image data is input as a processing target, the learning model generated by the model providing server 1 recognizes a subject included in the image data and outputs the type, number, and location of the subject in the image. It is an image recognition engine.

サービス提供サーバ2は、モデル提供サーバ1が生成した学習モデルを受け取り、ユーザにサービスを提供する装置である。サービス提供サーバ2は、ユーザが使用するユーザ端末3から通信ネットワークNを介して処理対象のデータを受け取る。続いて、サービス提供サーバ2は、受け取ったデータを学習モデルに適用し、出力を取得する。最後に、サービス提供サーバ2は、取得した学習モデルの出力を通信ネットワークNを介してユーザ端末3に送信する。   The service providing server 2 is a device that receives the learning model generated by the model providing server 1 and provides a service to the user. The service providing server 2 receives data to be processed from the user terminal 3 used by the user via the communication network N. Subsequently, the service providing server 2 applies the received data to the learning model and acquires an output. Finally, the service providing server 2 transmits the obtained learning model output to the user terminal 3 via the communication network N.

ここで、モデル提供サーバ1は、学習モデルを完全準同型暗号(Fully Homomorphic. Encryption)の公開鍵で暗号化した学習モデルを、サービス提供サーバ2に送信する。また、ユーザ端末3は、学習モデルの暗号化に用いられた公開鍵をモデル提供サーバ1から受信しており、その公開鍵を用いて処理対象のデータを暗号化した後に、サービス提供サーバ2に送信する。すなわち、サービス提供サーバ2は、同じ公開鍵で暗号化された学習モデルと処理対象のデータとを取得することになる。   Here, the model providing server 1 transmits to the service providing server 2 a learning model obtained by encrypting the learning model with a public key of fully homomorphic encryption (Fully Homomorphic. Encryption). The user terminal 3 receives the public key used for encrypting the learning model from the model providing server 1, encrypts the data to be processed using the public key, and then sends the data to the service providing server 2. Send. That is, the service providing server 2 acquires the learning model encrypted with the same public key and the data to be processed.

完全準同型暗号は、データを暗号化したまま、加法演算及び乗法演算が可能な暗号である。具体的には、ふたつの数値の平文をa及びbとし、a及びbをそれぞれ暗号化したものをEnc(a)及びEnc(b)とする。また、aとbとの加法a+bを暗号化したものをEnc(a+b)、aとbとの乗法a×bを暗号化したものをEnc(a×b)とする。このとき、完全準同型暗号では、以下の式(1)及び式(2)が成り立つ。
Enc(a)+Enc(b)=Enc(a+b) (1)
Enc(a)×Enc(b)=Enc(a×b) (2)
The fully homomorphic encryption is an encryption that can perform an addition operation and a multiplication operation while encrypting data. Specifically, the plaintext of the two numerical values is a and b, and the encrypted a and b are Enc (a) and Enc (b). Further, Enc (a + b) is obtained by encrypting the addition a + b of a and b, and Enc (a × b) is obtained by encrypting the multiplication a × b of a and b. At this time, the following equations (1) and (2) are established in perfect homomorphic encryption.
Enc (a) + Enc (b) = Enc (a + b) (1)
Enc (a) x Enc (b) = Enc (a x b) (2)

実施の形態に係るモデル提供サーバ1が生成する学習モデルは、学習モデルの処理対象データと学習モデルのモデルパラメータとの加法及び乗法の少なくともいずれか一方の演算の組み合わせを実行することで、処理対象データを入力とする学習モデルの出力を算出するように構成されている。言い換えると、実施の形態に係るモデル提供サーバ1が生成する学習モデルは、処理の途中にシグモイド関数等の非線形関数が含まれず、加法演算又は乗法演算のみ含まれる。これにより、実施の形態に係るサービス提供サーバ2は、完全準同型暗号の公開鍵で暗号化された学習モデルと処理対象のデータとを取得し、暗号化されたままの状態で処理対象のデータを学習モデルに適用することができる。   The learning model generated by the model providing server 1 according to the embodiment is obtained by executing a combination of at least one of addition and multiplication of the processing target data of the learning model and the model parameter of the learning model. An output of a learning model that receives data is calculated. In other words, the learning model generated by the model providing server 1 according to the embodiment does not include a non-linear function such as a sigmoid function in the middle of processing, and includes only an addition operation or a multiplication operation. As a result, the service providing server 2 according to the embodiment acquires the learning model and the processing target data encrypted with the public key of the completely homomorphic encryption, and the processing target data remains encrypted. Can be applied to the learning model.

なお、サービス提供サーバ2が処理対象のデータを学習モデルに適用することで得られる出力も、モデル提供サーバ1が生成した公開鍵によって暗号化されたままの状態である。このため、サービス提供サーバ2が暗号化された状態の出力をユーザ端末3に送信しても、ユーザ端末3は出力内容を確認することができない。   Note that the output obtained by applying the data to be processed by the service providing server 2 to the learning model is also encrypted with the public key generated by the model providing server 1. For this reason, even if the service providing server 2 transmits the encrypted output to the user terminal 3, the user terminal 3 cannot confirm the output content.

そこで、サービス提供サーバ2は、モデル提供サーバ1が生成した公開鍵で暗号された状態の出力を、ユーザ端末3が生成した別の公開鍵で暗号化した状態に書き換えてからユーザ端末3に送信する。これにより、ユーザ端末3は、自身が所有する秘密鍵で出力を復号することにより、出力内容を確認することができる。   Therefore, the service providing server 2 rewrites the output encrypted with the public key generated by the model providing server 1 into a state encrypted with another public key generated by the user terminal 3, and then transmits it to the user terminal 3. To do. As a result, the user terminal 3 can confirm the output contents by decrypting the output with the private key owned by itself.

このように、実施の形態に係る情報処理システムSによれば、サービス提供サーバ2及びユーザ端末3は、平文の状態の学習モデルを取得することができない。また、モデル提供サーバ1及びサービス提供サーバ2は、平文の状態の処理対象データを取得することができない。それにもかかわらず、ユーザ端末3は、処理対象データを学習モデルに適用した結果を取得することができる。したがって、実施の形態に係る情報処理システムSは、学習モデル及び処理対象データを秘匿化した状態のまま処理結果を取得することができ、学習モデルと処理対象データとの漏洩を抑制できる。   As described above, according to the information processing system S according to the embodiment, the service providing server 2 and the user terminal 3 cannot acquire a learning model in a plain text state. Further, the model providing server 1 and the service providing server 2 cannot acquire processing target data in a plain text state. Nevertheless, the user terminal 3 can acquire the result of applying the processing target data to the learning model. Therefore, the information processing system S according to the embodiment can acquire the processing result while keeping the learning model and the processing target data concealed, and can suppress leakage between the learning model and the processing target data.

<実施の形態に係るモデル提供サーバ1、サービス提供サーバ2、及びユーザ端末3の機能構成>
図2は、実施の形態に係るモデル提供サーバ1、サービス提供サーバ2、及びユーザ端末3の機能構成を模式的に示す図である。モデル提供サーバ1は、記憶部10、制御部11、送信部12、及び受信部13を備える。サービス提供サーバ2は、記憶部20、制御部21、送信部22、及び受信部23を備える。ユーザ端末3は、記憶部30、制御部31、送信部32、及び受信部33を備える。
<Functional configuration of model providing server 1, service providing server 2, and user terminal 3 according to the embodiment>
FIG. 2 is a diagram schematically illustrating a functional configuration of the model providing server 1, the service providing server 2, and the user terminal 3 according to the embodiment. The model providing server 1 includes a storage unit 10, a control unit 11, a transmission unit 12, and a reception unit 13. The service providing server 2 includes a storage unit 20, a control unit 21, a transmission unit 22, and a reception unit 23. The user terminal 3 includes a storage unit 30, a control unit 31, a transmission unit 32, and a reception unit 33.

記憶部10は、モデル提供サーバ1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)やモデル提供サーバ1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置である。   The storage unit 10 includes a ROM (Read Only Memory) that stores a BIOS (Basic Input Output System) of a computer that implements the model providing server 1, a RAM (Random Access Memory) that is a work area of the model providing server 1, an OS ( Operating system), application programs, and mass storage devices such as HDDs (Hard Disk Drives) and SSDs (Solid State Drives) that store various types of information referred to when the application programs are executed.

同様に、記憶部20は、サービス提供サーバ2を実現するコンピュータのBIOS等を格納するROMやサービス提供サーバ2の作業領域となるRAM、OSやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。さらに、記憶部30は、ユーザ端末3を実現するコンピュータのBIOS等を格納するROMやユーザ端末3の作業領域となるRAM、OSやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。   Similarly, the storage unit 20 includes a ROM that stores a BIOS of a computer that implements the service providing server 2, a RAM that is a work area of the service providing server 2, an OS, an application program, and various types that are referred to when executing the application program. This is a large-capacity storage device such as an HDD or SSD for storing the information. Further, the storage unit 30 stores a ROM that stores a BIOS of a computer that implements the user terminal 3, a RAM that is a work area of the user terminal 3, an OS, an application program, and various types of information that are referred to when the application program is executed. It is a mass storage device such as an HDD or SSD for storing.

制御部11は、モデル提供サーバ1のCPUやGPU等のプロセッサであり、記憶部10に記憶されたプログラムを実行することによってモデル生成部110、鍵生成部111、及び暗号化部112として機能する。同様に、制御部21は、サービス提供サーバ2のCPUやGPU等のプロセッサであり、記憶部20に記憶されたプログラムを実行することによってモデル実行部210、暗号化部211、及び復号部212として機能する。さらに、制御部31は、ユーザ端末3のCPUやGPU等のプロセッサであり、記憶部30に記憶されたプログラムを実行することによって暗号化部310、鍵生成部311、及び復号部312として機能する。   The control unit 11 is a processor such as a CPU or GPU of the model providing server 1 and functions as a model generation unit 110, a key generation unit 111, and an encryption unit 112 by executing a program stored in the storage unit 10. . Similarly, the control unit 21 is a processor such as a CPU or a GPU of the service providing server 2 and executes a program stored in the storage unit 20 as a model execution unit 210, an encryption unit 211, and a decryption unit 212. Function. Further, the control unit 31 is a processor such as a CPU or a GPU of the user terminal 3 and functions as an encryption unit 310, a key generation unit 311, and a decryption unit 312 by executing a program stored in the storage unit 30. .

なお、図2は、モデル提供サーバ1及びサービス提供サーバ2が単一の装置で構成されている場合の例を示している。しかしながら、モデル提供サーバ1及びサービス提供サーバ2は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部11及び制御部21を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。   FIG. 2 shows an example in which the model providing server 1 and the service providing server 2 are configured by a single device. However, the model providing server 1 and the service providing server 2 may be realized by calculation resources such as a plurality of processors and memories, for example, like a cloud computing system. In this case, each part which comprises the control part 11 and the control part 21 is implement | achieved when at least any one of a several different processor runs a program.

<情報処理システムSで実行される処理のシーケンス図>
図3は、実施の形態に係る情報処理システムSで実行される処理の流れを説明するためのシーケンス図の前半部を示す図である。また、図4は、実施の形態に係る情報処理システムSで実行される処理の流れを説明するためのシーケンス図の後半部分を示す図である。以下、モデル提供サーバ1、サービス提供サーバ2、及びユーザ端末3が連携して実行する処理を、図2、図3、及び図4を参照して説明する。
<Sequence diagram of processing executed in information processing system S>
FIG. 3 is a diagram illustrating a first half of a sequence diagram for explaining a flow of processing executed in the information processing system S according to the embodiment. FIG. 4 is a diagram showing the latter half of the sequence diagram for explaining the flow of processing executed by the information processing system S according to the embodiment. Hereinafter, processing executed in cooperation by the model providing server 1, the service providing server 2, and the user terminal 3 will be described with reference to FIG. 2, FIG. 3, and FIG.

モデル生成部110は、機械学習を用いて学習モデルを生成する(S2)。具体的には、モデル生成部110は、あらかじめ収集した学習用データをニューラルネットワーク、SVM(Support Vector Machine)、ブースティング等の既知の機械学習で処理することにより、学習モデルを生成する。ここで、モデル生成部110は、既知の学習モデルにおいて非線形な関数が用いられている場合には、あらかじめ線形関数で近似することによって乗法演算及び加法演算のみの学習モデルに置き換えてから学習を実行する。   The model generation unit 110 generates a learning model using machine learning (S2). Specifically, the model generation unit 110 generates a learning model by processing learning data collected in advance by a known machine learning such as a neural network, SVM (Support Vector Machine), or boosting. Here, when a nonlinear function is used in a known learning model, the model generation unit 110 performs learning after replacing the learning model with only a multiplicative operation and an additive operation by approximation with a linear function in advance. To do.

鍵生成部111は、完全準同型暗号の公開鍵方式の暗号鍵を生成する(S4)。公開鍵方式の暗号鍵であるため、鍵生成部111は、公開鍵と、その公開鍵に対応する秘密鍵とを生成する。後述するが、完全準同型暗号の公開鍵方式の暗号鍵はサービス提供サーバ2によっても生成される。したがって、鍵生成部111が生成する公開鍵を「第1公開鍵pk1」又は単に「pk1」と記載する。同様に、第1秘密鍵を「第1秘密鍵sk1」又は単に「sk1」と記載する。なお、鍵生成部111及びサービス提供サーバ2は、完全準同型暗号として、例えばBVG方式(Brakerski-Gentry-Vaikuntanathan cryptosystem)の暗号を用いればよい。   The key generation unit 111 generates a completely homomorphic public key encryption key (S4). Since it is a public key encryption key, the key generation unit 111 generates a public key and a secret key corresponding to the public key. As will be described later, a public key encryption key of completely homomorphic encryption is also generated by the service providing server 2. Therefore, the public key generated by the key generation unit 111 is described as “first public key pk1” or simply “pk1”. Similarly, the first secret key is described as “first secret key sk1” or simply “sk1”. The key generation unit 111 and the service providing server 2 may use, for example, a BVG (Brakerski-Gentry-Vaikuntanathan cryptosystem) cipher as the completely homomorphic cipher.

暗号化部112は、第1公開鍵pk1を用いて学習モデルを暗号化して暗号化学習モデルを生成する(S6)。以下、学習モデルを「学習モデルw」又は単に「w」と記載する。また、第1秘密鍵sk1で暗号化した学習モデルwを「暗号化学習モデルEnc(pk1,w)」又は単に「Enc(pk1,w)」と記載する。以下、公開鍵pkを用いてデータdを暗号化して得られるデータをEnc(pk,d)のように記載する。   The encryption unit 112 encrypts the learning model using the first public key pk1 to generate an encrypted learning model (S6). Hereinafter, the learning model is referred to as “learning model w” or simply “w”. The learning model w encrypted with the first secret key sk1 is referred to as “encrypted learning model Enc (pk1, w)” or simply “Enc (pk1, w)”. Hereinafter, data obtained by encrypting the data d using the public key pk is described as Enc (pk, d).

送信部12は、暗号化学習モデルEnc(pk1,w)をサービス提供サーバ2に送信する(S8)。また、送信部12は、第1公開鍵pk1をユーザ端末3に送信する(S10)。   The transmission unit 12 transmits the encrypted learning model Enc (pk1, w) to the service providing server 2 (S8). Further, the transmission unit 12 transmits the first public key pk1 to the user terminal 3 (S10).

ユーザ端末3の受信部33は、モデル提供サーバ1から送信された第1公開鍵pk1を受信する(S12)。暗号化部310は、第1公開鍵pk1を用いて学習モデルwの処理対象データxを暗号化して暗号化処理対象データEnc(pk1,x)を生成する(S14)。   The receiving unit 33 of the user terminal 3 receives the first public key pk1 transmitted from the model providing server 1 (S12). The encryption unit 310 encrypts the processing target data x of the learning model w using the first public key pk1 to generate the encryption processing target data Enc (pk1, x) (S14).

鍵生成部311は、完全準同型暗号の公開鍵であって第1公開鍵pk1とは異なる第2公開鍵pk2と、第2公開鍵pk2に対応する第2秘密鍵sk2とを含む第2暗号鍵を生成する(S16)。送信部32は、第2公開鍵pk2をモデル提供サーバ1及びサービス提供サーバ2に送信する(S18)。   The key generation unit 311 is a second cipher including a second public key pk2 which is a public key of complete homomorphic encryption and is different from the first public key pk1, and a second secret key sk2 corresponding to the second public key pk2. A key is generated (S16). The transmitting unit 32 transmits the second public key pk2 to the model providing server 1 and the service providing server 2 (S18).

モデル提供サーバ1の受信部13は、ユーザ端末3から第2公開鍵pk2を受信する(S20)。また、サービス提供サーバ2の受信部23は、モデル提供サーバ1から暗号化学習モデルEnc(pk1,w)を受信する(S22)。受信部23は、ユーザ端末3から第2公開鍵pk2を受信する(S24)。   The receiving unit 13 of the model providing server 1 receives the second public key pk2 from the user terminal 3 (S20). The receiving unit 23 of the service providing server 2 receives the encrypted learning model Enc (pk1, w) from the model providing server 1 (S22). The receiving unit 23 receives the second public key pk2 from the user terminal 3 (S24).

ユーザ端末3の送信部32は、暗号化処理対象データEnc(pk1,x)をサービス提供サーバ2に送信する(S26)。サービス提供サーバ2の受信部23は、ユーザ端末3から暗号化処理対象データEnc(pk1,x)を受信する(S28)。   The transmission unit 32 of the user terminal 3 transmits the encryption processing target data Enc (pk1, x) to the service providing server 2 (S26). The receiving unit 23 of the service providing server 2 receives the encryption processing target data Enc (pk1, x) from the user terminal 3 (S28).

モデル提供サーバ1の暗号化部112は、ユーザ端末3から受信した第2公開鍵pk2を用いて第1秘密鍵sk1を暗号化した第2公開鍵暗号化第1秘密鍵Enc(pk2,sk1)を生成する(S30)。送信部12は、第2公開鍵暗号化第1秘密鍵Enc(pk2,sk1)をサービス提供サーバ2に送信する(S32)。   The encryption unit 112 of the model providing server 1 uses the second public key pk2 received from the user terminal 3 to encrypt the first secret key sk1, and the second public key encrypted first secret key Enc (pk2, sk1). Is generated (S30). The transmission unit 12 transmits the second public key encrypted first secret key Enc (pk2, sk1) to the service providing server 2 (S32).

サービス提供サーバ2の受信部23は、モデル提供サーバ1から第2公開鍵暗号化第1秘密鍵Enc(pk2,sk1)を受信する(S34)。モデル実行部210は、暗号化学習モデルEnc(pk1,w)と暗号化処理対象データEnc(pk1,x)とを用いて、第1公開鍵pk1で暗号化された状態の処理対象データxを入力とする学習モデルwの出力である第1暗号化出力Enc(pk1,f(x))を生成する(S36)。 The receiving unit 23 of the service providing server 2 receives the second public key encrypted first secret key Enc (pk2, sk1) from the model providing server 1 (S34). The model execution unit 210 uses the encrypted learning model Enc (pk1, w) and the encryption processing target data Enc (pk1, x) to process the processing target data x in a state encrypted with the first public key pk1. first encryption output Enc is the output of the learning model w to input to generate a (pk1, f w (x) ) (S36).

暗号化部211は、第1暗号化出力Enc(pk1,f(x))を、ユーザ端末3から受信した第2公開鍵pk2を用いて再度暗号化した二重暗号化出力Enc(pk2,Enc(pk1,f(x)))を生成する(S38)。 Encryption unit 211 first encrypts the output Enc (pk1, f w (x )) , and the second two were re-encrypted using the public key pk2 double encrypted output Enc received from the user terminal 3 (pk2, Enc (pk1, f w (x ))) to generate a (S38).

復号部212は、モデル提供サーバ1から受信した第2公開鍵暗号化第1秘密鍵Enc(pk2,sk1)を用いて、第2公開鍵pk2で暗号化された状態のまま二重暗号化出力Enc(pk2,Enc(pk1,f(x)))のうち第1公開鍵pk1による暗号化を復号して得られる第2暗号化出力Enc(pk2,f(x))を取得する(S40)。送信部22は、第2暗号化出力Enc(pk2,f(x))をユーザ端末3に送信する(S42)。 The decryption unit 212 uses the second public key encrypted first secret key Enc (pk2, sk1) received from the model providing server 1, and performs double encryption output while being encrypted with the second public key pk2. Enc (pk2, Enc (pk1, f w (x))) first second encryption output Enc obtained by decrypting the encrypted public key pk1 (pk2, f w (x )) to get out of ( S40). Transmission unit 22 transmits the second encrypted output Enc (pk2, f w (x )) to the user terminal 3 (S42).

ユーザ端末3の受信部33は、サービス提供サーバ2から第2暗号化出力Enc(pk2,f(x))を受信する(S44)。復号部312は、第2秘密鍵sk2を用いて、サービス提供サーバ2から受信した第2暗号化出力第2暗号化出力Enc(pk2,f(x))を復号する(S46)。これにより、ユーザ端末3は、暗号化されていない処理対象データxを入力とする学習モデルwの出力f(x)を得ることができる。 Receiver 33 of the user terminal 3 receives from the service providing server 2 second encrypted output Enc (pk2, f w (x )) (S44). Decoding unit 312, using the second secret key sk2, second encrypted output second encrypted output Enc received from the service providing server 2 (pk2, f w (x )) for decoding the (S46). Thereby, the user terminal 3 can obtain the output f w (x) of the learning model w that receives the unencrypted processing target data x.

図5(a)−(c)は、実施の形態に係るモデル提供サーバ1、サービス提供サーバ2、及びユーザ端末3がそれぞれ生成又は取得するデータの一覧を表形式でまとめた図である。図5(a)に示すように、モデル提供サーバ1は、学習モデルw、第1公開鍵pk1、及び第1秘密鍵sk1を生成し、ユーザ端末3から第2公開鍵pk2を取得する。モデル提供サーバ1はさらに、第2公開鍵pk2を用いて第1秘密鍵sk1を暗号化した第2公開鍵暗号化第1秘密鍵Enc(pk2,sk1)も生成する。   FIGS. 5A to 5C are diagrams in which a list of data generated or acquired by the model providing server 1, the service providing server 2, and the user terminal 3 according to the embodiment is summarized in a table format. As shown in FIG. 5A, the model providing server 1 generates a learning model w, a first public key pk1, and a first secret key sk1, and acquires a second public key pk2 from the user terminal 3. The model providing server 1 further generates a second public key encrypted first secret key Enc (pk2, sk1) obtained by encrypting the first secret key sk1 using the second public key pk2.

図5(b)に示すように、サービス提供サーバ2は、モデル提供サーバ1から暗号化学習モデルEnc(pk1,w)と第2公開鍵暗号化第1秘密鍵Enc(pk2,sk1)とを取得する。また、サービス提供サーバ2は、ユーザ端末3から第2公開鍵pk2と暗号化処理対象データEnc(pk1,x)とを取得する。   As shown in FIG. 5B, the service providing server 2 receives the encrypted learning model Enc (pk1, w) and the second public key encrypted first secret key Enc (pk2, sk1) from the model providing server 1. get. In addition, the service providing server 2 acquires the second public key pk2 and the encryption processing target data Enc (pk1, x) from the user terminal 3.

サービス提供サーバ2は、暗号化学習モデルEnc(pk1,w)と暗号化処理対象データEnc(pk1,x)とに基づいて、第1暗号化出力Enc(pk1,f(x))を生成する。サービス提供サーバ2は、第2公開鍵pk2を用いて第1暗号化出力Enc(pk1,f(x))を暗号化した二重暗号化出力Enc(pk2,Enc(pk1,f(x)))を生成する。さらに、サービス提供サーバ2は、第2公開鍵暗号化第1秘密鍵Enc(pk2,sk1)を用いて二重暗号化出力Enc(pk2,Enc(pk1,f(x)))を復号して第2暗号化出力Enc(pk2,f(x))も生成する。 The service providing server 2 generates the first encrypted output Enc (pk1, f w (x)) based on the encryption learning model Enc (pk1, w) and the encryption processing target data Enc (pk1, x). To do. The service providing server 2, the first encrypted output Enc using the second public key pk2 (pk1, f w (x )) by encrypting the double-encrypted output Enc (pk2, Enc (pk1, f w (x ))). Further, the service providing server 2 decrypts the double encrypted output Enc (pk2, Enc (pk1, f w (x))) using the second public key encrypted first secret key Enc (pk2, sk1). Te second encrypted output Enc (pk2, f w (x )) is also generated.

図5(c)に示すように、ユーザ端末3は、処理対象データx、第2公開鍵pk2、第2秘密鍵sk2を生成する。ユーザ端末3は、モデル提供サーバ1から第1公開鍵pk1を取得する。ユーザ端末3は、第1公開鍵pk1を用いて処理対象データxを暗号化した暗号化処理対象データEnc(pk1,x)を生成する。さらに、ユーザ端末3は、サービス提供サーバ2から第2暗号化出力Enc(pk2,f(x))を取得する。ユーザ端末3は、第2秘密鍵sk2を用いて第2暗号化出力Enc(pk2,f(x))を復号することにより、処理対象データxを入力とする学習モデルwの出力f(x)を生成する。 As shown in FIG. 5C, the user terminal 3 generates processing target data x, a second public key pk2, and a second secret key sk2. The user terminal 3 acquires the first public key pk1 from the model providing server 1. The user terminal 3 generates encrypted processing target data Enc (pk1, x) obtained by encrypting the processing target data x using the first public key pk1. Furthermore, the user terminal 3 acquires from the service providing server 2 second encrypted output Enc (pk2, f w (x )). The user terminal 3 uses the second secret key sk2 to decrypt the second encrypted output Enc (pk2, f w (x)), thereby outputting the output f w ( x).

このように、実施の形態に係るモデル提供サーバ1が生成した学習モデルwは、平文のままでサービス提供サーバ2又はユーザ端末3に送信されることはない。また、サービス提供サーバ2及びユーザ端末3はいずれも、暗号化された学習モデルwを復号するための秘密鍵を取得することはない。したがって、実施の形態に係る情報処理システムSは、学習モデルwを秘匿することができ、学習モデルwが漏洩することを抑制することができる。   Thus, the learning model w generated by the model providing server 1 according to the embodiment is not transmitted to the service providing server 2 or the user terminal 3 in plain text. In addition, neither the service providing server 2 nor the user terminal 3 acquires a secret key for decrypting the encrypted learning model w. Therefore, the information processing system S according to the embodiment can conceal the learning model w and can prevent the learning model w from leaking.

また、実施の形態に係るユーザ端末3が生成した処理対象データxは、平文のままでモデル提供サーバ1又はサービス提供サーバ2に送信されることはない。さらに、モデル提供サーバ1及びサービス提供サーバ2はいずれも、暗号化された処理対象データxを復号するための秘密鍵を取得することはない。したがって、実施の形態に係る情報処理システムSは、処理対象データxを秘匿することができ、処理対象データxが漏洩することを抑制することができる。   Further, the processing target data x generated by the user terminal 3 according to the embodiment is not transmitted to the model providing server 1 or the service providing server 2 in plain text. Furthermore, neither the model providing server 1 nor the service providing server 2 acquires a secret key for decrypting the encrypted processing target data x. Therefore, the information processing system S according to the embodiment can conceal the processing target data x and can suppress the processing target data x from leaking.

(学習モデルwの暗号鍵の更新)
上述したように、実施の形態に係るモデル提供サーバ1は、学習モデルwを暗号化した状態でサービス提供サーバ2に送信する。ここで、学習モデルwを暗号化する公開鍵を定期的に更新できれば、万が一公開鍵に対応する秘密鍵が漏洩したとしても、学習モデルを漏洩から守ることができる。そこで、以下、学習モデルwを暗号化する公開鍵の更新処理について説明する。
(Renewal of encryption key of learning model w)
As described above, the model providing server 1 according to the embodiment transmits the learning model w to the service providing server 2 in an encrypted state. Here, if the public key for encrypting the learning model w can be updated periodically, the learning model can be protected from leakage even if the private key corresponding to the public key is leaked. Therefore, a public key update process for encrypting the learning model w will be described below.

図6は、実施の形態に係る情報処理システムSで実行される暗号鍵の更新処理を説明するためのシーケンス図である。モデル提供サーバ1の鍵生成部111は、完全準同型暗号の公開鍵であって第1公開鍵pk1及び第2公開鍵pk2とは異なる第3公開鍵pk3と、第3公開鍵pk3に対応する第3秘密鍵sk3とを含む第3暗号鍵を生成する(S48)。   FIG. 6 is a sequence diagram for explaining encryption key update processing executed in the information processing system S according to the embodiment. The key generation unit 111 of the model providing server 1 corresponds to a third public key pk3 and a third public key pk3 that are public keys of completely homomorphic encryption and are different from the first public key pk1 and the second public key pk2. A third encryption key including the third secret key sk3 is generated (S48).

暗号化部112は、第3公開鍵pk3で第1秘密鍵sk1を暗号化した第3公開鍵暗号化第1秘密鍵Enc(pk3,sk1)を生成する(S50)。送信部12は、第3公開鍵pk3と第3公開鍵暗号化第1秘密鍵Enc(pk3,sk1)とをサービス提供サーバ2に送信する(S52)。   The encryption unit 112 generates a third public key encrypted first secret key Enc (pk3, sk1) obtained by encrypting the first secret key sk1 with the third public key pk3 (S50). The transmission unit 12 transmits the third public key pk3 and the third public key encrypted first secret key Enc (pk3, sk1) to the service providing server 2 (S52).

サービス提供サーバ2の受信部23は、モデル提供サーバ1から第3公開鍵pk3と第3公開鍵暗号化第1秘密鍵Enc(pk3,sk1)とを受信する(S54)。暗号化部211は、第3公開鍵pk3を用いて、暗号化学習モデルEnc(pk1,w)を再度暗号化して二重暗号化学習モデル暗号化学習モデルEnc(pk3,Enc(pk1,w))を生成する(S56)。   The receiving unit 23 of the service providing server 2 receives the third public key pk3 and the third public key encrypted first secret key Enc (pk3, sk1) from the model providing server 1 (S54). The encryption unit 211 re-encrypts the encrypted learning model Enc (pk1, w) using the third public key pk3, and double-encrypted learning model Encrypted learning model Enc (pk3, Enc (pk1, w)) ) Is generated (S56).

復号部212は、第3公開鍵暗号化第1秘密鍵Enc(pk3,sk1)を用いて、第3公開鍵pk3で暗号化された状態のまま二重暗号化学習モデル暗号化学習モデルEnc(pk3,Enc(pk1,w))のうち第1公開鍵pk1による暗号化を復号する(S58)。これにより、復号部212は、第3公開鍵pk3で暗号化した学習モデルwであるEnc(pk3,w)を生成することができる。   The decryption unit 212 uses the third public key encrypted first secret key Enc (pk3, sk1) to keep the double encrypted learning model encrypted learning model Enc ( The encryption with the first public key pk1 in pk3, Enc (pk1, w)) is decrypted (S58). Thereby, the decryption unit 212 can generate Enc (pk3, w) that is the learning model w encrypted with the third public key pk3.

以上より、情報処理システムSは、サービス提供サーバ2が保持する学習モデルwの暗号鍵を更新することができる。例えば、数十万から百万といったオーダーの大量の学習データを用いる機械学習で生成した学習モデルwはデータサイズも大きく、また、暗号化後のデータサイズも同様である。したがって、モデル提供サーバ1が第3公開鍵pk3で学習モデルwを暗号化した後にサービス提供サーバ2に送信する場合と比較して、上述した暗号鍵の更新処理は、通信ネットワークNを経由するデータ量を大幅に削減できる点で有利である。   As described above, the information processing system S can update the encryption key of the learning model w held by the service providing server 2. For example, the learning model w generated by machine learning using a large amount of learning data on the order of hundreds of thousands to millions has a large data size, and the data size after encryption is also the same. Therefore, as compared with the case where the model providing server 1 encrypts the learning model w with the third public key pk3 and then transmits it to the service providing server 2, the encryption key update processing described above is data that passes through the communication network N. This is advantageous in that the amount can be greatly reduced.

<実施の形態に係るモデル提供サーバ1が奏する効果>
以上説明したように、実施の形態に係るモデル提供サーバ1によれば、学習モデル及び処理対象データを秘匿化した状態のまま処理結果を取得することができる。
<Effects produced by model providing server 1 according to the embodiment>
As described above, according to the model providing server 1 according to the embodiment, the processing result can be acquired while the learning model and the processing target data are kept secret.

以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。   As mentioned above, although this invention was demonstrated using embodiment, the technical scope of this invention is not limited to the range as described in the said embodiment, A various deformation | transformation and change are possible within the range of the summary. is there. For example, the specific embodiments of device distribution / integration are not limited to the above-described embodiments, and all or a part of them may be configured to be functionally or physically distributed / integrated in arbitrary units. Can do. In addition, new embodiments generated by any combination of a plurality of embodiments are also included in the embodiments of the present invention. The effect of the new embodiment produced by the combination has the effect of the original embodiment.

1・・・モデル提供サーバ
10・・・記憶部
11・・・制御部
110・・・モデル生成部
111・・・鍵生成部
112・・・暗号化部
12・・・送信部
13・・・受信部
2・・・サービス提供サーバ
20・・・記憶部
21・・・制御部
210・・・モデル実行部
211・・・暗号化部
212・・・復号部
22・・・送信部
23・・・受信部
3・・・ユーザ端末
30・・・記憶部
31・・・制御部
310・・・暗号化部
311・・・鍵生成部
312・・・復号部
32・・・送信部
33・・・受信部
N・・・通信ネットワーク
S・・・情報処理システム
DESCRIPTION OF SYMBOLS 1 ... Model provision server 10 ... Memory | storage part 11 ... Control part 110 ... Model generation part 111 ... Key generation part 112 ... Encryption part 12 ... Transmission part 13 ... Receiving unit 2 ... service providing server 20 ... storage unit 21 ... control unit 210 ... model execution unit 211 ... encryption unit 212 ... decryption unit 22 ... transmission unit 23 ...・ Receiving unit 3... User terminal 30... Storage unit 31... Control unit 310.・ Receiver N ... Communication network S ... Information processing system

Claims (4)

通信ネットワークを介して互いに通信可能な態様で接続するモデル提供サーバ、サービス提供サーバ、及びユーザ端末を含む情報処理システムにおいて実行される情報処理方法であって、
前記モデル提供サーバが、機械学習を用いて作成した学習モデルを、完全準同型暗号の公開鍵である第1公開鍵を用いて暗号化して暗号化学習モデルを生成するステップと、
前記モデル提供サーバが、前記暗号化学習モデルを前記サービス提供サーバに送信するステップと、
前記モデル提供サーバが、前記第1公開鍵を前記ユーザ端末に送信するステップと、
前記ユーザ端末が、前記モデル提供サーバから受信した前記第1公開鍵を用いて前記学習モデルの処理対象データを暗号化して暗号化処理対象データを生成するステップと、
前記ユーザ端末が、前記暗号化処理対象データと、前記完全準同型暗号の公開鍵であって前記第1公開鍵とは異なる第2公開鍵とを前記サービス提供サーバに送信するステップと、
前記ユーザ端末が、前記第2公開鍵を前記モデル提供サーバに送信するステップと、
前記モデル提供サーバが、前記ユーザ端末から受信した前記第2公開鍵を用いて前記第1公開鍵に対応する第1秘密鍵を暗号化した第2公開鍵暗号化第1秘密鍵を生成するステップと、
前記モデル提供サーバが、前記第2公開鍵暗号化第1秘密鍵を前記モデル提供サーバに送信するステップと、
前記サービス提供サーバが、前記モデル提供サーバから受信した前記暗号化学習モデルと、前記ユーザ端末から受信した前記暗号化処理対象データとを用いて、前記第1公開鍵で暗号化された状態の前記処理対象データを入力とする前記学習モデルの出力である第1暗号化出力を取得するステップと、
前記サービス提供サーバが、前記第1暗号化出力を前記第2公開鍵を用いて再度暗号化した二重暗号化出力を生成するステップと、
前記サービス提供サーバが、前記第2公開鍵暗号化第1秘密鍵を用いて、前記第2公開鍵で暗号化された状態のまま前記二重暗号化出力のうち前記第1公開鍵による暗号化を復号して得られる第2暗号化出力を取得するステップと、
前記サービス提供サーバが、前記第2暗号化出力を前記ユーザ端末に送信するステップと、
前記ユーザ端末が、前記第2公開鍵に対応する第2秘密鍵を用いて、前記サービス提供サーバから受信した前記第2暗号化出力を復号するステップと、
を含む情報処理方法。
An information processing method executed in an information processing system including a model providing server, a service providing server, and a user terminal connected in a manner capable of communicating with each other via a communication network,
The model providing server encrypts a learning model created using machine learning using a first public key which is a public key of perfect homomorphic encryption to generate an encrypted learning model;
The model providing server transmitting the encrypted learning model to the service providing server;
The model providing server transmitting the first public key to the user terminal;
The user terminal encrypting processing target data of the learning model using the first public key received from the model providing server to generate encryption processing target data;
The user terminal transmitting the encryption processing target data and a second public key that is a public key of the completely homomorphic encryption different from the first public key to the service providing server;
The user terminal transmitting the second public key to the model providing server;
The model providing server generates a second public key encrypted first secret key obtained by encrypting a first secret key corresponding to the first public key using the second public key received from the user terminal. When,
The model providing server transmitting the second public key encrypted first secret key to the model providing server;
The service providing server uses the encrypted learning model received from the model providing server and the encryption processing target data received from the user terminal, and is encrypted with the first public key. Obtaining a first encrypted output that is an output of the learning model that receives processing target data;
The service providing server generating a double encrypted output obtained by re-encrypting the first encrypted output using the second public key;
The service providing server uses the second public key encrypted first secret key to encrypt with the first public key out of the double encrypted output while being encrypted with the second public key. Obtaining a second encrypted output obtained by decrypting;
The service providing server transmitting the second encrypted output to the user terminal;
The user terminal decrypting the second encrypted output received from the service providing server using a second private key corresponding to the second public key;
An information processing method including:
前記モデル提供サーバが、前記完全準同型暗号の公開鍵であって前記第1公開鍵及び前記第2公開鍵とは異なる第3公開鍵を生成するステップと、
前記モデル提供サーバが、前記第3公開鍵で前記第1秘密鍵を暗号化した第3公開鍵暗号化第1秘密鍵を生成するステップと、
前記モデル提供サーバが、前記第3公開鍵と前記第3公開鍵暗号化第1秘密鍵とを前記モデル提供サーバに送信するステップと、
前記サービス提供サーバが、前記モデル提供サーバから受信した前記第3公開鍵を用いて、前記暗号化学習モデルを再度暗号化して二重暗号化学習モデルを生成するステップと、
前記サービス提供サーバが、前記モデル提供サーバから受信した前記第3公開鍵暗号化第1秘密鍵を用いて、前記第3公開鍵で暗号化された状態のまま前記二重暗号化学習モデルのうち前記第1公開鍵による暗号化を復号するステップと、
をさらに含む請求項1に記載の情報処理方法。
The model providing server generates a third public key which is a public key of the completely homomorphic encryption and is different from the first public key and the second public key;
The model providing server generating a third public key encrypted first secret key obtained by encrypting the first secret key with the third public key;
The model providing server transmitting the third public key and the third public key encrypted first secret key to the model providing server;
The service providing server re-encrypts the encrypted learning model using the third public key received from the model providing server to generate a double encrypted learning model;
The service providing server uses the third public key encrypted first secret key received from the model providing server and remains encrypted with the third public key. Decrypting the encryption with the first public key;
The information processing method according to claim 1, further comprising:
前記学習モデルは、前記学習モデルの処理対象データと前記学習モデルのモデルパラメータとの加法及び乗法の少なくともいずれか一方の演算の組み合わせを実行することで、前記処理対象データを入力とする前記学習モデルの出力を算出するように構成されている、
請求項1又は2に記載の情報処理方法。
The learning model executes the combination of at least one of addition and multiplication of the processing target data of the learning model and the model parameter of the learning model, thereby inputting the processing target data. Configured to calculate the output of the
The information processing method according to claim 1 or 2.
通信ネットワークを介して互いに通信可能な態様で接続するモデル提供サーバとサービス提供サーバとを含む情報処理システムであって、
前記モデル提供サーバは、
機械学習を用いて学習モデルを生成するモデル生成部と、
完全準同型暗号の公開鍵である第1公開鍵を用いて前記学習モデルを暗号化して暗号化学習モデルを生成する暗号化部と、
前記暗号化学習モデルを前記サービス提供サーバに送信するとともに、前記第1公開鍵をユーザ端末に送信する送信部と、
前記完全準同型暗号の公開鍵であって前記第1公開鍵とは異なる第2公開鍵を前記ユーザ端末から受信する受信部と、を備え、
前記暗号化部は、前記第2公開鍵を用いて、前記第1公開鍵に対応する第1秘密鍵を暗号化した第2公開鍵暗号化第1秘密鍵を生成し、
前記送信部は、前記第2公開鍵暗号化第1秘密鍵を前記モデル提供サーバに送信し、
前記サービス提供サーバは、
前記モデル提供サーバから前記暗号化学習モデルを受信するとともに、前記ユーザ端末から前記第1公開鍵を用いて前記学習モデルの処理対象データを暗号化した暗号化処理対象データを受信する受信部と、
前記暗号化学習モデルと前記暗号化処理対象データとを用いて、前記第1公開鍵で暗号化された状態の前記処理対象データを入力とする前記学習モデルの出力である第1暗号化出力を生成するモデル実行部と、
前記第1暗号化出力を前記第2公開鍵を用いて再度暗号化した二重暗号化出力を生成する暗号化部と、
前記第2公開鍵暗号化第1秘密鍵を用いて、前記第2公開鍵で暗号化された状態のまま前記二重暗号化出力のうち前記第1公開鍵による暗号化を復号して得られる第2暗号化出力を取得する復号部と、
前記第2暗号化出力を前記ユーザ端末に送信する送信部と、を備える、
情報処理システム。
An information processing system including a model providing server and a service providing server that are connected in a manner capable of communicating with each other via a communication network,
The model providing server is:
A model generation unit that generates a learning model using machine learning;
An encryption unit that generates an encrypted learning model by encrypting the learning model using a first public key that is a public key of fully homomorphic encryption;
A transmitter that transmits the encrypted learning model to the service providing server and transmits the first public key to a user terminal;
A receiving unit that receives a second public key that is a public key of the completely homomorphic encryption and is different from the first public key, from the user terminal,
The encryption unit uses the second public key to generate a second public key encrypted first secret key obtained by encrypting a first secret key corresponding to the first public key,
The transmitting unit transmits the second public key encrypted first secret key to the model providing server,
The service providing server includes:
A receiving unit that receives the encrypted learning model from the model providing server, and receives encrypted processing target data obtained by encrypting the processing target data of the learning model using the first public key from the user terminal;
Using the encrypted learning model and the encryption processing target data, a first encrypted output that is an output of the learning model that receives the processing target data encrypted with the first public key. A model execution unit to be generated;
An encryption unit for generating a double encrypted output obtained by re-encrypting the first encrypted output using the second public key;
Obtained by decrypting the encryption with the first public key out of the double encrypted output using the second public key encrypted first secret key while being encrypted with the second public key A decryption unit for obtaining a second encrypted output;
A transmission unit that transmits the second encrypted output to the user terminal,
Information processing system.
JP2018055958A 2018-03-23 2018-03-23 Information processing method and information processing system Active JP6904916B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018055958A JP6904916B2 (en) 2018-03-23 2018-03-23 Information processing method and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018055958A JP6904916B2 (en) 2018-03-23 2018-03-23 Information processing method and information processing system

Publications (2)

Publication Number Publication Date
JP2019168590A true JP2019168590A (en) 2019-10-03
JP6904916B2 JP6904916B2 (en) 2021-07-21

Family

ID=68107329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018055958A Active JP6904916B2 (en) 2018-03-23 2018-03-23 Information processing method and information processing system

Country Status (1)

Country Link
JP (1) JP6904916B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468544A (en) * 2020-03-30 2021-10-01 杭州海康威视数字技术股份有限公司 Training method and device of application model
JP2021174327A (en) * 2020-04-27 2021-11-01 Arithmer株式会社 Processing device, learning device, processing program, and learning program
WO2022044281A1 (en) * 2020-08-28 2022-03-03 日本電信電話株式会社 Processing device, processing method, and program
US20220166607A1 (en) * 2020-11-20 2022-05-26 International Business Machines Corporation Secure re-encryption of homomorphically encrypted data
US11477344B2 (en) 2020-05-11 2022-10-18 Canon Kabushiki Kaisha Information processing apparatus, method of controlling the same, and storage medium

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468544A (en) * 2020-03-30 2021-10-01 杭州海康威视数字技术股份有限公司 Training method and device of application model
CN113468544B (en) * 2020-03-30 2024-04-05 杭州海康威视数字技术股份有限公司 Training method and device for application model
JP2021174327A (en) * 2020-04-27 2021-11-01 Arithmer株式会社 Processing device, learning device, processing program, and learning program
US11477344B2 (en) 2020-05-11 2022-10-18 Canon Kabushiki Kaisha Information processing apparatus, method of controlling the same, and storage medium
WO2022044281A1 (en) * 2020-08-28 2022-03-03 日本電信電話株式会社 Processing device, processing method, and program
US20220166607A1 (en) * 2020-11-20 2022-05-26 International Business Machines Corporation Secure re-encryption of homomorphically encrypted data
US11902424B2 (en) * 2020-11-20 2024-02-13 International Business Machines Corporation Secure re-encryption of homomorphically encrypted data

Also Published As

Publication number Publication date
JP6904916B2 (en) 2021-07-21

Similar Documents

Publication Publication Date Title
EP3779717B1 (en) Multiparty secure computing method, device, and electronic device
US11196541B2 (en) Secure machine learning analytics using homomorphic encryption
JP6904916B2 (en) Information processing method and information processing system
US10972251B2 (en) Secure web browsing via homomorphic encryption
JP6363032B2 (en) Key change direction control system and key change direction control method
JP7190336B2 (en) Communication device, communication method, and communication program
WO2014007296A1 (en) Order-preserving encryption system, encryption device, decryption device, encryption method, decryption method, and programs thereof
JPWO2019130528A1 (en) Conversion key generation device, ciphertext conversion device, secret information processing system, conversion key generation method, conversion key generation program, ciphertext conversion method, and ciphertext conversion program
US20160380768A1 (en) Data management device, system, re-encryption device, data sharing device, and storage medium
Senthilnathan et al. An enhancing reversible data hiding for secured data using shuffle block key encryption and histogram bit shifting in cloud environment
JP5492241B2 (en) Secret calculation system, aggregation device, and aggregation result decoding program
CN112491529A (en) Data file encryption and integrity verification method and system used in untrusted server environment
Thilakanathan et al. Secure multiparty data sharing in the cloud using hardware-based TPM devices
CN112819058B (en) Distributed random forest evaluation system and method with privacy protection attribute
WO2020070973A1 (en) Decryption device, cryptosystem, decryption method, and decryption program
JPWO2014109059A1 (en) Data encryption storage system
Alrehaili et al. Cloud computing security challenges
JP6452910B1 (en) Secret analysis device, secret analysis system, secret analysis method, and secret analysis program
JP6949276B2 (en) Re-encrypting device, re-encrypting method, re-encrypting program and cryptosystem
Xu et al. End-to-end big data processing protection in cloud environment using black boxes—An FPGA approach
Diallo et al. DFASC: Distributed Framework for Analytics Security in the Cloud
JP2010056848A (en) Encryption apparatus, encryption method, program, and program storage medium
Baby et al. COBBS: a multicloud architecture for better business solutions
CN117879820A (en) Block chain-based data sharing method
Raina et al. A Framework for Security Management in Cloud Based on Quantum Cryptography

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210624

R150 Certificate of patent or registration of utility model

Ref document number: 6904916

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150