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

Information processing method and information processing system Download PDF

Info

Publication number
JP6904916B2
JP6904916B2 JP2018055958A JP2018055958A JP6904916B2 JP 6904916 B2 JP6904916 B2 JP 6904916B2 JP 2018055958 A JP2018055958 A JP 2018055958A JP 2018055958 A JP2018055958 A JP 2018055958A JP 6904916 B2 JP6904916 B2 JP 6904916B2
Authority
JP
Japan
Prior art keywords
public key
providing server
encryption
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.)
Active
Application number
JP2018055958A
Other languages
Japanese (ja)
Other versions
JP2019168590A (en
Inventor
清良 披田野
清良 披田野
知明 三本
知明 三本
和英 福島
和英 福島
清本 晋作
晋作 清本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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

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 by 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) has been increased, the capacity of memory has been increased, and machine learning technology has been rapidly advanced. For this reason, machine learning using learning data on the order of hundreds of thousands to millions has become possible, and highly accurate identification technology and classification technology 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.

大量の学習データに基づく機械学習を実行するためには大量の計算コストがかかる。また、大量の学習データを用意すること、及び用意した学習データを機械学習に用いるために加工する前処理にも膨大な労力を要する。一方で、機械学習によって生成された学習モデルはデジタルデータであり、その複製は容易である。したがって、学習モデルの作成者がユーザに利用させることを目的として学習モデルをユーザに提供すると、提供した学習モデルがその後不正に利用される恐れが生じる。 A large amount of computational cost is required to perform machine learning based on a large amount of learning data. In addition, a huge amount of labor 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 duplication is easy. Therefore, if the creator of the learning model provides the learning model to the user for the purpose of making the user use it, there is a risk that the provided learning model will be used illegally thereafter.

一方、学習モデルのユーザに学習モデル自体を提供せずに、通信ネットワークを介してユーザから処理対象データを取得し、学習モデルの処理結果のみをユーザに提供する態様も考えられる。しかしながら、この態様では、学習モデルに入力するデータに個人情報が含まれる等によって漏洩が問題となるデータの場合、ユーザは学習モデルの利用に二の足を踏みかねない。 On the other hand, it is also conceivable that the processing target 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 in which leakage becomes a problem due to the inclusion of personal information in the data input to the learning model, the user may be reluctant to use 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 to each other via a communication network in a manner that allows communication with each other. In this method, the model providing server encrypts a learning model created by using machine learning using a first public key, which is a public key of completely quasi-identical encryption, to generate an encryption learning model. The model providing server transmits the encryption learning model to the service providing server, the model providing server transmits the first public key to the user terminal, and the user terminal uses the model. A step of 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, and the user terminal using the encryption processing target data and the complete A step of transmitting a second public key, which is a public key of quasi-identical encryption and is different from the first public key, to the service providing server, and the user terminal transmits the second public key to the model providing server. The second public key encryption first private key in which the model providing server encrypts the first private key corresponding to the first public key using the second public key received from the user terminal. The step of generating the above, the step of the model providing server transmitting the second public key encryption first private key to the service providing server, and the encryption received by the service providing server from the model providing server. The first output of the learning model, which uses the learning model and the encryption processing target data received from the user terminal and inputs the processing target data encrypted with the first public key. The step of acquiring the encrypted output, the step of the service providing server generating the double encrypted output in which the first encrypted output is re-encrypted using the second public key, and the step of the service providing server , The second public key encryption The first private key is used to decrypt the encryption by the first public key in the double encryption output while being encrypted by the second public key. A step of acquiring the second encrypted output to be obtained, a step of the service providing server transmitting the second encrypted output to the user terminal, and a second secret corresponding to the second public key by the user terminal. It includes a step of decrypting the second encrypted output received from the service providing server using the key.

