JP2024009581A - 情報処理システムの制御方法、情報処理システム、及びプログラム - Google Patents

情報処理システムの制御方法、情報処理システム、及びプログラム Download PDF

Info

Publication number
JP2024009581A
JP2024009581A JP2022111215A JP2022111215A JP2024009581A JP 2024009581 A JP2024009581 A JP 2024009581A JP 2022111215 A JP2022111215 A JP 2022111215A JP 2022111215 A JP2022111215 A JP 2022111215A JP 2024009581 A JP2024009581 A JP 2024009581A
Authority
JP
Japan
Prior art keywords
information processing
encryption
inference
learned model
processing system
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.)
Pending
Application number
JP2022111215A
Other languages
English (en)
Inventor
健太 新家
Kenta Araya
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2022111215A priority Critical patent/JP2024009581A/ja
Publication of JP2024009581A publication Critical patent/JP2024009581A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】学習済モデルを利用した推論処理において情報の秘匿化をより好適な態様で実現する。【解決手段】学習済モデル暗号化部33は、加法準同型性と乗法準同型性とを満たす暗号化アルゴリズムにより、機械学習に基づき構築された学習済モデルのパラメータに暗号化処理を施す。推論部13は、暗号化が施されていない入力データを、パラメータに暗号化処理が施された学習済モデルに入力することで、当該学習済モデルに推論処理を実行させる。データ復号部22は、推論処理の結果として学習済モデルから出力される出力データに対して、上記暗号化アルゴリズムに基づく復号処理を施す。【選択図】図2

Description

