JP6904916B2 - 情報処理方法及び情報処理システム - Google Patents

情報処理方法及び情報処理システム 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
English (en)
Other versions
JP2019168590A (ja
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/ja
Publication of JP2019168590A publication Critical patent/JP2019168590A/ja
Application granted granted Critical
Publication of JP6904916B2 publication Critical patent/JP6904916B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は情報処理方法及び情報処理システムに関し、特に、機械学習を用いて生成した学習モデルと、その学習モデルの処理対象とするデータとを秘匿化する技術に関する。
近年、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)の高速化、メモリの大容量化、及び機械学習技術が急速に進んできている。このため、数十万から百万といったオーダーの学習データを用いる機械学習が可能となり、精度の高い識別技術や分類技術が確立されつつある(非特許文献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.
大量の学習データに基づく機械学習を実行するためには大量の計算コストがかかる。また、大量の学習データを用意すること、及び用意した学習データを機械学習に用いるために加工する前処理にも膨大な労力を要する。一方で、機械学習によって生成された学習モデルはデジタルデータであり、その複製は容易である。したがって、学習モデルの作成者がユーザに利用させることを目的として学習モデルをユーザに提供すると、提供した学習モデルがその後不正に利用される恐れが生じる。
一方、学習モデルのユーザに学習モデル自体を提供せずに、通信ネットワークを介してユーザから処理対象データを取得し、学習モデルの処理結果のみをユーザに提供する態様も考えられる。しかしながら、この態様では、学習モデルに入力するデータに個人情報が含まれる等によって漏洩が問題となるデータの場合、ユーザは学習モデルの利用に二の足を踏みかねない。
本発明はこれらの点に鑑みてなされたものであり、学習モデル及び処理対象データを秘匿化した状態のまま処理結果を取得することができる技術を提供することを目的とする。
本発明の第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暗号化出力を復号するステップと、を含む。
前記情報処理方法は、前記モデル提供サーバが、前記完全準同型暗号の公開鍵であって前記第1公開鍵及び前記第2公開鍵とは異なる第3公開鍵を生成するステップと、前記モデル提供サーバが、前記第3公開鍵で前記第1秘密鍵を暗号化した第3公開鍵暗号化第1秘密鍵を生成するステップと、前記モデル提供サーバが、前記第3公開鍵と前記第3公開鍵暗号化第1秘密鍵とを前記サービス提供サーバに送信するステップと、前記サービス提供サーバが、前記モデル提供サーバから受信した前記第3公開鍵を用いて、前記暗号化学習モデルを再度暗号化して二重暗号化学習モデルを生成するステップと、前記サービス提供サーバが、前記モデル提供サーバから受信した前記第3公開鍵暗号化第1秘密鍵を用いて、前記第3公開鍵で暗号化された状態のまま前記二重暗号化学習モデルのうち前記第1公開鍵による暗号化を復号するステップと、をさらに含んでもよい。
前記情報処理方法において、前記学習モデルは、前記学習モデルの処理対象データと前記学習モデルのモデルパラメータとの加法及び乗法の少なくともいずれか一方の演算の組み合わせを実行することで、前記処理対象データを入力とする前記学習モデルの出力を算出するように構成されていてもよい。
本発明の第2の態様は、通信ネットワークを介して互いに通信可能な態様で接続するモデル提供サーバとサービス提供サーバとを含む情報処理システムである。このシステムにおいて、前記モデル提供サーバは、機械学習を用いて学習モデルを生成するモデル生成部と、完全準同型暗号の公開鍵である第1公開鍵を用いて前記学習モデルを暗号化して暗号化学習モデルを生成する暗号化部と、前記暗号化学習モデルを前記サービス提供サーバに送信するとともに、前記第1公開鍵をユーザ端末に送信する送信部と、前記完全準同型暗号の公開鍵であって前記第1公開鍵とは異なる第2公開鍵を前記ユーザ端末から受信する受信部と、を備える。前記暗号化部は、前記第2公開鍵を用いて、前記第1公開鍵に対応する第1秘密鍵を暗号化した第2公開鍵暗号化第1秘密鍵を生成し、前記送信部は、前記第2公開鍵暗号化第1秘密鍵を前記サービス提供サーバに送信する。また、前記サービス提供サーバは、前記モデル提供サーバから前記暗号化学習モデルを受信するとともに、前記ユーザ端末から前記第1公開鍵を用いて前記学習モデルの処理対象データを暗号化した暗号化処理対象データを受信する受信部と、前記暗号化学習モデルと前記暗号化処理対象データとを用いて、前記第1公開鍵で暗号化された状態の前記処理対象データを入力とする前記学習モデルの出力である第1暗号化出力を生成するモデル実行部と、前記第1暗号化出力を前記第2公開鍵を用いて再度暗号化した二重暗号化出力を生成する暗号化部と、前記第2公開鍵暗号化第1秘密鍵を用いて、前記第2公開鍵で暗号化された状態のまま前記二重暗号化出力のうち前記第1公開鍵による暗号化を復号して得られる第2暗号化出力を取得する復号部と、前記第2暗号化出力を前記ユーザ端末に送信する送信部と、を備える。
本発明によれば、学習モデル及び処理対象データを秘匿化した状態のまま処理結果を取得することができる技術を提供することができる。
実施の形態に係る情報処理システムの構成の概要を模式的に示す図である。 実施の形態に係るモデル提供サーバ、サービス提供サーバ、及びユーザ端末の機能構成を模式的に示す図である。 実施の形態に係る情報処理システムで実行される処理の流れを説明するためのシーケンス図の前半部を示す図である。 実施の形態に係る情報処理システムで実行される処理の流れを説明するためのシーケンス図の後半部を示す図である。 実施の形態に係るモデル提供サーバ、サービス提供サーバ、及びユーザ端末がそれぞれ生成又は取得するデータの一覧を表形式でまとめた図である。 実施の形態に係る情報処理システムで実行される暗号鍵の更新処理を説明するためのシーケンス図である。
<実施の形態の概要>
図1は、実施の形態に係る情報処理システムSの構成の概要を模式的に示す図である。以下、図1を参照して、実施の形態の概要を述べる。
図1に示すように、実施の形態に係る情報処理システムSは、モデル提供サーバ1、サービス提供サーバ2、及びユーザ端末3を含んでいる。モデル提供サーバ1、サービス提供サーバ2、及びユーザ端末3は、通信ネットワークNを介して互いに通信可能な態様で接続している。
モデル提供サーバ1は、機械学習によって学習モデルを生成する装置である。モデル提供サーバ1が生成する学習モデルは、処理対象とするデータを入力として、何らかの処理結果を出力するように構成されたデジタルデータである。一例として、モデル提供サーバ1が生成する学習モデルは、処理対象として画像データが入力されると、その画像データに含まれる被写体を認識して被写体の種類、数、及び画像中の場所等を出力する画像認識エンジンである。
サービス提供サーバ2は、モデル提供サーバ1が生成した学習モデルを受け取り、ユーザにサービスを提供する装置である。サービス提供サーバ2は、ユーザが使用するユーザ端末3から通信ネットワークNを介して処理対象のデータを受け取る。続いて、サービス提供サーバ2は、受け取ったデータを学習モデルに適用し、出力を取得する。最後に、サービス提供サーバ2は、取得した学習モデルの出力を通信ネットワークNを介してユーザ端末3に送信する。
ここで、モデル提供サーバ1は、学習モデルを完全準同型暗号(Fully Homomorphic. Encryption)の公開鍵で暗号化した学習モデルを、サービス提供サーバ2に送信する。また、ユーザ端末3は、学習モデルの暗号化に用いられた公開鍵をモデル提供サーバ1から受信しており、その公開鍵を用いて処理対象のデータを暗号化した後に、サービス提供サーバ2に送信する。すなわち、サービス提供サーバ2は、同じ公開鍵で暗号化された学習モデルと処理対象のデータとを取得することになる。
完全準同型暗号は、データを暗号化したまま、加法演算及び乗法演算が可能な暗号である。具体的には、ふたつの数値の平文を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)
実施の形態に係るモデル提供サーバ1が生成する学習モデルは、学習モデルの処理対象データと学習モデルのモデルパラメータとの加法及び乗法の少なくともいずれか一方の演算の組み合わせを実行することで、処理対象データを入力とする学習モデルの出力を算出するように構成されている。言い換えると、実施の形態に係るモデル提供サーバ1が生成する学習モデルは、処理の途中にシグモイド関数等の非線形関数が含まれず、加法演算又は乗法演算のみ含まれる。これにより、実施の形態に係るサービス提供サーバ2は、完全準同型暗号の公開鍵で暗号化された学習モデルと処理対象のデータとを取得し、暗号化されたままの状態で処理対象のデータを学習モデルに適用することができる。
なお、サービス提供サーバ2が処理対象のデータを学習モデルに適用することで得られる出力も、モデル提供サーバ1が生成した公開鍵によって暗号化されたままの状態である。このため、サービス提供サーバ2が暗号化された状態の出力をユーザ端末3に送信しても、ユーザ端末3は出力内容を確認することができない。
そこで、サービス提供サーバ2は、モデル提供サーバ1が生成した公開鍵で暗号された状態の出力を、ユーザ端末3が生成した別の公開鍵で暗号化した状態に書き換えてからユーザ端末3に送信する。これにより、ユーザ端末3は、自身が所有する秘密鍵で出力を復号することにより、出力内容を確認することができる。
このように、実施の形態に係る情報処理システムSによれば、サービス提供サーバ2及びユーザ端末3は、平文の状態の学習モデルを取得することができない。また、モデル提供サーバ1及びサービス提供サーバ2は、平文の状態の処理対象データを取得することができない。それにもかかわらず、ユーザ端末3は、処理対象データを学習モデルに適用した結果を取得することができる。したがって、実施の形態に係る情報処理システムSは、学習モデル及び処理対象データを秘匿化した状態のまま処理結果を取得することができ、学習モデルと処理対象データとの漏洩を抑制できる。
<実施の形態に係るモデル提供サーバ1、サービス提供サーバ2、及びユーザ端末3の機能構成>
図2は、実施の形態に係るモデル提供サーバ1、サービス提供サーバ2、及びユーザ端末3の機能構成を模式的に示す図である。モデル提供サーバ1は、記憶部10、制御部11、送信部12、及び受信部13を備える。サービス提供サーバ2は、記憶部20、制御部21、送信部22、及び受信部23を備える。ユーザ端末3は、記憶部30、制御部31、送信部32、及び受信部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)等の大容量記憶装置である。
同様に、記憶部20は、サービス提供サーバ2を実現するコンピュータのBIOS等を格納するROMやサービス提供サーバ2の作業領域となるRAM、OSやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。さらに、記憶部30は、ユーザ端末3を実現するコンピュータのBIOS等を格納するROMやユーザ端末3の作業領域となるRAM、OSやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。
制御部11は、モデル提供サーバ1のCPUやGPU等のプロセッサであり、記憶部10に記憶されたプログラムを実行することによってモデル生成部110、鍵生成部111、及び暗号化部112として機能する。同様に、制御部21は、サービス提供サーバ2のCPUやGPU等のプロセッサであり、記憶部20に記憶されたプログラムを実行することによってモデル実行部210、暗号化部211、及び復号部212として機能する。さらに、制御部31は、ユーザ端末3のCPUやGPU等のプロセッサであり、記憶部30に記憶されたプログラムを実行することによって暗号化部310、鍵生成部311、及び復号部312として機能する。
なお、図2は、モデル提供サーバ1及びサービス提供サーバ2が単一の装置で構成されている場合の例を示している。しかしながら、モデル提供サーバ1及びサービス提供サーバ2は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部11及び制御部21を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
<情報処理システムSで実行される処理のシーケンス図>
図3は、実施の形態に係る情報処理システムSで実行される処理の流れを説明するためのシーケンス図の前半部を示す図である。また、図4は、実施の形態に係る情報処理システムSで実行される処理の流れを説明するためのシーケンス図の後半部分を示す図である。以下、モデル提供サーバ1、サービス提供サーバ2、及びユーザ端末3が連携して実行する処理を、図2、図3、及び図4を参照して説明する。
モデル生成部110は、機械学習を用いて学習モデルを生成する(S2)。具体的には、モデル生成部110は、あらかじめ収集した学習用データをニューラルネットワーク、SVM(Support Vector Machine)、ブースティング等の既知の機械学習で処理することにより、学習モデルを生成する。ここで、モデル生成部110は、既知の学習モデルにおいて非線形な関数が用いられている場合には、あらかじめ線形関数で近似することによって乗法演算及び加法演算のみの学習モデルに置き換えてから学習を実行する。
鍵生成部111は、完全準同型暗号の公開鍵方式の暗号鍵を生成する(S4)。公開鍵方式の暗号鍵であるため、鍵生成部111は、公開鍵と、その公開鍵に対応する秘密鍵とを生成する。後述するが、完全準同型暗号の公開鍵方式の暗号鍵はサービス提供サーバ2によっても生成される。したがって、鍵生成部111が生成する公開鍵を「第1公開鍵pk1」又は単に「pk1」と記載する。同様に、第1秘密鍵を「第1秘密鍵sk1」又は単に「sk1」と記載する。なお、鍵生成部111及びサービス提供サーバ2は、完全準同型暗号として、例えばBVG方式(Brakerski-Gentry-Vaikuntanathan cryptosystem)の暗号を用いればよい。
暗号化部112は、第1公開鍵pk1を用いて学習モデルを暗号化して暗号化学習モデルを生成する(S6)。以下、学習モデルを「学習モデルw」又は単に「w」と記載する。また、第1秘密鍵sk1で暗号化した学習モデルwを「暗号化学習モデルEnc(pk1,w)」又は単に「Enc(pk1,w)」と記載する。以下、公開鍵pkを用いてデータdを暗号化して得られるデータをEnc(pk,d)のように記載する。
送信部12は、暗号化学習モデルEnc(pk1,w)をサービス提供サーバ2に送信する(S8)。また、送信部12は、第1公開鍵pk1をユーザ端末3に送信する(S10)。
ユーザ端末3の受信部33は、モデル提供サーバ1から送信された第1公開鍵pk1を受信する(S12)。暗号化部310は、第1公開鍵pk1を用いて学習モデルwの処理対象データxを暗号化して暗号化処理対象データEnc(pk1,x)を生成する(S14)。
鍵生成部311は、完全準同型暗号の公開鍵であって第1公開鍵pk1とは異なる第2公開鍵pk2と、第2公開鍵pk2に対応する第2秘密鍵sk2とを含む第2暗号鍵を生成する(S16)。送信部32は、第2公開鍵pk2をモデル提供サーバ1及びサービス提供サーバ2に送信する(S18)。
モデル提供サーバ1の受信部13は、ユーザ端末3から第2公開鍵pk2を受信する(S20)。また、サービス提供サーバ2の受信部23は、モデル提供サーバ1から暗号化学習モデルEnc(pk1,w)を受信する(S22)。受信部23は、ユーザ端末3から第2公開鍵pk2を受信する(S24)。
ユーザ端末3の送信部32は、暗号化処理対象データEnc(pk1,x)をサービス提供サーバ2に送信する(S26)。サービス提供サーバ2の受信部23は、ユーザ端末3から暗号化処理対象データEnc(pk1,x)を受信する(S28)。
モデル提供サーバ1の暗号化部112は、ユーザ端末3から受信した第2公開鍵pk2を用いて第1秘密鍵sk1を暗号化した第2公開鍵暗号化第1秘密鍵Enc(pk2,sk1)を生成する(S30)。送信部12は、第2公開鍵暗号化第1秘密鍵Enc(pk2,sk1)をサービス提供サーバ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)。
暗号化部211は、第1暗号化出力Enc(pk1,f(x))を、ユーザ端末3から受信した第2公開鍵pk2を用いて再度暗号化した二重暗号化出力Enc(pk2,Enc(pk1,f(x)))を生成する(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)。
ユーザ端末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)を得ることができる。
図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(b)に示すように、サービス提供サーバ2は、モデル提供サーバ1から暗号化学習モデルEnc(pk1,w)と第2公開鍵暗号化第1秘密鍵Enc(pk2,sk1)とを取得する。また、サービス提供サーバ2は、ユーザ端末3から第2公開鍵pk2と暗号化処理対象データEnc(pk1,x)とを取得する。
サービス提供サーバ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))も生成する。
図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)を生成する。
このように、実施の形態に係るモデル提供サーバ1が生成した学習モデルwは、平文のままでサービス提供サーバ2又はユーザ端末3に送信されることはない。また、サービス提供サーバ2及びユーザ端末3はいずれも、暗号化された学習モデルwを復号するための秘密鍵を取得することはない。したがって、実施の形態に係る情報処理システムSは、学習モデルwを秘匿することができ、学習モデルwが漏洩することを抑制することができる。
また、実施の形態に係るユーザ端末3が生成した処理対象データxは、平文のままでモデル提供サーバ1又はサービス提供サーバ2に送信されることはない。さらに、モデル提供サーバ1及びサービス提供サーバ2はいずれも、暗号化された処理対象データxを復号するための秘密鍵を取得することはない。したがって、実施の形態に係る情報処理システムSは、処理対象データxを秘匿することができ、処理対象データxが漏洩することを抑制することができる。
(学習モデルwの暗号鍵の更新)
上述したように、実施の形態に係るモデル提供サーバ1は、学習モデルwを暗号化した状態でサービス提供サーバ2に送信する。ここで、学習モデルwを暗号化する公開鍵を定期的に更新できれば、万が一公開鍵に対応する秘密鍵が漏洩したとしても、学習モデルを漏洩から守ることができる。そこで、以下、学習モデルwを暗号化する公開鍵の更新処理について説明する。
図6は、実施の形態に係る情報処理システムSで実行される暗号鍵の更新処理を説明するためのシーケンス図である。モデル提供サーバ1の鍵生成部111は、完全準同型暗号の公開鍵であって第1公開鍵pk1及び第2公開鍵pk2とは異なる第3公開鍵pk3と、第3公開鍵pk3に対応する第3秘密鍵sk3とを含む第3暗号鍵を生成する(S48)。
暗号化部112は、第3公開鍵pk3で第1秘密鍵sk1を暗号化した第3公開鍵暗号化第1秘密鍵Enc(pk3,sk1)を生成する(S50)。送信部12は、第3公開鍵pk3と第3公開鍵暗号化第1秘密鍵Enc(pk3,sk1)とをサービス提供サーバ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)。
復号部212は、第3公開鍵暗号化第1秘密鍵Enc(pk3,sk1)を用いて、第3公開鍵pk3で暗号化された状態のまま二重暗号化学習モデル暗号化学習モデルEnc(pk3,Enc(pk1,w))のうち第1公開鍵pk1による暗号化を復号する(S58)。これにより、復号部212は、第3公開鍵pk3で暗号化した学習モデルwであるEnc(pk3,w)を生成することができる。
以上より、情報処理システムSは、サービス提供サーバ2が保持する学習モデルwの暗号鍵を更新することができる。例えば、数十万から百万といったオーダーの大量の学習データを用いる機械学習で生成した学習モデルwはデータサイズも大きく、また、暗号化後のデータサイズも同様である。したがって、モデル提供サーバ1が第3公開鍵pk3で学習モデルwを暗号化した後にサービス提供サーバ2に送信する場合と比較して、上述した暗号鍵の更新処理は、通信ネットワークNを経由するデータ量を大幅に削減できる点で有利である。
<実施の形態に係るモデル提供サーバ1が奏する効果>
以上説明したように、実施の形態に係るモデル提供サーバ1によれば、学習モデル及び処理対象データを秘匿化した状態のまま処理結果を取得することができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
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・・・情報処理システム