前記情報処理方法は、前記モデル提供サーバが、前記完全準同型暗号の公開鍵であって前記第1公開鍵及び前記第2公開鍵とは異なる第3公開鍵を生成するステップと、前記モデル提供サーバが、前記第3公開鍵で前記第1秘密鍵を暗号化した第3公開鍵暗号化第1秘密鍵を生成するステップと、前記モデル提供サーバが、前記第3公開鍵と前記第3公開鍵暗号化第1秘密鍵とを前記サービス提供サーバに送信するステップと、前記サービス提供サーバが、前記モデル提供サーバから受信した前記第3公開鍵を用いて、前記暗号化学習モデルを再度暗号化して二重暗号化学習モデルを生成するステップと、前記サービス提供サーバが、前記モデル提供サーバから受信した前記第3公開鍵暗号化第1秘密鍵を用いて、前記第3公開鍵で暗号化された状態のまま前記二重暗号化学習モデルのうち前記第1公開鍵による暗号化を復号するステップと、をさらに含んでもよい。 The information processing method includes a step in which the model providing server generates a third public key that is the public key of the completely quasi-isomorphic cryptography and is different from the first public key and the second public key, and the model providing. A step in which the server generates a third public key cryptography first private key in which the first private key is encrypted with the third public key, and a model providing server uses the third public key and the third public key. The step of transmitting the key encryption first private key to the service providing server and the service providing server re-encrypt the encryption learning model using the third public key received from the model providing server. The step of generating the dual encryption learning model and the service providing server are encrypted with the third public key using the third public key encryption first private key received from the model providing server. In this state, the dual encryption learning model may further include a step of decrypting the encryption by the first public key.

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

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

本発明によれば、学習モデル及び処理対象データを秘匿化した状態のまま処理結果を取得することができる技術を提供することができる。 According to the present invention, it is possible to provide a technique capable of acquiring a processing result while keeping the learning model and the data to be processed concealed.

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

<実施の形態の概要>
図1は、実施の形態に係る情報処理システムSの構成の概要を模式的に示す図である。以下、図1を参照して、実施の形態の概要を述べる。
<Outline of the embodiment>
FIG. 1 is a diagram schematically showing an outline of the configuration of the information processing system S according to the 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 the 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 input data to be processed and output some processing result. As an example, the learning model generated by the model providing server 1 recognizes the subject included in the image data and outputs the type, number, location in the image, etc. of the subject when the image data is input as the processing target. 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 the 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 the output. Finally, the service providing server 2 transmits the acquired output of the learning model 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 the learning model in which the learning model is encrypted with the public key of full homomorphic encryption (Fully Homomorphic. Encryption) to the service providing server 2. Further, 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 by using the public key, and then sends the service providing server 2 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)
Homomorphic encryption is a cipher that allows additive operations and multiplication operations while the data is encrypted. Specifically, the plaintexts of the two numerical values are designated as a and b, and the encrypted versions of a and b are designated as Enc (a) and Enc (b), respectively. Further, the encrypted addition a + b of a and b is referred to as Enc (a + b), and the encrypted multiplication a × b of a and b is referred to as Enc (a × b). At this time, the following equations (1) and (2) hold in the fully 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 a processing target by executing a combination of at least one of addition and multiplication of the processing target data of the learning model and the model parameters of the learning model. It is configured to calculate the output of a learning model that takes data as input. 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 encrypted with the public key of the fully homomorphic encryption and the data to be processed, and the data to be processed in the encrypted state. Can be applied to the learning model.

なお、サービス提供サーバ2が処理対象のデータを学習モデルに適用することで得られる出力も、モデル提供サーバ1が生成した公開鍵によって暗号化されたままの状態である。このため、サービス提供サーバ2が暗号化された状態の出力をユーザ端末3に送信しても、ユーザ端末3は出力内容を確認することができない。 The output obtained by applying the data to be processed by the service providing server 2 to the learning model is also in a state of being encrypted by the public key generated by the model providing server 1. Therefore, 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 of the state encrypted with the public key generated by the model providing server 1 into the state encrypted with another public key generated by the user terminal 3 and then transmits the output to the user terminal 3. do. As a result, the user terminal 3 can confirm the output contents by decrypting the output with the private key owned by the user terminal 3.