本開示は、情報処理システムの制御方法、情報処理システム、及びプログラムに関する。
IoT機器やセンサ等の端末装置にAIを搭載し、端末装置が学習や推論を行うエッジAIと称される技術が知られている。また、エッジAIにおいて、学習済モデルのパラメータに暗号化が施された状態で推論処理を可能とする技術も各種検討されている。このような技術として、完全準同型暗号を利用する方法が挙げられる。完全準同型暗号とは、データ値を暗号化し、加算ないし乗算した後に復号すると、元のデータ値をそのまま加算ないし乗算した結果と一致するという性質を有する暗号である。このような性質を利用することで、データと学習済モデルとのそれぞれのパラメータが暗号化されたうえで推論が行われたとしても、その推論結果を復号することで通常の推論時と同様の結果を得ることが可能となる。
特許文献1には、サービス提供サーバが、データを端末装置から受信し、学習済モデルをモデル提供サーバから受信して、当該学習済モデルに当該データを入力して推論を行ったうえで、当該推論の結果を端末装置に送信する処理が開示されている。同処理では、モデル提供サーバに保持された秘密鍵を端末装置に保持された公開鍵で暗号化することで二重鍵を生成し、この二重鍵を用いたデータ復号を経由することで、データと学習済モデルとの双方のパラメータを秘匿したままでの演算を実現している。
特開2019-168590号公報
Ran Gilad-Bachrach et al, "CryptoNets: Applying Neural Networks to Encrypted Data with High Throughput and Accuracy," Proceedings of The 33rd International Conference on Machine Learning, vol. 48, pp. 201-210, 2016. Jung Hee Cheon et al, "Homomorphic Encryption for Arithmetic of Approximate Numbers," Advances in Cryptology-ASIACRYPT, pp. 409-437, 2017. Zvika Brakerski et al, "(Leveled) fully homomorphi encryption without bootstrapping," Proceedings of the 3rd Innovations in Theoretical Computer Science Conference (ITCS), pp. 309-325, 2012.
一方で、推論に利用されるデータが暗号化の対象とされる場合には、データのサイズが大きくなるほど、当該データに暗号化を施すためにより長い時間を要することとなる。このような状況下では、例えば、動画像のデータを対象としてリアルタイムで推論を行うような場合に、当該データに暗号化を施す処理が追加されることで、遅延の増大やフレームレートの低下が生じる場合がある。
本発明は上記の問題を鑑み、学習済モデルを利用した推論処理において情報の秘匿化をより好適な態様で実現することを目的とする。
本発明に係る情報処理システムの制御方法は、加法準同型性と乗法準同型性とを満たす暗号化アルゴリズムにより、機械学習に基づき構築された学習済モデルのパラメータに暗号化処理を施す暗号化ステップと、暗号化が施されていない入力データを前記学習済モデルに入力することで、当該学習済モデルに推論処理を実行させる推論ステップと、前記推論処理の結果として前記学習済モデルから出力される出力データに対して、前記暗号化アルゴリズムに基づく復号処理を施す復号ステップと、を含むことを特徴とする。
本発明によれば、学習済モデルを利用した推論処理において情報の秘匿化をより好適な態様で実現することが可能となる。
情報処理装置のハードウェア構成の一例を示した図である。 情報処理システムの機能構成の一例を示したブロック図である。 情報処理システムの処理の一例を示したフローチャートである。 情報処理システムの機能構成の一例を示したブロック図である。 情報処理システムの処理の一例を示したフローチャートである。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
<はじめに>
まず、本開示の一実施形態に係る情報処理装置の特徴をよりわかりやすくするために、完全準同型暗号とニューラルネットワーク(NN:Neural Network)とについて説明したうえで、完全準同型暗号をNNへ適用する手順について説明する。
(完全準同型暗号について)
完全準同型暗号とは、加法準同型性と乗法準同型性との双方を満たす暗号化アルゴリズムである。具体的には、完全準同型暗号は、集合Pに対して定義され、集合Qを終域とする写像f:P→Qと、集合Qに対して定義され、集合Pを終域とする写像f-1:Q→Pの組であって、以下に(1)及び(2)として示す式を満たす写像f及びf-1の組に相当する。
Figure 2024009581000002
このとき、写像fの処理は暗号化と称され、写像f-1の処理は復号と称される。すなわち、完全準同型暗号においては、データを暗号化してから加算あるいは乗算した結果を復号すると、当該データをそのまま加算あるいは乗算した結果に一致することとなる。
完全準同型暗号は、無限回の加算と無限回の乗算との双方に対して準同型性を満たす暗号である。完全準同型暗号は、その性能の高さと引き換えに、暗号化や復号に要する計算コストが非常に高く、そのままでは実用化が難しい。このような課題に対して、完全準同型暗号の代わりに、Leveled準同型暗号やSomewhat準同型暗号を利用するという解決法が挙げられる。Leveled準同型暗号やSomewhat準同型暗号は、準同型性を満たす演算可能回数が有限ではあるものの、完全準同型暗号に比べて少ない計算コストで加算と乗算との双方に対して準同型性を満たす暗号である。なお、以降では、完全準同型暗号が適用される場合に着目して各種説明を行うが、完全準同型暗号に代えてLeveled準同型暗号やSomewhat準同型暗号が適用されてもよい。
一般的には暗号化や復号は暗号鍵と称されるデータを用いて実行される。このような暗号鍵を利用した暗号方式の一例としては、例えば、共通鍵暗号方式や公開鍵暗号方式が挙げられる。共通鍵暗号方式とは、暗号化と復号とに共通の暗号鍵(共通鍵)を用いる方式であり、代表的な手法としてAES(Advanced Encryption Standard)等が挙げられる。これに対して、公開鍵暗号方式とは、暗号化と復号とに異なる暗号鍵を用いる方式であり、代表的な手法としてRSA等が挙げられる。なお、公開鍵暗号方式においては、暗号化に用いられる暗号鍵が公開鍵と称され、復号に用いられる暗号鍵が秘密鍵と称される。完全準同型暗号は、公開鍵暗号方式と共通鍵暗号方式とのいずれの方式も適用することが可能であるが、以降では公開鍵暗号方式が適用される場合の例に着目して各種説明を行うものとする。
完全準同型暗号の応用例としては、秘密計算への適用が挙げられる。秘密計算とは、データを暗号化したまま計算を行う技術であり、近年では特に深層学習の計算を外部サーバへ委託する際のデータ保護を目的として研究が進められている。
(NNについて)
ニューラルネットワーク(NN:Neural Network)とは、脳の神経回路の働きを模した数理モデルである。NNは、全体としては層状の構造を有しており、各層には脳のニューロンに相当するノードが複数存在する。NNを形成する各ノードには、1つ前の層に含まれる複数のノードの出力値に重みが乗算された値とバイアスと称される値とが入力される。各ノードへの入力値は合算され、活性化関数と称される非線形関数が適用された後に、次の層へと出力される。以上の計算を数式で表すと、以下に式(3)として示す通りとなる。
Figure 2024009581000003
上記式(3)において、yは出力値、fは活性化関数、Wnは重み、xnは入力値、bはバイアスを表している。また、nは、対象となるノードに接続されている1つ前の層のノード群のインデックスを表している。なお、活性化関数としては、例えば、シグモイド関数や、ReLU(Rectified Linear Unit)等が適用される。
また、上記重みやバイアスといったパラメータを最適化する工程が「学習」と称され、最適化されたパラメータを用いてNN全体への入力データから出力を算出する工程が「推論」と称される。
(NNへの準同型暗号の適用について)
式(3)として示されているように、NNに含まれる演算は主に、「重みと入力値の乗算」、「バイアスの加算」、及び「活性化関数の適用」の3つである。したがって、活性化関数として加算及び乗算のみからなる関数(多項式関数)を選べば、NNに含まれる演算を全て加算及び乗算のみから構成することが可能である。すなわち、入力データ、重み、及びバイアスを全て準同型暗号化し、NNの推論処理を行った後に復号すると、暗号化していない場合と同様の出力値が得られる。なお、活性化関数としてはy=x2等が用いられる。
なお、活性化関数以外に加算及び乗算のみでの表現が困難な演算が含まれる場合には、当該演算を加算及び乗算のみからなる関数で置き換えるとよい。具体的な一例として、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)では、プーリングと称される処理が実行される。このプーリング処理として採用される最大プーリングについては、準同型暗号の適用が困難である。このような課題への対処法の一例として、非特許文献1には、スケーリングされた平均プーリング処理を適用する方法が開示されている。
(NNへの完全準同型暗号の適用時に入力データを暗号化しなくてよい根拠)
暗号における準同型性とは、暗号化されたデータどうしで演算を行いその結果を復号すると、暗号化前のデータどうしで当該演算を行った場合の結果と一致するという性質のことである。あくまで暗号の準同型性が保証するのは暗号化されたデータどうしの演算についてであり、片方のデータだけが暗号化された場合の演算結果については保証されていない。ところが、完全準同型暗号を深層学習に適用するにあたり、実際には学習済モデルのパラメータ(重み、バイアス等)を暗号化せずに、入力データに対して暗号化が施されてもよいことが非特許文献1に開示されている。このような特性を鑑み、本開示では、非特許文献1のアイデアに則り、非特許文献1に開示された内容とは逆に、入力データに対して暗号化を施さず、学習済モデルのパラメータ(重み、バイアス等)に対して暗号化を施す場合の一例について説明する。
これまでに提案されている完全準同型暗号は、いずれも格子暗号をベースとした手法となっている。格子とは、ある基底ベクトル集合に対してそれらの線形結合により表されるすべての点の集合を示している。公開鍵暗号方式の格子暗号では、ある整数ベクトルを秘密鍵として、ある基底ベクトル集合に対して当該秘密鍵を結合重みとする整数線形結合により表される点に小さな誤差を加えた点を公開鍵とする。例えば、非特許文献2に開示されたCKKS方式では、「基底ベクトルを整数線形結合したものに誤差を加える」という処理を2回繰り返して行ったものと、当該処理を1回だけ行ったものとを算出し、前者にのみ平文データを加算して2つの暗号文を生成する。すなわち、以下に式(4)として示す関係式に基づき、平文mに対して暗号文c=(c0,c1)を生成する。
Figure 2024009581000004
ただし、上記式(4)において、vはランダムにサンプルされた多項式剰余環、aは基底ベクトルに対応する多項式剰余環、e、e0、及びe1はノイズに対応する多項式剰余環、sは秘密鍵にあたる多項式剰余環をそれぞれ示している。ここで重要な点は、暗号文は平文データにランダムサンプル値やノイズが付加されたものであるということである。仮にランダムサンプル値やノイズ、すなわちv、e0、及びe1のそれぞれが0である場合には、c=(m,0)となり、暗号文cはもとの平文mに一致する。
ここで、v、e0、及びe1は、定義上いずれも0になり得る値であるため、暗号文cがもとの平文mに一致した状態においても暗号文としての数学的特性(完全準同型暗号)が失われることはない。よって入力データが平文の状態(暗号化されていない状態)で扱われ、学習済モデルのパラメータが暗号化されても、完全準同型性を満たしたまま加算や乗算といった演算を行うことが可能である。
上記に例示した、暗号文としての数学的特性が失われることはないという主張は、他の暗号化方式においても成り立つことを示す。非特許文献3に開示されたBGV方式においては、平文mから暗号文cは、以下に式(5)として示す関係式で表される。
Figure 2024009581000005
ただし、m=[m0 0 … 0]Tはベクトルで、第1項m1は係数が0または1の多項式剰余環であり、残りの項は0である。また、Aは秘密鍵sと誤差eに対してA・s=2eを満たす行列であり、rは係数が0または1からランダムにサンプルされた多項式剰余環からなるベクトルである。CKKS方式の場合と同様に、ランダムサンプル値やノイズが0であれば、c=m=[m 0 … 0]Tとなり、暗号文と平文とが一致する。
上記に例示したように、格子暗号をベースとした暗号化手法では、暗号文(暗号化されたデータ)が平文(暗号化されていないデータ)にランダムサンプル値やノイズを付加することで生成される。したがって、当該ランダムサンプル値や当該ノイズがすべて0であるとみなされることで、平文をそのまま暗号文として扱うことが可能である。
なお、上記は格子暗号をベースとした完全準同型暗号について成り立つが、平文空間や暗号化空間が整数やその剰余環等である場合には、後述する説明によっても、学習済モデルへの入力データを暗号化しなくてもよいことが主張できる。
整数値により表現されるデータa、bについて、写像f:P→Qを暗号化とし、写像f-1:Q→Pを復号とする完全準同型暗号については、以下に式(6)として示す関係式を導くことが可能である。
Figure 2024009581000006
ただし、上記式(6)において、2つ目の等式変形は、加法準同型性の定義を表す式(1)に基づく。式(6)は、暗号化されていない値aと暗号化された値f(b)との積を復号すると、暗号化されていない状態での積abが得られることを表している。すなわち、式(6)において、aを入力データとみなし、bを学習済モデルのパラメータとみなすことで、NNへの完全準同型暗号の適用時に入力データを暗号化しなくてよいとの主張が導かれる。
<ハードウェア構成>
図1を参照して、本開示の一実施形態に係る情報処理システムを構成する情報処理装置のハードウェア構成の一例について説明する。図1に示す情報処理装置100は、例えば、図2を参照して後述する端末装置1及び学習済モデル提供サーバ3や、図4を参照して後述する端末装置4及び演算サーバ5として適用され得る。
情報処理装置100は、CPU(Central Processing Unit)104、RAM(Random Access Memory)105、及びROM(Read Only Memory)106を備える。また、情報処理装置100は、HDD(Hard Disk Drive)107、入力部101、表示部102、及びネットワークI/F部103を備える。入力部101、表示部102、ネットワークI/F部103、CPU104、RAM105、ROM106、及びHDD107のそれぞれは、データバス108を介して相互に情報を送受信可能に接続されている。
CPU104は、ROM106に記憶された制御用コンピュータプログラムを読み出してRAM105に展開したうえで、当該制御用コンピュータプログラムを実行することで、各種制御を行う。RAM105は、ワークエリアやCPU104により実行されるプログラムを展開するための一時記憶領域として用いられる。
HDD107は、画像データや設定パラメータ、各種プログラム等を記憶するための記憶領域である。また、HDD107に替えて、またはHDD107とともに、SSD(Solid State Drive)に代表される不揮発性メモリ等のような他の補助記憶装置が利用されてもよい。
ネットワークI/F部103は、情報処理装置100をインターネット等のようなネットワークに接続させるためネットワークI/Fであり、当該ネットワークを介して他の装置と間で各種情報の送受信を行う。ネットワークI/F部103を介して外部装置から受信した画像データ等は、データバス108を介してCPU104、RAM105、及びROM106に送受信される。
CPU104がROM106やHDD107に格納された画像処理プログラムを実行することによって、画像データに対する画像処理が実現される。また、HDD107は、ネットワークI/F部103を介して外部装置からデータの入力が可能であるものとする。
入力部101は、例えば、キーボード、マウス、タッチパネル等の入力デバイスにより実現される。表示部102は、例えば、液晶ディスプレイ等の表示装置により実現される。
<第1の実施形態>
本開示の第1の実施形態として、機械学習に基づき構築された学習済モデルがサーバから端末装置に配布され、当該端末装置において当該学習済モデルを利用した推論処理が実行される場合の一例について説明する。
(機能構成)
まず、図2を参照して、本実施形態に係る情報処理システムの機能構成の一例について説明する。本実施形態に係る情報処理システムは、学習済モデルを利用して推論を行う端末装置1と、学習済モデルの暗号化を行う学習済モデル提供サーバ3とを含む。また、端末装置1の内部には、トラステッド実行環境(TEE:Trusted Execution Environment)2が設けられている。
まず、端末装置1の構成の一例について説明する。端末装置1は、データ取得部11と、学習済モデル記憶部12と、推論部13と、公開鍵送信部14と、学習済モデル受信部15と、前述したトラステッド実行環境2とを含む。また、トラステッド実行環境2は、秘密鍵記憶部21と、データ復号部22と、暗号鍵生成部23とを含む。
データ取得部11は、学習済モデルを利用した推論処理の対象となるデータを取得する。具体的な一例として、データ取得部11は、撮像装置による被写体の撮像結果に応じた画像データを当該撮像装置から取得してもよい。また、他の一例として、データ取得部11は、録音装置による音響(例えば、音声)の録音結果に応じた音響データを当該録音装置から取得してもよい。
学習済モデル記憶部12は、後述する学習済モデル受信部15が学習済モデル提供サーバ3から受信した、暗号化された学習済モデルを保持するための記憶領域である。学習済モデル記憶部12は、例えば、HDD107により実現され得る。
推論部13は、データ取得部11により取得されたデータを、学習済モデル記憶部12に保持された学習済モデルへ入力することで、当該学習済モデルに推論処理を実行させる。推論部13における推論処理は、例えば、HDD107に記憶されたプログラムがRAM105に展開されたうえでCPU104(または、図示を省略したGPU)により実行されることで実現される。
公開鍵送信部14は、後述する暗号鍵生成部23により生成された公開鍵を、ネットワークを介して学習済モデル提供サーバ3に送信するための通信インターフェースである。
学習済モデル受信部15は、暗号化された学習済モデルを、ネットワークを介して学習済モデル提供サーバ3から受信するための通信インターフェースである。
公開鍵送信部14と学習済モデル受信部15とは、例えば、ネットワークI/F部103により実現され得る。
トラステッド実行環境2は、他のプログラム実行環境から分離されたプロセッサ上のセキュアな領域を示しており、実装攻撃に対して耐タンパー性を有する。なお、本開示では、プログラムが実行される領域に加え、プログラムが展開されるメモリ上の領域や、データが保持されるストレージ上の領域についても、トラステッド実行環境2に含まれるものとする。
秘密鍵記憶部21は、暗号鍵生成部23により生成された秘密鍵を保持する。秘密鍵記憶部21は、例えば、ROM106やHDD107等により実現され得る。
データ復号部22は、推論部13から出力されるデータに対して、秘密鍵記憶部21に保持された秘密鍵を利用して復号処理を施す。データ復号部22による復号処理は、トラステッド実行環境2内において対象となるプログラムがメモリ上に展開されたうえでCPU101(または、図示を省略したGPU)により実行されることで実現される。
暗号鍵生成部23は、公開鍵暗号方式における公開鍵と秘密鍵とのペアを生成する。公開鍵と秘密鍵とのペアの生成に係る処理は、トラステッド実行環境2内において対象となるプログラムがメモリ上に展開されたうえでCPU101(または、図示を省略したGPU)により実行されることで実現される。
次いで、学習済モデル提供サーバ3の構成の一例について説明する。学習済モデル提供サーバ3は、公開鍵受信部31と、学習済モデル記憶部32と、学習済モデル暗号化部33と、学習済モデル送信部34とを含む。
公開鍵受信部31は、端末装置1からネットワークを介して公開鍵を受信するための通信インターフェースである。公開鍵受信部31は、例えば、ネットワークI/F部103により実現され得る。
学習済モデル記憶部32は、端末装置1において推論に使用される学習済モデルを保持する記憶領域である。学習済モデル記憶部32は、例えば、HDD107により実現され得る。
学習済モデル暗号化部33は、学習済モデル記憶部32に保持された学習済モデルを読み出し、当該学習済モデルのパラメータに対して、公開鍵受信部31により受信された公開鍵を利用して暗号化処理を施す。学習済モデル暗号化部33による暗号化処理は、例えば、HDD107に記憶されたプログラムがRAM105に展開されてCPU104(または、図示を省略したGPU)により実行されることで実現される。また、暗号化処理の対象となる学習済モデルのパラメータには、重みとバイアスとのうちの少なくともいずれかが含まれる。
学習済モデル送信部34は、学習済モデル暗号化部33により暗号化処理が施された学習済モデルを、ネットワークを介して端末装置1に送信するための通信インターフェースである。学習済モデル送信部34は、例えば、ネットワークI/F部103により実現され得る。
なお、図2に示す構成はあくまで一例であり、本実施形態に係る情報処理システムの機能構成を限定するものではない。例えば、図2に例示した学習済モデル提供サーバ3の一連の構成要素が、複数の装置が協働することで実現されてもよい。具体的な一例として、学習済モデル提供サーバ3の一連の構成要素のうち、一部の構成要素が学習済モデル提供サーバ3の外部に外付けされた装置により実現されてもよい。また、他の一例として、学習済モデル提供サーバ3の一連の構成要素のうち少なくとも一部の構成要素の処理の負荷が複数の装置に分散されてもよい。これらは、端末装置1についても同様である。
(処理)
図3を参照して、本実施形態に係る情報処理システムの処理の一例について、学習済モデルのパラメータの暗号化に係る処理と、暗号化が施された学習済モデルを利用した推論に係る処理とに着目してそれぞれ説明する。
まず、図3(a)を参照して、学習済モデルのパラメータの暗号化に係る処理の一例について説明する。
S11において、トラステッド実行環境2の暗号鍵生成部23は、公開鍵暗号方式における公開鍵と秘密鍵とのペアを生成する。生成された当該秘密鍵は、秘密鍵記憶部21に保持される。
S12において、端末装置1の公開鍵送信部14は、S11において生成された公開鍵を、ネットワークを介して学習済モデル提供サーバ3の公開鍵受信部31に送信する。
S13において、学習済モデル提供サーバ3の学習済モデル暗号化部33は、学習済モデル記憶部32に保持された学習済モデルのパラメータに対して、S12において公開鍵受信部31が受信した公開鍵を利用して暗号化処理を施す。なお、前述したように、暗号化処理の対象となる学習済モデルのパラメータには、重みとバイアスとのうちの少なくともいずれかが含まれる。
S14において、学習済モデル提供サーバ3の学習済モデル送信部34は、S13において暗号化処理が施された学習済モデルを、ネットワークを介して端末装置1の学習済モデル受信部15に送信する。学習済モデル受信部15により受信された学習済モデルは、学習済モデル記憶部12に保持される。
次いで、図3(b)を参照して、暗号化が施された学習済モデルを利用した推論に係る処理の一例について説明する。
S21において、端末装置1のデータ取得部11は、学習済モデルを利用した推論処理の対象となるデータを取得する。具体的な一例として、データ取得部11は、撮像装置による被写体の撮像結果に応じた画像データを当該撮像装置から取得してもよい。また、他の一例として、データ取得部11は、録音装置による音響の録音結果に応じた音響データを当該録音装置から取得してもよい。
S22において、端末装置1の推論部13は、S21において取得されたデータを、学習済モデル記憶部12に保持された学習済モデルに入力することで、当該学習済モデルに推論処理を実行させる。
S23において、トラステッド実行環境2のデータ復号部22は、S22における推論処理の結果として推論部13から出力されるデータに対して、秘密鍵記憶部21に保持された秘密鍵を利用して復号処理を施す。
以上、図2及び図3を参照して、本開示の第1の実施形態として、機械学習に基づき構築された学習済モデルがサーバから端末装置に配布され、当該端末装置において当該学習済モデルを利用した推論処理が実行される場合の一例について説明した。
<第2の実施形態>
本開示の第2の実施形態として、一般的なクラウドサーバにおける秘密計算の枠組みにおいて、データを暗号化せずに学習済モデルのパラメータを暗号化して推論処理を行う場合の一例について説明する。一般的に、完全準同型暗号においては(Leveled準同型暗号やSomewhat準同型暗号も含め)、暗号化や復号等の演算に時間を要する傾向にある。そのため、大量のデータを対象として推論処理が実行される状況下では、学習済モデルのパラメータさえ暗号化されれば、データに対して暗号化が施されなくてもよいことは利点となり得る。
(構成)
図4を参照して、本実施形態に係る情報処理システムの機能構成の一例について説明する。本実施形態に係る情報処理システムは、暗号鍵の生成やデータの復号を行う端末装置4と、学習済モデルを利用して推論を行う演算サーバ5とを含む。
まず、端末装置4の構成の一例について説明する。端末装置4は、暗号鍵生成部41と、秘密鍵記憶部42と、学習済モデル記憶部43と、学習済モデル暗号化部44と、学習済モデル送信部45と、推論結果受信部46と、データ復号部47とを含む。
暗号鍵生成部41は、公開鍵暗号方式における公開鍵と秘密鍵とのペアを生成する。公開鍵と秘密鍵とのペアの生成に係る処理は、例えば、HDD107に記憶されたプログラムがRAM105に展開されたうえでCPU101(または、図示を省略したGPU)により実行されることで実現される。
秘密鍵記憶部42は、暗号鍵生成部41により生成された秘密鍵を保持する。秘密鍵記憶部42は、例えば、ROM106やHDD107等により実現され得る。
学習済モデル記憶部43は、演算サーバ5において推論に使用される学習済モデルを保持する記憶領域である。学習済モデル記憶部43は、例えば、HDD107により実現され得る。
学習済モデル暗号化部44は、学習済モデル記憶部43に保持された学習済モデルを読み出し、当該学習済モデルのパラメータに対して、暗号鍵生成部41により生成された公開鍵を利用して暗号化処理を施す。学習済モデル暗号化部44による暗号化処理は、例えば、HDD107に記憶されたプログラムがRAM105に展開されてCPU104(または、図示を省略したGPU)により実行されることで実現される。また、暗号化処理の対象となる学習済モデルのパラメータには、重みとバイアスとのうちの少なくともいずれかが含まれる。
学習済モデル送信部45は、学習済モデル暗号化部44により暗号化処理が施された学習済モデルを、ネットワークを介して演算サーバ5に送信するための通信インターフェースである。学習済モデル送信部45は、例えば、ネットワークI/F部103により実現され得る。
推論結果受信部46は、ネットワークを介して演算サーバ5から推論結果を示すデータを受信するための通信インターフェースである。推論結果受信部46は、例えば、ネットワークI/F部103により実現され得る。
データ復号部47は、推論結果受信部46が演算サーバ5から受信した推論結果を示すデータに対して、秘密鍵記憶部42に保持された秘密鍵を利用して復号処理を施す。データ復号部47による復号処理は、例えば、HDD107に記憶されたプログラムがRAM105に展開されてCPU104(または、図示を省略したGPU)により実行されることで実現される。
次いで、演算サーバ5の構成の一例について説明する。演算サーバ5は、学習済モデル受信部51と、データ記憶部52と、推論部53と、推論結果送信部54とを含む。
学習済モデル受信部51は、暗号化された学習済モデルを、ネットワークを介して端末装置4から受信するための通信インターフェースである。学習済モデル受信部51は、例えば、ネットワークI/F部103により実現され得る。
データ記憶部52は、学習済モデルを利用した推論処理の対象となるデータを保持する。データ記憶部52に保持されたデータは、推論部53による推論処理の対象となる。データ記憶部52は、例えば、HDD107により実現され得る。
推論部53は、データ記憶部52に保持されたデータを、学習済モデル受信部51が受信した学習済モデルへ入力することで、当該学習済モデルに推論処理を実行させる。推論部53における推論処理は、例えば、HDD107に記憶されたプログラムがRAM105に展開されたうえでCPU104(または、図示を省略したGPU)により実行されることで実現される。
推論結果送信部54は、推論部53による推論の結果を示すデータを、ネットワークを介して端末装置4に送信するための通信インターフェースである。推論結果送信部54は、例えば、ネットワークI/F部103により実現され得る。
なお、図4に示す構成はあくまで一例であり、本実施形態に係る情報処理システムの機能構成を限定するものではない。例えば、図4に例示した演算サーバ5の一連の構成要素が、複数の装置が協働することで実現されてもよい。具体的な一例として、演算サーバ5の一連の構成要素のうち、一部の構成要素が演算サーバ5の外部に外付けされた装置により実現されてもよい。また、他の一例として、演算サーバ5の一連の構成要素のうち少なくとも一部の構成要素の処理の負荷が複数の装置に分散されてもよい。これらは、端末装置4についても同様である。
(処理)
図5を参照して、本実施形態に係る情報処理システムの処理の一例について、学習済モデルのパラメータの暗号化に係る処理と、暗号化が施された学習済モデルを利用した推論に係る処理とに着目して説明する。
S31において、端末装置4の暗号鍵生成部41は、公開鍵暗号方式における公開鍵と秘密鍵とのペアを生成する。生成された当該秘密鍵は、秘密鍵記憶部42に保持される。
S32において、端末装置4の学習済モデル暗号化部44は、学習済モデル記憶部43に保持された学習済モデルのパラメータに対して、S31において暗号鍵生成部41により生成された公開鍵を利用して暗号化処理を施す。なお、前述したように、暗号化処理の対象となる学習済モデルのパラメータには、重みとバイアスとのうちの少なくともいずれかが含まれる。
S33において、端末装置4の学習済モデル送信部45は、S32において暗号化処理が施された学習済モデルを、ネットワークを介して演算サーバ5の学習済モデル受信部51に送信する。
S34において、演算サーバ5の推論部53は、データ記憶部52に保持されたデータを、S33において学習済モデル受信部51が受信した学習済モデルへ入力することで、当該学習済モデルに推論処理を実行させる。
S35において、演算サーバ5の推論結果送信部54は、S34における推論処理の結果を示すデータを、ネットワークを介して端末装置4の推論結果受信部46に送信する。
S36において、端末装置4のデータ復号部47は、S35において推論結果受信部46が受信した推論処理の結果を示すデータに対して、秘密鍵記憶部42に保持された秘密鍵を利用して復号処理を施す。
以上、図4及び図5を参照して、本開示の第2の実施形態として、一般的なクラウドサーバにおける秘密計算の枠組みにおいて、データを暗号化せずに学習済モデルのパラメータを暗号化して推論処理を行う場合の一例について説明した。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、上述した実施形態や変形例は本発明の適用対象を限定するものではなく、また上述した実施形態や変形例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。例えば、適用される学習済モデルに入出力されるデータの種別や、当該学習済モデルを利用した推論の種別は特に限定はされない。具体的な一例として、画像が入力されることで当該画像内の人の顔を検出し、その位置を出力する顔検出モデルが適用されてもよい。また、他の一例として、音声データが入力されることで、当該音声データをテキストデータに変換したうえで、当該テキストデータを出力する音声認識モデルが適用されてもよい。
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲内において種々の変更が加えられてもよい。
例えば、第1の実施形態において、端末装置1のデータ取得部11により学習済モデルを利用した推論処理の対象となるデータの取得が行われていたが、当該データの取得の主体は特に限定はされない。具体的な一例として、端末装置1の内部または外部に存在する機器により、上記データの取得が行われてもよい。この場合には、データ取得部11は、当該機器から上記データを取得するためのインターフェースの役割を担ってもよい。
また、第2の実施形態では、学習済モデルのパラメータの暗号化及び復号に適用される暗号化方式として公開鍵暗号方式が採用されるものとして、暗号鍵として公開鍵と秘密鍵とのペアが作成される場合の一例について説明した。一方で、学習済モデルのパラメータの暗号化及び復号が可能であれば、採用される暗号化方針は特に限定はされない。具体的な一例として、学習済モデルのパラメータの暗号化及び復号に、共通鍵暗号方式が適用されてもよい。特に第2の実施形態においては、暗号鍵が使用される場所が端末装置4内に閉じているため、共通鍵暗号方式を適用したとしてセキュリティ性を確保することが可能となる。
また、第2の実施形態では、演算サーバ5において、学習済モデル受信部51が受信した学習済モデルが推論部53に直接出力される場合の一例について説明した。一方で、学習済モデル受信部51が受信した学習済モデルが、HDD等の記憶領域に格納されてもよい。この場合には、推論部53は、上記記憶領域に保持された上記学習済モデルを読み出したうえで、当該学習済モデルを利用して推論処理を実行してもよい。なお、この場合には、図5に示す一連の処理のうち、S31~S33の処理と、S34~S36の処理とが別の契機で非同期的に実行される構成とすることも可能である。
また、本実施形態の開示は、以下の方法、システム、及びプログラムを含む。
(方法1)情報処理システムの制御方法であって、加法準同型性と乗法準同型性とを満たす暗号化アルゴリズムにより、機械学習に基づき構築された学習済モデルのパラメータに暗号化処理を施す暗号化ステップと、暗号化が施されていない入力データを、前記暗号化ステップにおいてパラメータに暗号化処理が施された前記学習済モデルに入力することで、当該学習済モデルに推論処理を実行させる推論ステップと、前記推論処理の結果として前記学習済モデルから出力される出力データに対して、前記暗号化アルゴリズムに基づく復号処理を施す復号ステップと、を含むことを特徴とする、情報処理システムの制御方法。
(方法2)前記暗号化アルゴリズムは、格子暗号に基づくアルゴリズムであることを特徴とする、方法1に記載の情報処理システムの制御方法。
(方法3)前記入力データは、整数値により表されることを特徴とする、方法1または2に記載の情報処理システムの制御方法。
(方法4)前記暗号化アルゴリズムは、共通鍵暗号方式に基づくアルゴリズムであることを特徴とする、方法1乃至3のいずれか1項に記載の情報処理システムの制御方法。
(方法5)前記暗号化アルゴリズムは、公開鍵暗号方式に基づくアルゴリズムであり、前記暗号化ステップは、公開鍵を用いて前記学習済モデルのパラメータに暗号化処理を施し、前記復号ステップは、前記公開鍵に対応する秘密鍵を用いて前記出力データに対して復号処理を施すことを特徴とする、方法1乃至3のいずれか1項に記載の情報処理システムの制御方法。
(方法6)前記公開鍵及び前記秘密鍵を保持する第1の情報処理装置が、第2の情報処理装置に前記公開鍵を送信する公開鍵送信ステップと、前記第2の情報処理装置が、前記暗号化ステップにおいてパラメータに暗号化処理が施された前記学習済モデルを前記第1の情報処理装置に送信する学習済モデル送信ステップと、を含み、前記暗号化ステップは、前記第2の情報処理装置により実行されることを特徴とする、方法5に記載の情報処理システムの制御方法。
(方法7)前記公開鍵及び前記秘密鍵は、他のプログラムの実行環境とは分離されたトラステッド実行環境において生成され、前記秘密鍵を用いた前記出力データに対する復号処理は、前記トラステッド実行環境において実行されることを特徴とする、方法5または6に記載の情報処理システムの制御方法。
(方法8)前記秘密鍵を保持する第1の情報処理装置が、前記暗号化ステップにおいてパラメータに暗号化処理が施された前記学習済モデルを第2の情報処理装置に送信する学習済モデル送信ステップを含み、前記推論ステップは、前記第2の情報処理装置により実行されることを特徴とする、方法5に記載の情報処理システムの制御方法。
(方法9)前記学習済モデルは、ニューラルネットワークにより構成され、前記パラメータは、前記ニューラルネットワークを形成するノードの出力値に適用される重みと、前記ニューラルネットワークを形成するノードに入力されるバイアスと、のうちの少なくともいずれかを含むことを特徴とする、方法1乃至8のいずれか1項に記載の情報処理システムの制御方法。
(方法10)前記学習済モデルは、ニューラルネットワークにより構成され、前記ニューラルネットワークを形成するノードの入力値に対して、加算及び乗算のみで構成される活性化関数を適用する処理を含むことを特徴とする、方法1乃至9のいずれか1項に記載の情報処理システムの制御方法。
(方法11)前記学習済モデルは、ニューラルネットワークにより構成され、前記入力データに対する畳み込み処理の結果に対して適用される、加算及び乗算のみで構成されるプーリング処理を含むことを特徴とする、方法1乃至10のいずれか1項に記載の情報処理システムの制御方法。
(システム1)
加法準同型性と乗法準同型性とを満たす暗号化アルゴリズムにより、機械学習に基づき構築された学習済モデルのパラメータに暗号化処理を施す暗号化手段と、暗号化が施されていない入力データを、前記暗号化手段によりパラメータに暗号化処理が施された前記学習済モデルに入力することで、当該学習済モデルに推論処理を実行させる推論手段と、前記推論処理の結果として前記学習済モデルから出力される出力データに対して、前記暗号化アルゴリズムに基づく復号処理を施す復号手段と、を有することを特徴とする、情報処理システム。
(プログラム1)
コンピュータを、加法準同型性と乗法準同型性とを満たす暗号化アルゴリズムにより、機械学習に基づき構築された学習済モデルのパラメータに暗号化処理を施す暗号化手段を有する情報処理装置として機能させ、暗号化が施されていない入力データを、前記暗号化手段によりパラメータに暗号化処理が施された前記学習済モデルに入力することで、当該学習済モデルに推論処理を実行され、前記推論処理の結果として前記学習済モデルから出力される出力データに対して、前記暗号化アルゴリズムに基づく復号処理が施されることを特徴とする、プログラム。
(プログラム2)
コンピュータを、機械学習に基づき構築され、かつ加法準同型性と乗法準同型性とを満たす暗号化アルゴリズムによりパラメータに暗号化処理が施された学習済モデルに対して、暗号化が施されていない入力データを入力することで、当該学習済モデルに推論処理を実行させる推論手段と、前記推論処理の結果として前記学習済モデルから出力される出力データに対して、前記暗号化アルゴリズムに基づく復号処理を施す復号手段と、を有する情報処理装置として機能させることを特徴とする、プログラム。
1 端末装置
3 学習済モデル提供サーバ
13 推論部
21 秘密鍵記憶部
22 データ復号部
23 暗号鍵生成部
33 学習済モデル暗号化部
ただし、m=[m 0 … 0]Tはベクトルで、第1項m1は係数が0または1の多項式剰余環であり、残りの項は0である。また、Aは秘密鍵sと誤差eに対してA・s=2eを満たす行列であり、rは係数が0または1からランダムにサンプルされた多項式剰余環からなるベクトルである。CKKS方式の場合と同様に、ランダムサンプル値やノイズが0であれば、c=m=[m 0 … 0]Tとなり、暗号文と平文とが一致する。

