(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022150525
(43)【公開日】2022-10-07
(54)【発明の名称】処理システム、処理方法及び処理プログラム
(51)【国際特許分類】
G06F 21/62 20130101AFI20220929BHJP
【FI】
G06F21/62 354
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021053163
(22)【出願日】2021-03-26
(11)【特許番号】
(45)【特許公報発行日】2022-08-15
(71)【出願人】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】田中 哲士
(72)【発明者】
【氏名】櫻井 陽一
(72)【発明者】
【氏名】澤田 匡史
(57)【要約】
【課題】秘密計算上のデータを利用する際に、個人情報の第三者提供による同意取得を不要とすることができる。
【解決手段】処理システム100は、登録者装置が有する登録データを、断片化したシェアの状態で複数のサーバに分散保管する処理システムであって、複数のサーバ20A~20Cのそれぞれは、シェアに対して匿名化を行う匿名化部と、匿名化が行われた匿名加工情報をシェアの状態で提供する加工情報提供部と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
登録者装置が有する登録データを、断片化したシェアの状態で複数のサーバに分散保管する処理システムであって、
前記複数のサーバのそれぞれは、
前記シェアに対して匿名化を行う匿名化部と、
前記匿名化が行われた匿名加工情報をシェアの状態で提供する提供部と、
を有することを特徴とする処理システム。
【請求項2】
前記匿名化部は、前記複数のサーバ間でデータの演算と交換とを行うマルチパーティ計算を行うことで、前記シェアに対する匿名化を行うことを特徴とする請求項1に記載の処理システム。
【請求項3】
前記登録者装置は、
前記登録データを複数のシェアに断片化し、分割したシェアを前記複数のサーバにそれぞれ分散して登録させる登録部と、
匿名化の加工方法を選択する選択部と、
前記匿名化部によって匿名化が行われた匿名加工情報に対する匿名性及び有用性に関する評価を行い、前記匿名加工情報が前記匿名性及び前記有用性を有する場合には、前記匿名加工情報の提供許可を前記複数のサーバに通知する評価部と、
を有し、
前記匿名化部は、前記選択部によって選択された匿名化の加工方法を用いて前記シェアに対する匿名化を行い、
前記提供部は、前記匿名加工情報の提供の許可を通知された前記匿名加工情報を提供することを特徴とする請求項1または2に記載の処理システム。
【請求項4】
前記選択部は、前記登録部によって前記シェアが前記複数のサーバにそれぞれ分散して登録された後に、前記匿名化の加工方法を選択することを特徴とする請求項3に記載の処理システム。
【請求項5】
前記選択部は、前記登録部によって前記シェアが前記複数のサーバにそれぞれ分散して登録された後であって、利用者装置から計算処理を要求された場合に、要求された計算処理に応じた匿名化の加工方法を選択することを特徴とする請求項3に記載の処理システム。
【請求項6】
登録者装置が有する登録データを、断片化したシェアの状態で複数のサーバに分散保管する処理システムが実行する処理方法であって、
前記複数のサーバのそれぞれは、
前記シェアに対して匿名化を行う工程と、
前記匿名化が行われた匿名加工情報をシェアの状態で提供する工程と、
を含んだことを特徴とする処理方法。
【請求項7】
方法をコンピュータに実行させる処理プログラムであって、
複数のサーバとしてのコンピュータに、
前記複数のサーバのそれぞれが、登録データを断片化したシェアの状態で分散保管するステップと、
前記複数のサーバのそれぞれが、前記シェアに対して匿名化を行うステップと、
前記複数のサーバのそれぞれが、前記匿名化が行われた匿名加工情報をシェアの状態で提供するステップと、
を実行させることを特徴とする処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、処理システム、処理方法及び処理プログラムに関する。
【背景技術】
【0002】
医療情報等の重要情報を取り扱う事業者は、法規制や特定分野ガイドラインに準拠したセキュリティ対策だけでなく、情報を安全に利活用することが求められている。特に、分野横断的なデータの蓄積やデータの利活用は、イノベーションを促進し、経済成長など様々な分野の発展につながることが期待される一方、データ開示に伴うリスクや、企業戦略等の保護の観点から、データ利活用促進を阻害する要因となっている。
【0003】
そこで、これら相反する要求を実現できる技術として、秘密計算が提案されている。秘密計算は、機微データを秘匿し、互いに開示することなく結果のみを返す技術である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】国際公開第2019/124260号
【特許文献2】特開2020-042128号公報
【非特許文献】
【0005】
【非特許文献1】日本電信電話株式会社,秘密計算のシステムとその原理, [online],[令和3年3月5日検索]、インターネット<URL:ttps://www.rd.ntt/sc/project/data-security/NTT-himitsu-keisan.pdf>
【非特許文献2】桐淵 直人, 五十嵐 大, 濱田 浩気, 菊池 亮, “プログラマブルな秘密計算ライブラリMEVAL3”, 暗号と情報セキュリティシンポジウム(SCIS), 2018.
【非特許文献3】Eizen Kimura, Koki Hamada, Ryo Kikuchi, Koji Chida, Kazuya Okamoto, Shirou Manabe, Tomohiro Kuroda, Yasushi Matsumura, Toshihiro Takeda, and Naoki Mihara, “Evaluation of Secure Computation in a Distributed Healthcare Setting”, Medical Informatics Europe (MIE) 2016: 152-156.
【非特許文献4】Koji Chida, Gembu Morohashi, Hitoshi Fuji, Fumihiko Magata, Akiko Fujimura, Koki Hamada, Dai Ikarashi, Ryuichi Yamamoto, “Implementation and evaluation of an efficient secure computation system using 'R' for healthcare statistics”, J Am Med Inform Assoc. 21, pp.326-331, 2014.
【発明の概要】
【発明が解決しようとする課題】
【0006】
秘密計算では、データを秘密分散で秘匿しているが、現行法では秘密分散も暗号化の一種であり、個人情報の取り扱いになる。このため、第三者が、秘密計算による、組織間のデータを連携した横断分析を実現しようとすると、分析時に第三者が暗号文の形式ではあるもののデータに触れることとなり、個人情報の第三者提供が発生する。したがって、秘密計算では、個人情報の第三者提供に対する同意取得を回避することができないという問題があった。
【0007】
本発明は、上記に鑑みてなされたものであって、秘密計算上のデータを利用する際に、個人情報の第三者提供による同意取得を不要とすることができる処理システム、処理方法及び処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するために、本発明の処理システムは、登録者装置が有する登録データを、断片化したシェアの状態で複数のサーバに分散保管する処理システムであって、複数のサーバのそれぞれは、シェアに対して匿名化を行う匿名化部と、匿名化が行われた匿名加工情報をシェアの状態で提供する提供部と、を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、秘密計算上のデータを利用する際に、個人情報の第三者提供による同意取得を不要とすることができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施の形態に係る処理システムの構成の一例を示すブロック図である。
【
図2】
図2は、実施の形態に係る処理システムの処理の概要を説明する図である。
【
図3】
図3は、実施の形態に係る処理システムの処理の概要を説明する図である。
【
図4】
図4は、登録者装置の構成の一例を模式的に示す図である。
【
図5】
図5は、実施の形態に係る処理システムの処理の概要を説明する図である。
【
図6】
図6は、サーバの構成の一例を模式的に示す図である。
【
図7】
図7は、利用者装置の構成の一例を模式的に示す図である。
【
図8】
図8は、処理システムが実行する秘密計算の処理手順を示すシーケンス図である。
【
図9】
図9は、実施の形態に係る処理システムの処理の概要の他の例を説明する図である。
【
図10】
図10は、処理システムが実行する秘密計算の他の処理手順を示すシーケンス図である。
【
図11】
図11は、プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【0011】
以下に、本願に係る処理システム、処理方法及び処理プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る処理システム、処理方法及び処理プログラムが限定されるものではない。
【0012】
以下の実施の形態では、実施の形態に係る処理システム、処理方法及び処理プログラムの処理の流れを順に説明し、最後に実施の形態による効果を説明する。
【0013】
[実施の形態]
まず、実施の形態について説明する。実施の形態では、データを暗号化したまま計算できる秘密計算において、秘密計算上で、元のデータに匿名化を施すことで、個人が特定されない匿名加工情報を第三者に提供する。これによって、本実施の形態では、秘密計算上のデータを利用する際の、個人情報の第三者提供による同意取得を不要としている。
【0014】
[処理システムの構成及び処理の概要]
実施の形態に係る処理システムの構成及び処理システムにおける処理の概要を説明する。
図1は、実施の形態に係る処理システムの構成の一例を示すブロック図である。
図2及び
図3は、実施の形態に係る処理システムの処理の概要を説明する図である。
【0015】
実施の形態に係る処理システム100では、データを暗号化したまま計算できる秘密計算を実行するシステムである。処理システム100では、データを、複数のシェアと呼ばれる断片に分割し、これらのシェアを複数のサーバに分散保管させた状態で、複数のサーバが、定められた手順に従って複数のサーバ間でデータの演算と交換を行うマルチパーティ計算を行うことで秘密計算を実行する。個々のシェアはそれぞれ意味のないデータになっており、シェア一つだけでは元データを復元できず情報は洩れないが、ある一定数以上のシェアが揃うと元のデータを復元することができる。
【0016】
以降では、処理システム100が、
図1に示すように、データ登録者Aの登録者装置10と、データセンター(DC)内のサーバ20A,20B,20Cと、計算依頼を行うデータ利用者Bの利用者装置30とで構成される例について説明する。なお、
図1に示す構成は一例に過ぎず、具体的な構成や各装置の数は特に限定されない。また、説明の容易化のために、登録者装置10と利用者装置30とを分けて説明するが、実際の運用では、登録者装置10が有する機能を利用者装置30が有していてもよい。
【0017】
まず、データ保管の処理について説明する。登録者装置10は、DCのサーバ20A~20Cに登録データ(例えば、テーブルTa)をアップロードし登録を行う(
図2の(1))。例えば、登録データは、医療の診療データや日々のバイタルデータ等である。登録者装置10は、アップロード対象の元データDaを、それぞれ、シェアSa1~Sa3に断片化する(
図3の(1))。登録者装置10は、断片化した各シェアSa1~Sa3を、DCのサーバ20A~20Cに、分散して保管させる(
図3の(1))。
【0018】
例えば、
図3に示すように、サーバ20Aは、シェアSa1を保管し、サーバ20Bは、シェアSa2を保管し、サーバ20Cは、シェアSa3,Sb3を保管する。そして、サーバ20A~20C単体では、シェアSa1~Sa3を、元データに復元することができない。このため、個々のシェアSa1~Sa3からは情報が漏れない。
【0019】
これによって、元データDaは、暗号化され参照不可となる。すなわち、攻撃者が断片化されたシェアの一部を不正取得しても元データを復元することはできない。また、元データを自身で保有するデータ登録者以外は、システム管理者であっても、DCのサーバ20A~20Cから元データを参照することはできない。このように、処理システム100では、安全な環境にデータを分散保管、すなわち、秘密分散することができる(
図3の(2))。
【0020】
そして、サーバ20A~20Cは、それぞれ保管するシェアSa1~Sa3に対して、匿名化を行う(
図2の(2)、
図3の(2))。サーバ20A~20Cは、サーバ20A~20C間でデータの演算と交換とを行うマルチパーティ計算を行うことで、シェアに対する匿名化を行う。マルチパーティ計算では、複数のサーバが一体となって計算を行う。そして、マルチパーティ計算では、常に秘密分散のシェアの状態でデータを扱う。サーバ20A~20Cは、匿名化が行われた匿名加工情報(例えば、匿名加工テーブルTa´)をシェアの状態で、例えば、テナントBに提供する(
図2の(3))。
【0021】
そして、データ利用者Bが利用する利用者装置30から、DCのサーバ20A~20Cが保管するデータに対する計算要求を行う(
図2の(4))。この際、利用者装置30では、要求に応じた計算処理の処理手順を設定し、設定した処理手順をサーバ20A~20Cにそれぞれ送信する。
【0022】
そして、サーバ20A~20Cは、匿名化において変換された匿名加工テーブルTa´を用いて、利用者装置30が設定した処理手順に従って、要求された計算処理を行う。サーバ20A~20Cは、復元することなく、シェアの状態でデータを扱うマルチパーティ計算を行うことで計算(秘密計算)を行う(
図2の(5))。
【0023】
各サーバ20A~20Cは、秘密計算が終了すると、暗号化されたままの計算結果を利用者装置30にそれぞれ送信する(
図2の(6))。利用者装置30は、受信した各計算結果を復元することで、要求した計算結果のみを取得することができる。この計算結果は、個人が特定されない匿名化された情報を基に計算された結果である。したがって、秘密計算において、第三者による横断分析を行う際であっても、匿名化することで、個人が特定されない形の結果を得ることができ、第三者提供による同意の取得は不要となる。
【0024】
[登録者サーバ]
続いて、処理システム100の各装置の構成について説明する。まず、登録者装置10の構成について説明する。
図4は、登録者装置10の構成の一例を模式的に示す図である。
図5は、実施の形態に係る処理システムの処理の概要を説明する図である。
図4及び
図5を参照して、登録者装置10の構成について説明する。
【0025】
登録者装置10は、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、登録者装置10は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。例えば、登録者装置10は、NIC(Network Interface Card)等を有し、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置との間の通信を行う。そして、登録者装置10は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイス、液晶ディスプレイなどの表示装置を有し、情報の入出力を行う。登録者装置10は、登録データ選択部11、登録部12、匿名化の加工方法選択部13(選択部)、及び、評価部14を有する。
【0026】
登録データ選択部11は、登録者装置10の操作者の操作にしたがって、データ登録者AのDBに登録されているデータの中から、サーバ20A~20Cに秘密分散にて保管するデータを選択する。
【0027】
登録部12は、登録データ選択部11が選択したデータを複数のシェアに分割し、分割したシェアをサーバ20A~20Cにそれぞれ分散して登録させる(
図5の(1))。例えば、登録者装置10の操作者は、Webブラウザで展開された、処理システム100用のWebUI画面を介して、登録データの選択やシェアの分散保管要求を行う。
【0028】
匿名化の加工方法選択部13は、データ登録者Aによる操作にしたがって、サーバ20A~20Cに登録されたデータ(
図5のテーブルTa)に対する匿名化の加工方法を選択し、選択した匿名化の加工方法での匿名化を要求する(
図5の(2-1))。匿名化の加工方法は、例えば、項目削除/レコード削除/セル削除、一般化、ミクロアグリゲーション、データ交換(スワップ)、ノイズ(誤差)の付加、疑似データ生成がある。匿名化の加工方法選択部13は、登録部12によってシェアがサーバ20A~20Cにそれぞれ分散して登録された後に、匿名化の加工方法を選択する。なお、匿名化の加工方法選択部13は、予め規定されたルールにしたがって、匿名化の加工方法を自動選択してもよい。
【0029】
評価部14は、サーバ20A~20Cによって匿名化が行われた匿名加工情報(例えば、
図5の匿名加工テーブルTa´)に対する匿名性及び有用性に関する評価を行い(
図5の(2-3))、匿名加工情報が匿名性及び有用性を有する場合には、匿名加工情報の提供許可をサーバ20A~20Cに通知する。匿名性は、例えば、匿名加工情報がk-匿名性を満たすか否かを基に判定される。kの値は、元のデータの種別や記載内容に応じて設定される。また、有用性は、例えば、元のデータと匿名加工情報との文字列の照合や、匿名加工情報の記載内容の平均値或いは分散値の、元のデータからの乖離度を基に判定される。
【0030】
評価部14は、サーバ20A~20Cによって匿名化が行われた匿名加工テーブルTa´をデータ登録者Aに提示し、データ登録者Aの操作にしたがって、匿名加工テーブルTa´の匿名性及び有用性に関する評価の結果を受け付ける。そして、評価部14は、匿名加工テーブルTa´が匿名性及び有用性を有するとの評価結果を受け付けた場合には、匿名加工テーブルTa´の提供許可をサーバ20A~20Cに通知する。そして、評価部14は、匿名加工テーブルTa´が匿名性及び有用性を有しないとの評価結果を受け付けた場合には、匿名加工テーブルTa´の廃棄をサーバ20A~20Cに通知し、匿名化の加工方法選択部13による匿名化の加工方法の選択から処理を繰り返す。
【0031】
評価部14は、予め規定されたルールにしたがって、匿名性及び有用性を自動判定してもよい。例えば、元のデータの種別等に応じて、予め、k-匿名性のk値や、有用性判定用の乖離度の閾値が設定されている。そして、評価部14は、設定にしたがって、匿名加工情報のk-匿名性を求め、k-匿名性を満たす場合には、匿名加工情報に匿名性があると判定する。続いて、評価部14は、匿名加工情報の記載内容の平均値の、元のデータからの乖離度を求め、その乖離度が閾値以下である場合には、匿名加工情報に有用性があると判定する。
【0032】
[サーバ]
次に、サーバ20Aの構成について説明する。
図6は、サーバ20Aの構成の一例を模式的に示す図である。なお、サーバ20A.20Bは、サーバ20Aと同様の機能を有する。
【0033】
サーバ20Aは、ROM、RAM、CPU等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、サーバ20Aは、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。例えば、サーバ20Aは、NIC等を有し、LANやインターネットなどの電気通信回線を介した他の装置との間の通信を行う。そして、サーバ20Aは、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイス、液晶ディスプレイなどの表示装置を有し、情報の入出力を行う。サーバ20Aは、シェアDB21、登録部22、匿名化部23、加工情報提供部24(提供部)、計算手順受け取り部25、計算処理部26及び計算結果送信部76を有する。
【0034】
シェアDB21は、登録者装置10から登録を要求されたシェアを記憶する。
【0035】
登録部22は、登録者装置10からの登録要求を受け付け、登録者装置10から登録を要求されたシェアを、シェアDB21に記憶する。
【0036】
匿名化部23は、秘密計算上で、シェアに対して匿名化を行う。匿名化部23は、登録者装置10の匿名化の加工方法選択部13によって選択された匿名化の加工方法を用いてシェアに対する匿名化を行う。匿名化部23は、サーバ20A~20C間でデータの演算と交換とを行うマルチパーティ計算を行うことで、シェアに対する匿名化を行う。このように、匿名化部23は、マルチパーティ計算を行うことで、データ(例えば、
図5のテーブルTa)を復元することなく匿名化を行うことで、匿名加工情報(例えば、
図5の匿名加工テーブルTa´)を生成する(
図5の(2-2)。匿名化部23は、匿名加工情報を登録者装置10に送信する。
【0037】
加工情報提供部24は、登録者装置10の評価部14によって匿名加工情報の提供の許可を通知された匿名加工情報を、例えば、利用者装置30に提供する。例えば、
図5に示すように、加工情報提供部24は、匿名加工テーブルTa´を、データ利用者Bが利用可能である、秘密計算上のテナントB領域に、テーブルコピーすることで(
図5の(3))、利用者装置30が匿名加工テーブルTa´を利用可能とする。このテナントB領域は、データ利用者B以外の利用者も利用可能である公開テナント領域であってもよい。
【0038】
計算手順受け取り部25は、利用者装置30によって設定された計算処理の処理手順を受け取る。
【0039】
計算処理部26は、匿名加工情報を用いて、利用者装置30が設定した処理手順に従って、要求された計算処理を行う。計算処理部26は、他のサーバ20B,20Cとの間で、シェアの状態で統計情報の演算と交換を行うマルチパーティ計算を行うことで秘密計算を行う。計算結果送信部27は、計算結果を利用者装置30に送信する。
【0040】
[利用者装置]
次に、利用者装置30の構成について説明する。
図7は、利用者装置30の構成の一例を模式的に示す図である。
【0041】
利用者装置30は、ROM、RAM、CPU等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、利用者装置30は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。例えば、利用者装置30は、NIC等を有し、LANやインターネットなどの電気通信回線を介した他の装置との間の通信を行う。そして、サーバ20Aは、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイス、液晶ディスプレイなどの表示装置を有し、情報の入出力を行う。利用者装置30は、計算依頼受付部31、計算手順設定部32、計算結果受信部33及び計算結果出力部34を有する。
【0042】
計算依頼受付部31は、利用者装置30の操作者(依頼者)の操作にしたがって、サーバ20A~20Cが保管するデータに対する計算要求を受け付ける。
【0043】
計算手順設定部32は、要求に応じた計算処理の処理手順を設定し、設定した処理手順とともに計算要求をサーバ20A~20Cにそれぞれ送信する。
【0044】
計算結果受信部33は、各サーバ20A~20Cから暗号化されたままの計算結果を受信する。
【0045】
計算結果出力部34は、受信した各計算結果を復元し、要求した計算結果のみを取得する。そして、計算結果出力部34は、計算結果を出力する。例えば、利用者装置30の操作者は、Webブラウザで展開された、処理システム100用のWebUI画面を介して、計算依頼の入力や、計算処理結果の表示形式(表、グラフ等)の指定を行う。
【0046】
[処理手順]
次に、処理システム100における秘密計算の処理手順について説明する。
図8は、処理システム100が実行する秘密計算の処理手順を示すシーケンス図である。
【0047】
図8に示すように、登録者装置10は、DBに登録されているデータの中から保管するデータを選択し(ステップS1)、選択したデータを複数のシェアに断片化し(ステップS2)、これらのシェアをサーバ20A~20Cにそれぞれ分散して登録させるシェア登録要求を行う(ステップS3)。
【0048】
登録者装置10は、サーバ20A~20Cに登録されたデータに対する匿名化の加工方法を選択し(ステップS4)、選択した匿名化の加工方法での匿名化を要求する(ステップS5)。
【0049】
サーバ20A~20Cは、秘密計算上で、登録者装置10によって選択された匿名化の加工方法を用いて、シェアに対する匿名化を行う(ステップS6)。そして、サーバ20A~20Cは、匿名加工情報を登録者装置10に送信する(ステップS7)。
【0050】
登録者装置10は、登録者装置10は、サーバ20A~20Cによって匿名化が行われた匿名加工情報に対する匿名性及び有用性に関する評価を行う(ステップS8)。匿名加工情報が匿名性及び有用性を有しない場合(ステップS9:No)、登録者装置10は、匿名加工情報の廃棄をサーバ20A~20Cに通知し、ステップS4の匿名化の加工方法選択から処理を繰り返す。匿名加工情報が匿名性及び有用性を有する場合(ステップS9:No)、登録者装置10は、匿名加工情報の提供許可をサーバ20A~20Cに通知する(ステップS10)。
【0051】
サーバ20A~20Cは、登録者装置10からの匿名加工情報の提供許可を受け、匿名加工情報の提供を許可された匿名加工情報を、他の利用者が共有可能に提供する(ステップS11)。
【0052】
利用者装置30では、計算要求を受け付けると(ステップS12)、要求に応じた計算処理の処理手順を設定し(ステップS13)、設定した処理手順とともに計算要求をサーバ20A~20Cにそれぞれ送信する(ステップS14)。
【0053】
サーバ20A~20Cは、匿名加工情報を用いて、利用者装置30が設定した処理手順に従った計算処理を行う(ステップS15)。ステップS15は、マルチパーティ計算を用いた秘密計算である。
【0054】
サーバ20A~20Cは、それぞれ計算結果を利用者装置30に送信する(ステップS16)。利用者装置30は、各サーバ20A~20Cから暗号化されたままの計算結果を受信し、復元した後に計算結果を出力する(ステップS17)。
【0055】
[実施の形態の効果]
このように、本実施の形態では、データを暗号化したまま計算できる秘密計算において、秘密計算上で、元のデータに匿名化を施すことで、個人が特定されない匿名加工情報を第三者に提供する。このため、本実施の形態では、第三者が、秘密計算上のデータを利用して横断分析を行う際であっても、各サーバ20A~20Cが、個人が特定されない匿名加工情報を用いて秘密計算上で計算処理を行うため、個人が特定されない形の計算結果を返却することができる。
【0056】
したがって、本実施の形態によれば、秘密計算上のデータを利用する際の、個人情報の第三者提供による同意の取得は不要となる。また、本実施の形態では、データ登録者Aが、登録データに対する匿名化の加工方法を自身で選択できるほか、匿名加工情報の匿名性及び有用性を評価した上で、匿名加工情報を第三者に提供するため、匿名性と有用性との双方を担保したデータを提供することができる。
【0057】
[変形例]
次に、実施の形態の変形例について説明する。
図9は、実施の形態に係る処理システムの処理の概要の他の例を説明する図である。
【0058】
図9に示すように、処理システム100では、登録部12によってシェアがサーバ20A~20Cにそれぞれ分散して登録された後であって(
図9の(1))、利用者装置30から計算処理を要求された場合(
図9の(2))、登録者装置10側では、登録加工方法選択部17が、要求された計算処理に応じた匿名化の加工方法を選択してもよい。そして、サーバ20A~20Cは、登録者装置10によって選択された、データ利用者Bの計算方針に沿う匿名化の加工方法を用いて、秘密計算上で匿名化を実行する(
図9の(3))。
【0059】
これによって、データ利用者Bの計算方針に沿う方法で匿名化が施された匿名化工テーブルTa´がテナントBに提供され(
図9の(4))、サーバ20A~20Cは、加工された匿名加工情報を用いて計算処理を行う(
図9の(5))。この結果、データ利用者Bに返却された計算結果(
図9の(6))は、データ利用者Bの計算方針に沿うものとなり、分析の円滑化を図ることができる。
【0060】
[処理手順]
次に、処理システム100における秘密計算の他の処理手順について説明する。
図10は、処理システム100が実行する秘密計算の他の処理手順を示すシーケンス図である。
【0061】
図10のステップS21~ステップS23は、
図8に示すステップS1~ステップS3と同じ処理である。利用者装置30では、計算要求を受け付けると(ステップS24)、要求に応じた計算処理の処理手順を設定し(ステップS25)、設定した処理手順とともに計算要求をサーバ20A~20Cにそれぞれ送信する(ステップS26)。サーバ20A~20Cは、要求された計算の方針を通知する計算要求通知を登録者装置10に送信する(ステップS27)。
【0062】
登録者装置10は、データ利用者Bの計算方針に沿う匿名化の加工方法を選択し(ステップS28)、選択した匿名化の加工方法での匿名化を要求する(ステップS29)。サーバ20A~20Cは、登録者装置によって選択された匿名化の加工方法を用いて、秘密計算上で匿名化を実行する(ステップS30)。
図10のステップS31~ステップS35は、
図8のステップS7~ステップS11と同じ処理である。
【0063】
サーバ20A~20Cは、データ利用者Bの計算方針に沿う方法で匿名化が施された匿名加工情報を用いて、秘密計算上で計算処理を行う(ステップS36)。
図10のステップS37,S38は、
図8のステップS16,S17と同じ処理である。
【0064】
このように、データ登録者A側で、データ利用者Bの計算方針に沿う匿名化の加工方法を選択することで、データ利用者Bによる分析の円滑化を図ることができる。
【0065】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUやGPU及び当該CPUやGPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0066】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0067】
[プログラム]
また、上記実施形態において説明した登録者装置10、サーバ20A~20C及び利用者装置30が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態における登録者装置10、サーバ20A~20C及び利用者装置300が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【0068】
図11は、プログラムを実行するコンピュータを示す図である。
図11に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
【0069】
メモリ1010は、
図11に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、
図11に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0070】
ここで、
図11に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の、プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。
【0071】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。
【0072】
なお、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0073】
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0074】
10 登録者装置
11 登録データ選択部
12 登録部
13 匿名化の加工方法選択部
14 評価部
20A~20C サーバ
21 シェアDB
22 登録部
23 匿名化部
24 加工情報提供部
25 計算手順受け取り部
26 計算処理部
27 計算結果送信部
30 利用者装置
31 計算依頼受付部
32 計算手順設定部
33 計算結果受信部
34 計算結果出力部
100 処理システム
【手続補正書】
【提出日】2022-06-22
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
登録者装置が有する登録データを、断片化したシェアの状態で複数のサーバに分散保管する処理システムであって、
前記複数のサーバのそれぞれは、
前記シェアに対して匿名化を行う匿名化部と、
前記匿名化が行われた匿名加工情報をシェアの状態で提供する提供部を有し、
前記登録者装置は、
前記登録データを複数のシェアに断片化し、分割したシェアを前記複数のサーバにそれぞれ分散して登録させる登録部と、
匿名化の加工方法を選択する選択部と、
前記匿名化部によって匿名化が行われた匿名加工情報に対する匿名性及び有用性に関する評価を行い、前記匿名加工情報が前記匿名性及び前記有用性を有する場合には、前記匿名加工情報の提供許可を前記複数のサーバに通知する評価部を有し、
前記匿名化部は、前記選択部によって選択された匿名化の加工方法を用いて前記シェアに対する匿名化を行い、
前記提供部は、前記匿名加工情報の提供の許可を通知された前記匿名加工情報を提供する、
ことを特徴とする処理システム。
【請求項2】
前記匿名化部は、前記複数のサーバ間でデータの演算と交換とを行うマルチパーティ計算を行うことで、前記シェアに対する匿名化を行うことを特徴とする請求項1に記載の処理システム。
【請求項3】
前記選択部は、前記登録部によって前記シェアが前記複数のサーバにそれぞれ分散して登録された後に、前記匿名化の加工方法を選択することを特徴とする請求項1に記載の処理システム。
【請求項4】
前記選択部は、前記登録部によって前記シェアが前記複数のサーバにそれぞれ分散して登録された後であって、利用者装置から計算処理を要求された場合に、要求された計算処理に応じた匿名化の加工方法を選択することを特徴とする請求項1に記載の処理システム。
【請求項5】
登録者装置が有する登録データを、断片化したシェアの状態で複数のサーバに分散保管する処理方法であって、
前記複数のサーバのそれぞれは、
前記シェアに対して匿名化を行う工程と、
前記匿名化が行われた匿名加工情報をシェアの状態で提供する工程を有し、
前記登録者装置は、
前記登録データを複数のシェアに断片化し、分割したシェアを前記複数のサーバにそれぞれ分散して登録させる工程と、
匿名化の加工方法を選択する工程と、
匿名化が行われた匿名加工情報に対する匿名性及び有用性に関する評価を行い、前記匿名加工情報が前記匿名性及び前記有用性を有する場合には、前記匿名加工情報の提供許可を前記複数のサーバに通知する工程を有し、
選択された匿名化の加工方法を用いて前記シェアに対する匿名化を行い、
前記匿名加工情報の提供の許可を通知された前記匿名加工情報を提供する、
ことを特徴とする処理方法。
【請求項6】
方法をコンピュータに実行させる処理プログラムであって、
複数のサーバとしてのコンピュータに、
前記複数のサーバのそれぞれが、登録データを断片化したシェアの状態で分散保管するステップと、
前記複数のサーバのそれぞれが、前記シェアに対して匿名化を行うステップと、
前記複数のサーバのそれぞれが、前記匿名化が行われた匿名加工情報をシェアの状態で提供するステップを有し、
登録者装置に、
前記登録データを複数のシェアに断片化し、分割したシェアを前記複数のサーバにそれぞれ分散して登録させるステップと、
匿名化の加工方法を選択するステップと、
匿名化が行われた匿名加工情報に対する匿名性及び有用性に関する評価を行い、前記匿名加工情報が前記匿名性及び前記有用性を有する場合には、前記匿名加工情報の提供許可を前記複数のサーバに通知するステップを有し、
選択された匿名化の加工方法を用いて前記シェアに対する匿名化を行い、
前記匿名加工情報の提供の許可を通知された前記匿名加工情報を提供する、
ことを実行させることを特徴とする処理プログラム。