このように、実施の形態に係る情報処理システム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 the learning model of the plaintext state. Further, the model providing server 1 and the service providing server 2 cannot acquire the processing target data in the plaintext 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 showing the functional configurations 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) for storing the BIOS (Basic Input Output System) of the computer that realizes the model providing server 1, a RAM (Random Access Memory) that serves as a work area for the model providing server 1, and an OS (OS). It is a large-capacity storage device such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) that stores an Operating System), an application program, and various information referred to when the application program is 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 the BIOS and the like of the computer that realizes the service providing server 2, a RAM that is a work area of the service providing server 2, an OS and an application program, and various references that are referred to when the application program is executed. It is a large-capacity storage device such as an HDD or SSD that stores the information of the above. Further, the storage unit 30 stores a ROM that stores the BIOS and the like of the computer that realizes the user terminal 3, a RAM that is a work area of the user terminal 3, an OS and an application program, and various information that is referred to when the application program is executed. It is a large-capacity 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 GPU of the service providing server 2, and serves as a model execution unit 210, an encryption unit 211, and a decryption unit 212 by executing a program stored in the storage unit 20. Function. Further, the control unit 31 is a processor such as a CPU or 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を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。 Note that 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 computing resources such as a plurality of processors and memories, such as a cloud computing system. In this case, each unit constituting the control unit 11 and the control unit 21 is realized by executing a program by at least one of a plurality of different processors.

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

モデル生成部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 the learning data collected in advance by known machine learning such as a neural network, SVM (Support Vector Machine), and boosting. Here, when a non-linear function is used in a known learning model, the model generation unit 110 executes learning after replacing it with a learning model having only multiplication operations and addition operations by approximating it with a linear function in advance. 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 an encryption key of a public key system of fully homomorphic encryption (S4). Since it is a public key cryptographic key, the key generation unit 111 generates a public key and a private key corresponding to the public key. As will be described later, the encryption key of the public key system of fully 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 private 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 system (Brakerski-Gentry-Vaikuntanathan cryptosystem) encryption as the fully homomorphic encryption.

暗号化部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 encryption learning model (S6). Hereinafter, the learning model will be referred to as "learning model w" or simply "w". Further, the learning model w encrypted with the first secret key sk1 is described as "encryption learning model Enc (pk1, w)" or simply "Enc (pk1, w)". Hereinafter, the data obtained by encrypting the data d using the public key pk will be described as Enc (pk, d).

送信部12は、暗号化学習モデルEnc(pk1,w)をサービス提供サーバ2に送信する(S8)。また、送信部12は、第1公開鍵pk1をユーザ端末3に送信する(S10)。 The transmission unit 12 transmits the encryption 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 fully homomorphic encryption and is different from the first public key pk1 and a second private key sk2 corresponding to the second public key pk2. Generate a key (S16). The transmission 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). Further, the receiving unit 23 of the service providing server 2 receives the encryption 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 encrypts the first private key sk1 using the second public key pk2 received from the user terminal 3. Second public key encryption First private key Enc (pk2, sk1) Is generated (S30). The transmission unit 12 transmits the second public key encryption first private 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 encryption first private key Enc (pk2, sk1) from the model providing server 1 (S34). The model execution unit 210 uses the encryption learning model Enc (pk1, w) and the encryption processing target data Enc (pk1, x) to obtain the processing target data x 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))) is generated (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 encryption first private key Enc (pk2, sk1) received from the model providing server 1 to perform 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). As a result, the user terminal 3 can obtain the output fw (x) of the learning model w that inputs 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)も生成する。 5 (a)-(c) is a diagram 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 the learning model w, the first public key pk1, and the first private key sk1, and acquires the second public key pk2 from the user terminal 3. The model providing server 1 also generates a second public key encryption first private key Enc (pk2, sk1) in which the first private key sk1 is encrypted 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 encryption learning model Enc (pk1, w) and the second public key encryption first private key Enc (pk2, sk1) from the model providing server 1. get. Further, 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 encryption output Enc (pk1, f w (x)) based on the encryption learning model Enc (pk1, w) and the encryption processing target data Enc (pk1, x). do. The service providing server 2 uses the second public key pk2 to encrypt the first encrypted output Enc (pk1, f w (x)), and the double encrypted output Enc (pk2, Enc (pk1, f w (x)). ))) Is generated. Further, the service providing server 2 decrypts the double encryption output Enc (pk2, Enc (pk1, f w (x))) by using the second public key encryption first private key Enc (pk2, sk1). The 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 the processing target data x, the second public key pk2, and the second private key sk2. The user terminal 3 acquires the first public key pk1 from the model providing server 1. The user terminal 3 generates the encryption processing target data Enc (pk1, x) in which the processing target data x is encrypted 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, by decoding the second encrypted output Enc (pk2, f w (x )) using the second secret key sk2, the output f w of the learning model w to enter processing target data x ( x) is generated.