Claims (14)

  1. 情報処理システムの制御方法であって、
    加法準同型性と乗法準同型性とを満たす暗号化アルゴリズムにより、機械学習に基づき構築された学習済モデルのパラメータに暗号化処理を施す暗号化ステップと、
    暗号化が施されていない入力データを、前記暗号化ステップにおいてパラメータに暗号化処理が施された前記学習済モデルに入力することで、当該学習済モデルに推論処理を実行させる推論ステップと、
    前記推論処理の結果として前記学習済モデルから出力される出力データに対して、前記暗号化アルゴリズムに基づく復号処理を施す復号ステップと、
    を含むことを特徴とする、情報処理システムの制御方法。
  2. 前記暗号化アルゴリズムは、格子暗号に基づくアルゴリズムであることを特徴とする、請求項1に記載の情報処理システムの制御方法。
  3. 前記入力データは、整数値により表されることを特徴とする、請求項1に記載の情報処理システムの制御方法。
  4. 前記暗号化アルゴリズムは、共通鍵暗号方式に基づくアルゴリズムであることを特徴とする、請求項1に記載の情報処理システムの制御方法。
  5. 前記暗号化アルゴリズムは、公開鍵暗号方式に基づくアルゴリズムであり、
    前記暗号化ステップは、公開鍵を用いて前記学習済モデルのパラメータに暗号化処理を施し、
    前記復号ステップは、前記公開鍵に対応する秘密鍵を用いて前記出力データに対して復号処理を施す
    ことを特徴とする、請求項1に記載の情報処理システムの制御方法。
  6. 前記公開鍵及び前記秘密鍵を保持する第1の情報処理装置が、第2の情報処理装置に前記公開鍵を送信する公開鍵送信ステップと、
    前記第2の情報処理装置が、前記暗号化ステップにおいてパラメータに暗号化処理が施された前記学習済モデルを前記第1の情報処理装置に送信する学習済モデル送信ステップと、
    を含み、
    前記暗号化ステップは、前記第2の情報処理装置により実行される
    ことを特徴とする、請求項5に記載の情報処理システムの制御方法。
  7. 前記公開鍵及び前記秘密鍵は、他のプログラムの実行環境とは分離されたトラステッド実行環境において生成され、
    前記秘密鍵を用いた前記出力データに対する復号処理は、前記トラステッド実行環境において実行される
    ことを特徴とする、請求項5に記載の情報処理システムの制御方法。
  8. 前記秘密鍵を保持する第1の情報処理装置が、前記暗号化ステップにおいてパラメータに暗号化処理が施された前記学習済モデルを第2の情報処理装置に送信する学習済モデル送信ステップを含み、
    前記推論ステップは、前記第2の情報処理装置により実行される
    ことを特徴とする、請求項5に記載の情報処理システムの制御方法。
  9. 前記学習済モデルは、ニューラルネットワークにより構成され、
    前記パラメータは、前記ニューラルネットワークを形成するノードの出力値に適用される重みと、前記ニューラルネットワークを形成するノードに入力されるバイアスと、のうちの少なくともいずれかを含む
    ことを特徴とする、請求項1に記載の情報処理システムの制御方法。
  10. 前記学習済モデルは、
    ニューラルネットワークにより構成され、
    前記ニューラルネットワークを形成するノードの入力値に対して、加算及び乗算のみで構成される活性化関数を適用する処理を含む
    ことを特徴とする、請求項1に記載の情報処理システムの制御方法。
  11. 前記学習済モデルは、
    ニューラルネットワークにより構成され、
    前記入力データに対する畳み込み処理の結果に対して適用される、加算及び乗算のみで構成されるプーリング処理を含む
    ことを特徴とする、請求項1に記載の情報処理システムの制御方法。
  12. 加法準同型性と乗法準同型性とを満たす暗号化アルゴリズムにより、機械学習に基づき構築された学習済モデルのパラメータに暗号化処理を施す暗号化手段と、
    暗号化が施されていない入力データを、前記暗号化手段によりパラメータに暗号化処理が施された前記学習済モデルに入力することで、当該学習済モデルに推論処理を実行させる推論手段と、
    前記推論処理の結果として前記学習済モデルから出力される出力データに対して、前記暗号化アルゴリズムに基づく復号処理を施す復号手段と、
    を有することを特徴とする、情報処理システム。
  13. コンピュータを、
    加法準同型性と乗法準同型性とを満たす暗号化アルゴリズムにより、機械学習に基づき構築された学習済モデルのパラメータに暗号化処理を施す暗号化手段を有する情報処理装置として機能させ、
    暗号化が施されていない入力データを、前記暗号化手段によりパラメータに暗号化処理が施された前記学習済モデルに入力することで、当該学習済モデルに推論処理が実行され、
    前記推論処理の結果として前記学習済モデルから出力される出力データに対して、前記暗号化アルゴリズムに基づく復号処理が施される
    ことを特徴とする、プログラム。
  14. コンピュータを、
    機械学習に基づき構築され、かつ加法準同型性と乗法準同型性とを満たす暗号化アルゴリズムによりパラメータに暗号化処理が施された学習済モデルに対して、暗号化が施されていない入力データを入力することで、当該学習済モデルに推論処理を実行させる推論手段と、
    前記推論処理の結果として前記学習済モデルから出力される出力データに対して、前記暗号化アルゴリズムに基づく復号処理を施す復号手段と、
    を有する情報処理装置として機能させることを特徴とする、プログラム。