Claims (4)

  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暗号化出力を復号するステップと、
    を含む情報処理方法。
  2. 前記モデル提供サーバが、前記完全準同型暗号の公開鍵であって前記第1公開鍵及び前記第2公開鍵とは異なる第3公開鍵を生成するステップと、
    前記モデル提供サーバが、前記第3公開鍵で前記第1秘密鍵を暗号化した第3公開鍵暗号化第1秘密鍵を生成するステップと、
    前記モデル提供サーバが、前記第3公開鍵と前記第3公開鍵暗号化第1秘密鍵とを前記サービス提供サーバに送信するステップと、
    前記サービス提供サーバが、前記モデル提供サーバから受信した前記第3公開鍵を用いて、前記暗号化学習モデルを再度暗号化して二重暗号化学習モデルを生成するステップと、
    前記サービス提供サーバが、前記モデル提供サーバから受信した前記第3公開鍵暗号化第1秘密鍵を用いて、前記第3公開鍵で暗号化された状態のまま前記二重暗号化学習モデルのうち前記第1公開鍵による暗号化を復号するステップと、
    をさらに含む請求項1に記載の情報処理方法。
  3. 前記学習モデルは、前記学習モデルの処理対象データと前記学習モデルのモデルパラメータとの加法及び乗法の少なくともいずれか一方の演算の組み合わせを実行することで、前記処理対象データを入力とする前記学習モデルの出力を算出するように構成されている、
    請求項1又は2に記載の情報処理方法。
  4. 通信ネットワークを介して互いに通信可能な態様で接続するモデル提供サーバとサービス提供サーバとを含む情報処理システムであって、
    前記モデル提供サーバは、
    機械学習を用いて学習モデルを生成するモデル生成部と、
    完全準同型暗号の公開鍵である第1公開鍵を用いて前記学習モデルを暗号化して暗号化学習モデルを生成する暗号化部と、
    前記暗号化学習モデルを前記サービス提供サーバに送信するとともに、前記第1公開鍵をユーザ端末に送信する送信部と、
    前記完全準同型暗号の公開鍵であって前記第1公開鍵とは異なる第2公開鍵を前記ユーザ端末から受信する受信部と、を備え、
    前記暗号化部は、前記第2公開鍵を用いて、前記第1公開鍵に対応する第1秘密鍵を暗号化した第2公開鍵暗号化第1秘密鍵を生成し、
    前記送信部は、前記第2公開鍵暗号化第1秘密鍵を前記サービス提供サーバに送信し、
    前記サービス提供サーバは、
    前記モデル提供サーバから前記暗号化学習モデルを受信するとともに、前記ユーザ端末から前記第1公開鍵を用いて前記学習モデルの処理対象データを暗号化した暗号化処理対象データを受信する受信部と、
    前記暗号化学習モデルと前記暗号化処理対象データとを用いて、前記第1公開鍵で暗号化された状態の前記処理対象データを入力とする前記学習モデルの出力である第1暗号化出力を生成するモデル実行部と、
    前記第1暗号化出力を前記第2公開鍵を用いて再度暗号化した二重暗号化出力を生成する暗号化部と、
    前記第2公開鍵暗号化第1秘密鍵を用いて、前記第2公開鍵で暗号化された状態のまま前記二重暗号化出力のうち前記第1公開鍵による暗号化を復号して得られる第2暗号化出力を取得する復号部と、
    前記第2暗号化出力を前記ユーザ端末に送信する送信部と、を備える、
    情報処理システム。