このように、実施の形態に係るモデル提供サーバ1が生成した学習モデルwは、平文のままでサービス提供サーバ2又はユーザ端末3に送信されることはない。また、サービス提供サーバ2及びユーザ端末3はいずれも、暗号化された学習モデルwを復号するための秘密鍵を取得することはない。したがって、実施の形態に係る情報処理システムSは、学習モデルwを秘匿することができ、学習モデルwが漏洩することを抑制することができる。 As described above, 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 as it is in plain text. Further, neither the service providing server 2 nor the user terminal 3 acquires the private 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 suppress the leakage of the learning model w.

また、実施の形態に係るユーザ端末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. Further, neither the model providing server 1 nor the service providing server 2 acquires the private 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 suppress the leakage of the processing target data x.

(学習モデルwの暗号鍵の更新)
上述したように、実施の形態に係るモデル提供サーバ1は、学習モデルwを暗号化した状態でサービス提供サーバ2に送信する。ここで、学習モデルwを暗号化する公開鍵を定期的に更新できれば、万が一公開鍵に対応する秘密鍵が漏洩したとしても、学習モデルを漏洩から守ることができる。そこで、以下、学習モデルwを暗号化する公開鍵の更新処理について説明する。
(Update of encryption key of learning model w)
As described above, the model providing server 1 according to the embodiment transmits the learning model w in an encrypted state to the service providing server 2. Here, if the public key that encrypts 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, the update process of the public key that encrypts 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 the encryption key update process executed by 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, which is a public key of fully homomorphic encryption and is different from the first public key pk1 and the second public key pk2, and a third public key pk3. A third encryption key including the third private 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 encryption first private key Enc (pk3, sk1) in which the first private key sk1 is encrypted with the third public key pk3 (S50). The transmission unit 12 transmits the third public key pk3 and the third public key encryption first private 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 private key Enc (pk3, sk1) from the model providing server 1 (S54). The encryption unit 211 re-encrypts the encryption learning model Enc (pk1, w) using the third public key pk3, and double-encryption learning model encryption 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 encryption first private key Enc (pk3, sk1) to perform the double encryption learning model encryption learning model Enc (in the state of being encrypted with the third public key pk3). Of the pk3, Enc (pk1, w)), the encryption by the first public key pk1 is decrypted (S58). As a result, the decryption unit 212 can generate Enc (pk3, w), which is a learning model w encrypted with the third public key pk3.

以上より、情報処理システムSは、サービス提供サーバ2が保持する学習モデルwの暗号鍵を更新することができる。例えば、数十万から百万といったオーダーの大量の学習データを用いる機械学習で生成した学習モデルwはデータサイズも大きく、また、暗号化後のデータサイズも同様である。したがって、モデル提供サーバ1が第3公開鍵pk3で学習モデルwを暗号化した後にサービス提供サーバ2に送信する場合と比較して、上述した暗号鍵の更新処理は、通信ネットワークNを経由するデータ量を大幅に削減できる点で有利である。 From the 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 one million 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 the learning model w to the service providing server 2, the above-mentioned encryption key update process is the data via the communication network N. It is advantageous in that the amount can be significantly reduced.

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

