IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社野村総合研究所の特許一覧

特開2023-112981秘密計算システム、秘密計算方法及び秘密計算プログラム
<>
  • 特開-秘密計算システム、秘密計算方法及び秘密計算プログラム 図1
  • 特開-秘密計算システム、秘密計算方法及び秘密計算プログラム 図2
  • 特開-秘密計算システム、秘密計算方法及び秘密計算プログラム 図3
  • 特開-秘密計算システム、秘密計算方法及び秘密計算プログラム 図4
  • 特開-秘密計算システム、秘密計算方法及び秘密計算プログラム 図5
  • 特開-秘密計算システム、秘密計算方法及び秘密計算プログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023112981
(43)【公開日】2023-08-15
(54)【発明の名称】秘密計算システム、秘密計算方法及び秘密計算プログラム
(51)【国際特許分類】
   G09C 1/00 20060101AFI20230807BHJP
【FI】
G09C1/00 650Z
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022015037
(22)【出願日】2022-02-02
(71)【出願人】
【識別番号】000155469
【氏名又は名称】株式会社野村総合研究所
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100080953
【弁理士】
【氏名又は名称】田中 克郎
(72)【発明者】
【氏名】田村 光太郎
(72)【発明者】
【氏名】外園 康智
(57)【要約】
【課題】より安全に、複数の情報端末の暗号化データを処理することを可能とする。
【解決手段】複数の情報処理システムで生成される複数の異なる鍵情報を用いて暗号化されたデータを示す複数の処理対象データのそれぞれを、複数の情報端末のうち対応する情報端末から取得する取得部と、複数の処理対象データを暗号化した状態で、複数の処理対象データに基づいて計算した結果を示す結果データを生成する秘密計算部と、複数の情報端末に結果データを提供する提供部と、を備える秘密計算システム。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数の情報処理システムで生成される複数の異なる鍵情報を用いて暗号化されたデータを示す複数の処理対象データのそれぞれを、複数の情報端末のうち対応する情報端末から取得する取得部と、
前記複数の処理対象データを暗号化した状態で、前記複数の処理対象データに基づいて計算した結果を示す結果データを生成する秘密計算部と、
前記複数の情報端末に前記結果データを提供する提供部と、
を備える秘密計算システム。
【請求項2】
前記複数の異なる鍵情報のうち、少なくとも1つの鍵情報を生成し、前記複数の情報端末に発行する発行部をさらに備える、請求項1に記載の秘密計算システム。
【請求項3】
前記取得部は、所定の学習モデルにおけるパラメータを示すパラメータ情報を含む前記複数の処理対象データを取得し、
前記秘密計算部は、前記パラメータ情報に基づいて、新たな前記パラメータ情報を示す前記結果データを生成する、
請求項1又は2に記載の秘密計算システム。
【請求項4】
前記複数の処理対象データのそれぞれは、前記所定の学習モデルを用いて生成される前記パラメータ情報に対応するデータの数を示すデータ数情報をさらに含み、
前記秘密計算部は、前記データ数情報に基づいて行われる前記パラメータ情報の重み付けにより、前記結果データを生成する、
請求項3に記載の秘密計算システム。
【請求項5】
前記所定の学習モデルは、入力されるデータに基づき所定の2つ状態のいずれかを予測し、
前記パラメータ情報は、前記所定の2つの状態のそれぞれに対応するパラメータであり、
前記秘密計算部は、前記所定の2つの状態の一方のパラメータ情報を前記所定の2つの状態の他方のデータ数情報に基づいて重み付けして、前記結果データを生成する、
請求項4に記載の秘密計算システム。
【請求項6】
コンピュータが、
複数の情報処理システムで生成される複数の異なる鍵情報を用いて暗号化されたデータを示す複数の処理対象データのそれぞれを、複数の情報端末のうち対応する情報端末から取得し、
前記複数の処理対象データを暗号化した状態で、前記複数の処理対象データに基づいて計算した結果を示す結果データを生成し、
前記複数の情報端末に前記結果データを提供する、
秘密計算方法。
【請求項7】
コンピュータに、
複数の情報処理システムで生成される複数の異なる鍵情報を用いて暗号化されたデータを示す複数の処理対象データのそれぞれを、複数の情報端末のうち対応する情報端末から取得する取得部と、
前記複数の処理対象データを暗号化した状態で、前記複数の処理対象データに基づいて計算した結果を示す結果データを生成する秘密計算部と、
前記複数の情報端末に前記結果データを提供する提供部と、
を実現させるための秘密計算プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、秘密計算システム、秘密計算方法及び秘密計算プログラムに関する。
【背景技術】
【0002】
従来、プライバシーや機密情報の保護のニーズが高まり、複数の情報端末から取得する暗号化データを、暗号化した状態で秘密計算を行い、新たなデータを生成する技術が求められている。
【0003】
例えば、特許文献1に記載されている秘密計算システムでは、秘密計算サーバが、データ提供端末及び集計端末で共有されている秘密鍵を用いて暗号化されたデータを取得し、暗号文ごとにデータの数を集計し、集計結果を集計端末に送信する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許6722608号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1では、暗号化に用いられる秘密鍵は、データ提供端末及び集計端末で共有されていることから、当該暗号化データは、集計端末で復号可能であり、セキュリティ上の問題があった。
【0006】
そこで、本発明は、より安全に、複数の情報端末の暗号化データを処理することが可能な秘密計算システム、秘密計算方法及び秘密計算プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様に係る秘密計算システムは、複数の情報処理システムで生成される複数の異なる鍵情報を用いて暗号化されたデータを示す複数の処理対象データのそれぞれを、複数の情報端末のうち対応する情報端末から取得する取得部と、複数の処理対象データを暗号化した状態で、複数の処理対象データに基づいて計算した結果を示す結果データを生成する秘密計算部と、複数の情報端末に結果データを提供する提供部と、を備える。
【0008】
本発明の一態様に係る秘密計算方法は、コンピュータが、複数の情報処理システムで生成される複数の異なる鍵情報を用いて暗号化されたデータを示す複数の処理対象データのそれぞれを、複数の情報端末のうち対応する情報端末から取得し、複数の処理対象データを暗号化した状態で、複数の処理対象データに基づいて計算した結果を示す結果データを生成し、複数の情報端末に結果データを提供する。
【0009】
本発明の一態様に係る秘密計算プログラムは、コンピュータに、複数の情報処理システムで生成される複数の異なる鍵情報を用いて暗号化されたデータを示す複数の処理対象データのそれぞれを、複数の情報端末のうち対応する情報端末から取得する取得部と、複数の処理対象データを暗号化した状態で、複数の処理対象データに基づいて計算した結果を示す結果データを生成する秘密計算部と、複数の情報端末に結果データを提供する提供部と、を実現させる。
【0010】
なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」や装置が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や装置の機能が1つの物理的手段や装置により実現されてもよい。
【発明の効果】
【0011】
本発明によれば、より安全に、複数の情報端末の暗号化データを処理することが可能な秘密計算システム、秘密計算方法及び秘密計算プログラムを提供することができる。
【図面の簡単な説明】
【0012】
図1】本発明の一実施形態である秘密計算システム100の構成を示す図である。
図2】取得部120が取得する情報の例を示す図である。
図3】処理対象データ記憶部130に記憶される情報の例を示す図である。
図4】結果データ記憶部150に記憶される情報の例を示す図である。
図5】秘密計算システム100における処理の例を示すシーケンスチャートである。
図6】コンピュータ600のハードウェア構成の例を示す図である。
【発明を実施するための形態】
【0013】
添付図面を参照して、本発明の好適な実施形態について説明する。図1は、本発明の一実施形態である秘密計算システム100の構成を示す図である。
【0014】
秘密計算システム100は、情報端末200(200a、200b)及びサーバ300とインターネット等のネットワークを介して通信可能に接続されるシステムである。
【0015】
秘密計算システム100における秘密計算とは、データを秘匿した状態で計算することをいう。秘密計算では、例えば、一若しくは複数の組織が保有するデータが当該組織若しくは他の組織に一切開示されることなく、当該データに基づいた所望の計算処理が実行される。また、秘密計算では、計算結果は、秘匿された状態で、当該データを保有する一若しくは複数の組織又は他の組織に提供される。このように、秘密計算システム100では、秘密計算により、計算に用いられるデータ及び計算過程のセキュリティを向上させて、所定の計算が実行される。
【0016】
秘密計算システム100は、暗号化されたデータ(処理対象データ)を取得して、処理対象データを暗号化した状態で、複数の処理対象データに基づいて秘密計算を行い、新たなデータ(結果データ)を生成する。具体的には、秘密計算システム100は、複数の情報処理システムで生成される複数の異なる鍵情報を用いて暗号化された複数の処理対象データを取得して、暗号化した状態で、複数の処理対象データに基づいて計算した結果を示す結果データを生成する。
【0017】
また、秘密計算システム100は、所定の学習モデルにおけるパラメータを示すパラメータ情報を暗号化した複数の処理対象データのそれぞれを、複数の情報端末のうち対応する情報端末から取得することができる。そして、秘密計算システム100は、複数の処理対象データを暗号化した状態で、複数のパラメータ情報に基づいて新たなパラメータ情報を生成することができる。秘密計算システム100の詳細については、後述する。
【0018】
情報端末200は、複数の情報処理システムで生成される複数の異なる鍵情報を取得して、複数の異なる鍵情報を用いてデータを暗号化し、暗号化した処理対象データを秘密計算システム100に提供する。情報端末200は、例えば、秘密計算システム100を利用するユーザの情報端末である。
【0019】
情報端末200は、鍵情報を、任意の情報処理システムから取得することができる。すなわち、情報端末200は、例えば、秘密計算システム100及び後述するサーバ300から、異なる鍵情報を取得することができる。この場合、例えば、情報端末200は、秘密計算システム100の利用を要求する利用要求情報を秘密計算システム100又はサーバ300に送信し、利用要求情報に応じて秘密計算システム100及びサーバ300から発行される異なる鍵情報を取得してもよい。
【0020】
なお、図1では、情報端末200の例として、情報端末200a、200bの2つを示しているが、情報端末200の数はこれに限られない。
【0021】
サーバ300は、情報端末200が暗号化に用いる鍵情報を生成し、情報端末200に提供する。
【0022】
秘密計算システム100が所定の学習モデルにおけるパラメータを示すパラメータ情報を秘密計算にて処理する場合、サーバ300は、所定の学習モデルを管理するサーバであってもよい。この場合、サーバ300は、情報端末200からパラメータ情報を受け取ると、当該パラメータ情報に応じて学習モデルを更新して新たな学習モデルを生成し、新たな学習モデルに関する情報を情報端末200に提供してもよい。
【0023】
続いて、秘密計算システム100の詳細について説明する。秘密計算システム100は、発行部110、取得部120、処理対象データ記憶部130、秘密計算部140、結果データ記憶部150、提供部160を備える。秘密計算システム100を構成するコンピュータは、プロセッサ及び記憶領域を備える。図1に示す各部は、例えば、記憶領域を用いたり、記憶領域に格納されたプログラムをプロセッサが実行したりすることにより実現することができる。
【0024】
発行部110は、少なくとも1つの鍵情報を生成し、情報端末200に発行する。ここで、鍵情報は、秘密鍵や公開鍵、パスワード等の、秘密計算する際の暗号化及び復号化に用いられる情報であればよく、暗号化の方式は問わない。また、鍵情報は、データの暗号化のたびに発行されるワンタイム鍵情報であってもよい。
【0025】
情報端末200は、発行部110から発行される鍵情報と、秘密計算システム100とは異なる情報処理システム(例えば、サーバ300)から発行される鍵情報と、を用いて、データを暗号化する。
【0026】
ここで、発行部110から発行される鍵情報と、秘密計算システム100とは異なる情報処理システム(例えば、サーバ300)から発行される鍵情報と、は、互いに異なる鍵情報である。これにより、秘密計算システム100及び秘密計算システム100とは異なる情報処理システム(例えば、サーバ300)それぞれにおいて、暗号化された処理対象データを復号することができない状態となり、処理対象データの秘密性が保たれる。
【0027】
なお、情報端末200は、複数の情報処理システムで生成される複数の異なる鍵情報を用いて、処理対象データを暗号化すればよく、暗号化に用いられる鍵情報は、秘密計算システム100又はサーバ300で生成される鍵情報でなくてもよい。
【0028】
取得部120は、複数の情報処理システム(例えば、秘密計算システム100及びサーバ300)で生成される複数の異なる鍵情報を用いて暗号化されたデータを示す複数の処理対象データのそれぞれを、複数の情報端末のうち対応する情報端末から取得し、処理対象データ記憶部130に格納する。
【0029】
取得部120は、所定の学習モデルにおけるパラメータを示すパラメータ情報を暗号化した処理対象データを取得することができる。また、取得部120は、パラメータ情報に対応するデータの数を示すデータ数情報を暗号化した処理対象データを取得することができる。
【0030】
ここで、パラメータ情報は、所定の学習モデルの性質や出力結果に関する情報であり、例えば、学習モデルに基づいて予測した結果の誤差を示す情報である。また、データ数情報は、所定の学習モデルを用いた学習において学習したデータ(いわゆる教師データ)の数を示す情報である。より具体的には、例えば、所定の学習モデルが、入力されるデータに基づき所定の2つの状態のいずれかを予測する学習モデルである場合、パラメータ情報は、入力データに基づいて当該2つの状態のいずれかを予測するための、当該2つの状態に対応するパラメータであり、また、データ数情報は、当該2つの状態それぞれに対応する教師データの数を示す情報である。
【0031】
なお、処理対象データは、複数の情報処理システムで生成される複数の異なる鍵情報を用いて暗号化されていればよく、暗号化に用いられる鍵情報は、秘密計算システム100又はサーバ300で生成される鍵情報でなくてもよい。
【0032】
図2は、取得部120が取得する情報の例を示す図である。図2では、便宜上、暗号化されていない状態でデータが示されている。取得部120が取得する情報は、例えば、処理対象データID、パラメータ情報、データ数情報を含む。
【0033】
処理対象データIDは、秘密計算システム100によって秘密計算される処理対象データを識別する処理対象データ識別情報である。なお、パラメータ情報及びデータ数情報は、それぞれ対応する複数のパラメータ情報及びデータ数情報を含んでもよい。
【0034】
図3は、処理対象データ記憶部130に記憶される情報の例を示す図である。処理対象データ記憶部130に記憶される情報は、例えば、処理対象データID、パラメータ情報、データ数情報を含む。処理対象データ記憶部130に記憶される情報の全部又は一部(例えば、パラメータ情報及びデータ数情報)は、複数の鍵情報を用いて暗号化されている。
【0035】
なお、処理対象データ記憶部130に記憶される情報には、パラメータ情報及びデータ数情報が含まれていなくてもよく、秘密計算システム100における所定の秘密計算に用いられるデータが含まれていればよい。
【0036】
秘密計算部140は、複数の処理対象データを暗号化した状態で、複数の処理対象データに基づいて計算した結果を示す結果データを生成し、結果データ記憶部150に格納する。
【0037】
秘密計算システム100が、所定の学習モデルにおけるパラメータ情報を秘密計算にて処理する場合、秘密計算部140は、秘密計算によって、例えば、複数のパラメータ情報に基づいて、複数のパラメータ情報の平均値を新たなパラメータ情報とした結果データを生成することができる。これにより、複数の情報端末200で生成されたパラメータ情報を統合して新たなパラメータ情報を生成することができる。
【0038】
また、秘密計算システム100が、所定の学習モデルにおけるパラメータ情報を秘密計算にて処理する場合、秘密計算部140は、秘密計算によって、例えば、複数のパラメータ情報及びデータ数情報に基づいて、データ数情報に基づいた重み付けにより算出される値を新たなパラメータ情報とした結果データを生成することができる。これにより、データ数情報の重み付けを加味した新たなパラメータ情報を生成することができる。
【0039】
また、秘密計算システム100が、入力されるデータに基づき所定の2つの状態のいずれかを予測する学習モデルにおけるパラメータ情報を秘密計算にて処理する場合、秘密計算部140は、秘密計算によって、例えば、所定の2つの状態の一方のパラメータ情報を、所定の2つの状態の他方のデータ数情報に基づいて重み付けすることにより算出される値を新たなパラメータ情報とした結果データを生成することができる。これにより、所定の2つの状態のいずれかの発生率が他方と比べて低い場合であっても、予測精度の高い学習モデルを生成するための新たなパラメータ情報を生成することができる。
【0040】
図4は、結果データ記憶部150に記憶される情報の例を示す図である。結果データ記憶部150に記憶される情報は、例えば、結果データID、パラメータ情報、データ数情報を含む。結果データ記憶部150に記憶される情報の全部又は一部(例えば、パラメータ情報及びデータ数情報)は、複数の鍵情報を用いて暗号化されている。
【0041】
なお、結果データ記憶部150に記憶される情報には、パラメータ情報及びデータ数情報が含まれていなくてもよく、秘密計算システム100における所定の秘密計算によって生成されるデータが含まれていればよい。
【0042】
提供部160は、複数の情報端末200に結果データを提供する。
【0043】
情報端末200は、暗号化に用いた複数の鍵情報を用いて、提供部160から提供される結果データを復号し、復号化された結果データを取得する。これにより、情報端末200は、秘密計算システム100における秘密計算の結果を取得することができる。
【0044】
そして、情報端末200は、復号化された結果データを、サーバ300に提供する。これにより、情報端末200は、結果データに対応する新たなパラメータ情報を用いて、サーバ300において、所定の学習モデルを更新させることができる。
【0045】
なお、情報端末200は、結果データを暗号化した状態で、結果データをサーバ300に提供してもよい。この場合、情報端末200は、サーバ300から取得した鍵情報のみを用いた暗号化の状態で、結果データを提供してもよい。これにより、サーバ300以外の情報処理システムでは暗号化された結果データを復号することはできないが、サーバ300では暗号化された結果データを復号することができるため、結果データのセキュリティが保たれる。
【0046】
次に、秘密計算システム100の具体的な適用例を説明する。秘密計算システム100は、例えば、製品の製造時の品質検査に用いられる、複数の製造業者で共通する学習モデルにおけるパラメータ情報の生成に適用することができる。
【0047】
ここで、製品の製造時の品質管理に用いられる複数の製造業者で共通する学習モデルは、例えば、製品の画像を入力として、複数の製造業者で共通している項目に基づいて、製品の品質を正常及び異常の2つの状態のいずれかで予測する。
【0048】
複数の製造業者は事業上の競争関係にあることから、品質検査に用いられる学習モデルのパラメータ情報やパラメータ情報の元となるデータ(例えば、製品の画像データ等)を複数の製造業者間で共有することは困難である。また、異常と判断される製品の発生率が低い場合、1製造業者のデータのみでは、予測精度の高い学習モデルが生成されないおそれがある。
【0049】
そのため、秘密計算システム100の適用が効果的である。すなわち、秘密計算システム100を、製品の製造時の品質検査に用いられる学習モデルの学習に適用することにより、パラメータ情報及びデータ数情報を秘匿化したまま、予測精度の高い学習モデルを生成するために十分なデータ数のデータを確保することができる。また、必要に応じてデータ数情報に基づく適切な重み付けを行い、新たなパラメータ情報を生成することができる。
【0050】
秘密計算システム100を、製品の製造時の品質検査に用いられる複数の製造業者で共通する学習モデルの学習に適用する場合、情報端末200は、複数の製造業者が利用する情報端末であり、また、サーバ300は、当該学習モデルを管理するサーバである。
【0051】
複数の情報端末200のそれぞれは、製品の状態(正常状態及び異常状態)に対応するパラメータ情報及びデータ数情報を暗号化した処理対象データを、秘密計算システム100に提供する。秘密計算システム100は所定の秘密計算を行い、結果データを複数の情報端末200のそれぞれに提供する。複数の情報端末200のそれぞれは、結果データを復号化し、サーバ300に提供する。サーバ300は、結果データに基づいて学習モデルを更新し、新たな学習モデルに関する情報を複数の情報端末200のそれぞれに提供する。
【0052】
これにより、複数の情報端末200のそれぞれは、処理対象データを秘匿化したまま、より安全に、複数の製造業者のデータに基づいて学習した学習モデルを取得することができ、より精度の高い品質検査を実施できる。
【0053】
図5は、秘密計算システム100における処理の例を示すシーケンスチャートである。
【0054】
まず、発行部110が、鍵情報を生成し(S501a)、情報端末200に発行する(S502a)。また、秘密計算システム100とは異なる情報処理システム(例えば、サーバ300)が、異なる鍵情報を生成し(S501b)、情報端末200に発行する(S502b)。情報端末200は、発行部110及びサーバ300から発行を受けた鍵情報に基づいて、データを暗号化する。(S503)。
【0055】
なお、情報端末200は、複数の情報処理システムで生成される複数の異なる鍵情報を用いて、処理対象データを暗号化すればよく、暗号化に用いられる鍵情報は、秘密計算システム100又はサーバ300で生成される鍵情報でなくてもよい。
【0056】
続いて、情報端末200は、暗号化した処理対象データを秘密計算システム100に提供し、取得部120は、処理対象データを取得して処理対象データ記憶部130に格納する(S504)。秘密計算部140は、処理対象データを暗号化した状態で、処理対象データに基づいて秘密計算し、秘密計算の結果を示す結果データを生成して結果データ記憶部150に格納する(S505)。そして、提供部160は、結果データを、情報端末200に提供する(S506)。
【0057】
情報端末200は、結果データを、暗号化に用いた鍵情報を用いて復号化し、(S507)復号化された結果データをサーバ300に提供する(S508)。なお、情報端末200は、サーバ300で復号可能な暗号を施した状態で、結果データを提供してもよい。
【0058】
サーバ300は、結果データに基づいて、学習モデルを更新して(S509)、更新した学習モデルを情報端末200に提供する(S510)。
【0059】
次に、図6を参照して、秘密計算システム100をコンピュータ600により実現する場合のハードウェア構成の一例について説明する。図6は、コンピュータ600のハードウェア構成の例を示す図である。
【0060】
図6に示すように、コンピュータ600は、例えば、プロセッサ601、メモリ602、記憶装置603、入力I/F部604、データI/F部605、通信I/F部606、及び表示装置607を含む。
【0061】
コンピュータ600は、例えば、サーバコンピュータ、パーソナルコンピュータ(例えば、デスクトップ、ラップトップ、タブレット等)、メディアコンピュータプラットフォーム(例えば、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ等)、ハンドヘルドコンピュータデバイス(例えば、PDA、電子メールクライアント等)、あるいは他種のコンピュータ、またはコミュニケーションプラットフォームであってもよい。
【0062】
プロセッサ601は、メモリ602に記憶されているプログラムを実行することによりコンピュータ600における各種の処理を制御する制御部である。
【0063】
メモリ602は、例えばRAM(Random Access Memory)等の記憶媒体である。メモリ602は、プロセッサ601によって実行されるプログラムのプログラムコードや、プログラムの実行時に必要となるデータを一時的に記憶する。
【0064】
記憶装置603は、例えばハードディスクドライブ(HDD)やフラッシュメモリ等の不揮発性の記憶媒体である。記憶装置603は、オペレーティングシステムや、上記各構成を実現するための各種プログラムを記憶する。
【0065】
入力I/F部604は、ユーザからの入力を受け付けるためのデバイスである。入力I/F部604は、例えば、キーボードやマウス、タッチパネル、各種センサ、ウェアラブル・デバイス等である。入力I/F部604は、例えばUSB(Universal Serial Bus)等のインターフェースを介してコンピュータ600に接続されてもよい。
【0066】
データI/F部605は、コンピュータ600の外部からデータを入力するためのデバイスである。データI/F部605は、例えば、各種記憶媒体に記憶されているデータを読み取るためのドライブ装置等である。データI/F部605は、コンピュータ600の外部に設けられてもよい。データI/F部605がコンピュータ600の外部に設けられる場合、データI/F部605は、例えば、USB等のインターフェースを介してコンピュータ600に接続される。
【0067】
通信I/F部606は、コンピュータ600の外部の装置と有線又は無線により、インターネット等のネットワークを介したデータ通信を行うためのデバイスである。通信I/F部606は、コンピュータ600の外部に設けられてもよい。通信I/F部606がコンピュータ600の外部に設けられる場合、通信I/F部606は、例えば、USB等のインターフェースを介してコンピュータ600に接続される。
【0068】
表示装置607は、各種情報を表示するためのデバイスである。表示装置607は、例えば、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ、ウェアラブル・デバイスのディスプレイ等である。表示装置607は、コンピュータ600の外部に設けられてもよい。表示装置607がコンピュータ600の外部に設けられる場合、表示装置607は、例えば、ディスプレイケーブル等を介してコンピュータ600に接続される。また、入力I/F部604としてタッチパネルが採用される場合には、表示装置607は、入力I/F部604と一体化して構成されてもよい。
【0069】
以上、本発明の一実施形態について説明した。秘密計算システム100は、複数の情報処理システムで生成される複数の異なる鍵情報を用いて暗号化されたデータを示す複数の処理対象データのそれぞれを、複数の情報端末のうち対応する情報端末から取得して、処理対象データを暗号化した状態で、処理対象データに基づいて秘密計算した結果を示す結果データを生成し、情報端末200に提供することができる。これにより、より安全に、複数の情報端末の暗号化データを処理することが可能となる。
【0070】
秘密計算システム100は、複数の異なる鍵情報のうち少なくとも1つの鍵情報を情報端末200に発行することができる。これにより、秘密計算システム100は鍵情報の発行主体及び秘密計算の実行主体を兼ねることができ、より安全に、複数の情報端末の暗号化データを処理することが可能となる。
【0071】
また、秘密計算システム100は、所定の学習モデルにおけるパラメータを示すパラメータ情報を暗号化した処理対象データに基づいて、秘密計算により、結果データ(すなわち、新たなパラメータ情報)を生成して提供することができる。これにより、より安全に、複数の情報端末の学習結果を統合して新たな学習処理を行うことが可能となる。
【0072】
また、秘密計算システム100は、パラメータ情報に対応するデータ数情報に基づいて行われるパラメータ情報の重み付けにより、結果データ(すなわち、新たなパラメータ情報)を生成することができる。これにより、データ数情報を考慮した上で、より安全に、複数の情報端末の学習結果を統合して新たな学習処理を行うことが可能となる。
【0073】
また、秘密計算システム100は、所定の学習モデルが入力されるデータに基づき所定の2つ状態のいずれかを予測する学習モデルである場合に、所定の2つの状態の一方のパラメータ情報を所定の2つの状態の他方のデータ数情報に基づいて重み付けすることにより、結果データ(すなわち、新たなパラメータ情報)を生成することができる。これにより、所定の2つの状態のいずれかの発生率が低い場合であっても、より安全かつより効果的に、複数の情報端末の学習結果を統合して新たな学習処理を行うことが可能となる。
【0074】
なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るととともに、本発明にはその等価物も含まれる。
【符号の説明】
【0075】
100 秘密計算システム、110 発行部、120 取得部、130 処理対象データ記憶部、140 秘密計算部、150 結果データ記憶部、160 提供部、200 情報端末、300 サーバ、600 コンピュータ、601 プロセッサ、602 メモリ、603 記憶装置、604 入力I/F部、605 データI/F部、606 通信I/F部、607 表示装置
図1
図2
図3
図4
図5
図6