JP2022111215A 2022-07-11 2022-07-11 情報処理システムの制御方法、情報処理システム、及びプログラム Pending JP2024009581A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022111215A JP2024009581A (ja) 2022-07-11 2022-07-11 情報処理システムの制御方法、情報処理システム、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022111215A JP2024009581A (ja) 2022-07-11 2022-07-11 情報処理システムの制御方法、情報処理システム、及びプログラム

Publications (1)

Publication Number Publication Date
JP2024009581A true JP2024009581A (ja) 2024-01-23

Family

ID=89723821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022111215A Pending JP2024009581A (ja) 2022-07-11 2022-07-11 情報処理システムの制御方法、情報処理システム、及びプログラム

Country Status (1)

Country Link
JP (1) JP2024009581A (ja)

Similar Documents

Publication Publication Date Title
Li et al. Privacy-preserving machine learning with multiple data providers
Wang et al. Cryptanalysis of a symmetric fully homomorphic encryption scheme
JP4575283B2 (ja) 暗号装置、復号装置、プログラム及び方法
CN111373401B (zh) 同态推理装置、同态推理方法、计算机能读取的存储介质和隐匿信息处理系统
US9276734B2 (en) Confidential computation system, confidential computation method, and confidential computation program
JP6962578B2 (ja) 暗号処理システム、暗号処理装置、暗号処理プログラム、及び暗号処理方法
Lytvyn et al. Information encryption based on the synthesis of a neural network and AES algorithm
CN110635909B (zh) 一种基于属性的抗合谋攻击的代理重加密方法
KR20200047002A (ko) 동형 암호를 이용한 암호문 비교 방법 및 이를 수행하기 위한 장치
WO2021129470A1 (zh) 基于多项式完全同态的二进制数据加密系统及方法
JP2019168590A (ja) 情報処理方法及び情報処理システム
JP2019095635A (ja) 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム
Albahrani et al. A review on audio encryption algorithms using chaos maps-based techniques
AU2018271515B2 (en) Secret tampering detection system, secret tampering detection apparatus, secret tampering detection method, and program
CN114338229A (zh) 一种轻量级动态广播代理重新加密及云数据共享方法
CN116170142B (zh) 分布式协同解密方法、设备和存储介质
CN117240433A (zh) 一种基于代理重加密的信息分享方法及装置
CN111159724B (zh) 一种细粒度策略的条件代理可重构加密方法
JP2024009581A (ja) 情報処理システムの制御方法、情報処理システム、及びプログラム
KR20240004830A (ko) 완전 동형 암호화에서 사용하기 위한 블라인드 회전
WO2022137447A1 (ja) 秘匿情報処理システムおよび秘匿情報処理方法
JP7146725B2 (ja) 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム
US11336429B2 (en) Method for protecting a source of entropy used in countermeasures securing a white-box cryptographic algorithm
CN109829319B (zh) 一种基于压缩感知技术和Hybrid混沌系统的图像加密方法
Huang et al. Secure word-level sorting based on fully homomorphic encryption

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220721