以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。 Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments, and various modifications and changes can be made within the scope of the gist thereof. be. For example, the specific embodiment of the distribution / integration of the device is not limited to the above embodiment, and all or a part thereof may be functionally or physically distributed / integrated in any unit. Can be done. Also included in the embodiments of the present invention are new embodiments resulting from any combination of the plurality of embodiments. The effect of the new embodiment produced by the combination has the effect of the original embodiment together.

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・・・情報処理システム
1 ... Model providing server 10 ... Storage unit 11 ... Control unit 110 ... Model generation unit 111 ... Key generation unit 112 ... Encryption unit 12 ... Transmission unit 13 ... Reception 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 ...・ Reception unit 3 ・ ・ ・ User terminal 30 ・ ・ ・ Storage unit 31 ・ ・ ・ Control unit 310 ・ ・ ・ Encryption unit 311 ・ ・ ・ Key generation unit 312 ・ ・ ・ Decryption unit 32 ・ ・ ・ Transmission unit 33 ・ ・・ 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 that are connected to each other via a communication network.
A step of generating an encryption learning model by encrypting a learning model created by the model providing server using machine learning using a first public key which is a public key of fully homomorphic encryption.
A step in which the model providing server transmits the encryption learning model to the service providing server,
A step in which the model providing server transmits the first public key to the user terminal,
A step in which the user terminal encrypts the processing target data of the learning model using the first public key received from the model providing server to generate the encryption processing target data.
A step in which the user terminal transmits the data to be encrypted and a second public key which is the public key of the fully homomorphic encryption and is different from the first public key to the service providing server.
A step in which the user terminal transmits the second public key to the model providing server, and
A step in which the model providing server generates a second public key encryption first private key in which the first private key corresponding to the first public key is encrypted using the second public key received from the user terminal. When,
A step in which the model providing server transmits the second public key encryption first private key to the service providing server.
The state in which the service providing server is encrypted with the first public key using the encryption learning model received from the model providing server and the encryption processing target data received from the user terminal. The step of acquiring the first encrypted output, which is the output of the learning model that inputs the data to be processed, and
A step in which the service providing server generates a double encrypted output in which the first encrypted output is re-encrypted using the second public key.
The service providing server uses the second public key encryption first private key to encrypt the double encryption output with the first public key while being encrypted with the second public key. And the step to obtain the second encrypted output obtained by decrypting
A step in which 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 by using the second private key corresponding to the second public key.
Information processing methods including.
前記モデル提供サーバが、前記完全準同型暗号の公開鍵であって前記第1公開鍵及び前記第2公開鍵とは異なる第3公開鍵を生成するステップと、
前記モデル提供サーバが、前記第3公開鍵で前記第1秘密鍵を暗号化した第3公開鍵暗号化第1秘密鍵を生成するステップと、
前記モデル提供サーバが、前記第3公開鍵と前記第3公開鍵暗号化第1秘密鍵とを前記サービス提供サーバに送信するステップと、
前記サービス提供サーバが、前記モデル提供サーバから受信した前記第3公開鍵を用いて、前記暗号化学習モデルを再度暗号化して二重暗号化学習モデルを生成するステップと、
前記サービス提供サーバが、前記モデル提供サーバから受信した前記第3公開鍵暗号化第1秘密鍵を用いて、前記第3公開鍵で暗号化された状態のまま前記二重暗号化学習モデルのうち前記第1公開鍵による暗号化を復号するステップと、
をさらに含む請求項1に記載の情報処理方法。
A step in which the model providing server generates a third public key that is the public key of the fully homomorphic encryption and is different from the first public key and the second public key.
A step in which the model providing server generates a third public key encryption first private key in which the first private key is encrypted with the third public key.
A step in which the model providing server transmits the third public key and the third public key encryption first private key to the service providing server.
A step in which the service providing server re-encrypts the encryption learning model using the third public key received from the model providing server to generate a double encryption learning model.
Of the double encryption learning model, the service providing server uses the third public key encryption first private key received from the model providing server and remains encrypted with the third public key. The step of decrypting the encryption by the first public key and
The information processing method according to claim 1, further comprising.
前記学習モデルは、前記学習モデルの処理対象データと前記学習モデルのモデルパラメータとの加法及び乗法の少なくともいずれか一方の演算の組み合わせを実行することで、前記処理対象データを入力とする前記学習モデルの出力を算出するように構成されている、
請求項1又は2に記載の情報処理方法。
The learning model receives the processing target data as input by executing a combination of at least one of addition and multiplication of the processing target data of the learning model and the model parameters of the learning model. Is configured to calculate the output of,
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 that includes a model-providing server and a service-providing server that connect to each other via a communication network.
The model providing server is
A model generator that generates a learning model using machine learning,
An encryption unit that encrypts the learning model using the first public key, which is the public key of fully homomorphic encryption, and generates an encryption learning model.
A transmission unit that transmits the encryption learning model to the service providing server and also transmits the first public key to the user terminal.
It includes a receiving unit that receives a second public key, which is the public key of the fully 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 encryption first private key in which the first private key corresponding to the first public key is encrypted.
The transmitting unit transmits the second public key encryption first private key to the service providing server.
The service providing server is
A receiving unit that receives the encryption learning model from the model providing server and also receives the encryption processing target data obtained by encrypting the processing target data of the learning model from the user terminal using the first public key.
Using the encryption learning model and the encryption processing target data, a first encryption output, which is an output of the learning model in which the processing target data encrypted with the first public key is input, is output. The model execution part to be generated and
An encryption unit that generates a double encrypted output in which the first encrypted output is re-encrypted using the second public key, and
The second public key encryption The first private key is used to decrypt the encryption by the first public key in the double encryption output while being encrypted by the second public key. A decryption unit that acquires the second encrypted output,
A transmission unit that transmits the second encrypted output to the user terminal is provided.
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 JP2019168590A (en) 2019-10-03
JP6904916B2 true 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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468544B (en) * 2020-03-30 2024-04-05 杭州海康威视数字技术股份有限公司 Training method and device for application model
JP6804074B1 (en) * 2020-04-27 2020-12-23 Arithmer株式会社 Processing equipment, learning equipment, processing programs, and learning programs
JP2021180361A (en) 2020-05-11 2021-11-18 キヤノン株式会社 Information processing apparatus and method for controlling the same, and program
US20230353571A1 (en) * 2020-08-28 2023-11-02 Nippon Telegraph And Telephone Corporation Processing apparatus, processing method, and program
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
JP2019168590A (en) 2019-10-03