JP2018055958A 2018-03-23 2018-03-23 情報処理方法及び情報処理システム Active JP6904916B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018055958A JP6904916B2 (ja) 2018-03-23 2018-03-23 情報処理方法及び情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018055958A JP6904916B2 (ja) 2018-03-23 2018-03-23 情報処理方法及び情報処理システム

Publications (2)

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

Family

ID=68107329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018055958A Active JP6904916B2 (ja) 2018-03-23 2018-03-23 情報処理方法及び情報処理システム

Country Status (1)

Country Link
JP (1) JP6904916B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468544B (zh) * 2020-03-30 2024-04-05 杭州海康威视数字技术股份有限公司 一种应用模型的训练方法及装置
JP6804074B1 (ja) * 2020-04-27 2020-12-23 Arithmer株式会社 処理装置、学習装置、処理プログラム、及び学習プログラム
US11477344B2 (en) 2020-05-11 2022-10-18 Canon Kabushiki Kaisha Information processing apparatus, method of controlling the same, and storage medium
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 (ja) 2019-10-03

Similar Documents

Publication Publication Date Title
JP6904916B2 (ja) 情報処理方法及び情報処理システム
US11558358B2 (en) Secure analytics using homomorphic and injective format-preserving encryption
CN109784931B (zh) 一种基于区块链的数据查询平台的查询方法
CN111460453A (zh) 机器学习训练方法、控制器、装置、服务器、终端和介质
EP3654580B1 (en) Communication device and communication method used in decentralized network
CN105468940B (zh) 软件保护方法及装置
JP2016158189A (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
CN113572604B (zh) 一种发送密钥的方法、装置、***及电子设备
Senthilnathan et al. An enhancing reversible data hiding for secured data using shuffle block key encryption and histogram bit shifting in cloud environment
CN103916477A (zh) 用于云环境的数据存储方法和装置、及下载方法和装置
WO2014007296A1 (ja) 順序保存暗号化システム、暗号化装置、復号化装置、暗号化方法、復号化方法およびこれらのプログラム
CN112491529B (zh) 用于不可信服务器环境中数据文件加密及完整性验证方法及其***
JP2021534443A (ja) データをセキュアにするための方法およびシステム
JP5964460B2 (ja) データの暗号化記憶システム
CN110750326B (zh) 一种虚拟机的磁盘加解密方法以及***
CN117313119A (zh) 一种应用代码加密验证方法、装置以及计算机设备
Carminati et al. Secure web service composition with untrusted broker
CN116170157A (zh) 一种基于国密算法的用户密码加解密方法与装置
CN113810421B (zh) 基于区块链的pre物联网数据共享方法及***
CN114490551A (zh) 基于联盟链的文件安全外包与共享方法
Shanthi et al. Efficient secure system of data in cloud using steganography based cryptosystem with FSN
Alrehaili et al. Cloud computing security challenges
CN102622541B (zh) 加密及解密的***和方法
Joseph et al. Multimedia encryption in cloud computing: an overview
CN117879820A (zh) 一种基于区块链的数据共享方法

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