Similar Documents

Publication Publication Date Title
JP6904916B2 (en) Information processing method and information processing system
US11558358B2 (en) Secure analytics using homomorphic and injective format-preserving encryption
CN109784931B (en) Query method of data query platform based on blockchain
CN111460453A (en) Machine learning training method, controller, device, server, terminal and medium
CN109729041B (en) Method and device for issuing and acquiring encrypted content
EP3654580B1 (en) Communication device and communication method used in decentralized network
CN105468940B (en) Method for protecting software and device
JP2016158189A (en) Change direction with key control system and change direction with key control method
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
CN113572604B (en) Method, device and system for sending secret key and electronic equipment
Senthilnathan et al. An enhancing reversible data hiding for secured data using shuffle block key encryption and histogram bit shifting in cloud environment
WO2014007296A1 (en) Order-preserving encryption system, encryption device, decryption device, encryption method, decryption method, and programs thereof
CN112491529B (en) Data file encryption and integrity verification method and system used in untrusted server environment
JP2021534443A (en) Methods and systems for securing data
JP5964460B2 (en) Data encryption storage system
CN110750326B (en) Disk encryption and decryption method and system for virtual machine
JP7117964B2 (en) Decryption device, encryption system, decryption method and decryption program
Carminati et al. Secure web service composition with untrusted broker
CN116170157A (en) User password encryption and decryption method and device based on national encryption algorithm
CN113810421B (en) PRE (PRE) Internet of things data sharing method and system based on block chain
CN114490551A (en) File security outsourcing and sharing method based on alliance chain
Alrehaili et al. Cloud computing security challenges
CN102622541B (en) The system and method for encryption and deciphering
CN115664852B (en) Data management method and system based on block chain technology
CN117879820A (en) Block chain-based data sharing method

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