(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022150526
(43)【公開日】2022-10-07
(54)【発明の名称】処理システム、処理方法及び処理プログラム
(51)【国際特許分類】
G06F 21/62 20130101AFI20220929BHJP
【FI】
G06F21/62 345
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021053164
(22)【出願日】2021-03-26
(11)【特許番号】
(45)【特許公報発行日】2022-08-15
(71)【出願人】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】田中 哲士
(72)【発明者】
【氏名】櫻井 陽一
(72)【発明者】
【氏名】澤田 匡史
(57)【要約】
【課題】秘密計算上のデータを利用する際に、個人情報の第三者提供による同意取得を不要とすることができる。
【解決手段】処理システム100は、元データを断片化したシェアの状態で複数のサーバに分散保管する処理システムであって、複数のサーバ20A~20Cのそれぞれは、依頼元端末装置30から要求された計算に使用するシェアに対して統計加工を行う統計加工部と、統計加工において変換された統計情報を用いて、依頼元端末装置30から要求された計算を行う計算処理部と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
元データを断片化したシェアの状態で複数のサーバに分散保管する処理システムであって、
前記複数のサーバのそれぞれは、
依頼元の装置から要求された計算に使用する前記シェアに対して統計加工を行う統計加工部と、
前記統計加工において変換された統計情報を用いて、前記依頼元の装置から要求された計算を行う計算処理部と、
を有することを特徴とする処理システム。
【請求項2】
前記統計加工部は、秘密計算上で、前記シェアに対する統計加工を行い、
前記計算処理部は、秘密計算上で、前記依頼元の装置から要求された計算を行うことを特徴とする請求項1に記載の処理システム。
【請求項3】
前記統計加工部は、前記統計加工として、個人を特定可能である値を、他の値との集約値を基に変換することを特徴とする請求項1または2に記載の処理システム。
【請求項4】
前記統計加工部は、前記統計加工として、各値が所定値未満となる領域の値を集約し、集約値が前記所定値以上である場合には、この領域の各値を平均値に変換し、集約値が前記所定値未満である場合には、この領域の各値を0に変換することを特徴とする請求項3に記載の処理システム。
【請求項5】
元データを断片化したシェアの状態で複数のサーバに分散保管する処理システムが実行する処理方法であって、
前記複数のサーバのそれぞれが、依頼元の装置から要求された計算に使用する前記シェアに対して統計加工を行う工程と、
前記複数のサーバのそれぞれが、前記統計加工において変換された統計情報を用いて、前記依頼元の装置から要求された計算を行う工程と、
を含んだことを特徴とする処理方法。
【請求項6】
方法をコンピュータに実行させる処理プログラムであって、
複数のサーバとしてのコンピュータに、
前記複数のサーバのそれぞれが、元データを断片化したシェアの状態で複数のサーバに分散保管させるステップと、
前記複数のサーバのそれぞれが、前記複数のサーバのそれぞれが、依頼元の装置から要求された計算に使用する前記シェアに対して統計加工を行うステップと、
前記複数のサーバのそれぞれが、前記統計加工において変換された統計情報を用いて、前記依頼元の装置から要求された計算を行うステップと、
を実行させることを特徴とする処理プログラム。
【発明の詳細な説明】
【技術分野】
【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は、処理システムが実行する秘密計算の処理手順を示すシーケンス図である。
【
図10】
図10は、実施の形態における秘密計算の処理例を示す図である。
【
図11】
図11は、プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【0011】
以下に、本願に係る処理システム、処理方法及び処理プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る処理システム、処理方法及び処理プログラムが限定されるものではない。
【0012】
以下の実施の形態では、実施の形態に係る処理システム、処理方法及び処理プログラムの処理の流れを順に説明し、最後に実施の形態による効果を説明する。
【0013】
[実施の形態]
まず、実施の形態について説明する。実施の形態では、データを暗号化したまま計算できる秘密計算において、各組織のデータに対し、秘密計算による統計加工を行い、各組織のデータを、個人が特定されない統計情報に変換した後に、統計情報を用いて、秘密計算による組織間のデータ連携を行う。これによって、本実施の形態では、秘密計算上のデータを利用する際の、個人情報の第三者提供による同意取得を不要としている。
【0014】
[処理システムの構成及び処理の概要]
実施の形態に係る処理システムの構成及び処理システムにおける処理の概要を説明する。
図1は、実施の形態に係る処理システムの構成の一例を示すブロック図である。
図2及び
図3は、実施の形態に係る処理システムの処理の概要を説明する図である。
【0015】
実施の形態に係る処理システム100では、データを暗号化したまま計算できる秘密計算を実行するシステムである。処理システム100では、データを、複数のシェアと呼ばれる断片に分割し、これらのシェアを複数のサーバに分散保管させた状態で、複数のサーバが、定められた手順に従って複数のサーバ間でデータの演算と交換を行うマルチパーティ計算を行うことで秘密計算を実行する。個々のシェアはそれぞれ意味のないデータになっており、シェア一つだけでは元データを復元できず情報は洩れないが、ある一定数以上のシェアが揃うと元のデータを復元することができる。
【0016】
以降では、処理システム100が、
図1に示すように、データ登録者A,Bの登録者サーバ10A,10Bと、データセンター(DC)内のサーバ20A,20B,20Cと、計算依頼を行う依頼元端末装置30とで構成される例について説明する。なお、
図1に示す構成は一例に過ぎず、具体的な構成や各装置の数は特に限定されない。また、説明の容易化のために、登録者サーバ10A,10Bと依頼元端末装置30とを分けて説明するが、実際の運用では、登録者サーバ10A,10Bが有する機能を依頼元端末装置30が有していてもよい。
【0017】
まず、データ保管の処理について説明する。登録者サーバ10A,10Bは、DCのサーバ群20にデータをアップロードする。登録者サーバ10A,10Bは、アップロード対象の元データDa,Dbを、それぞれ、シェアSa1~Sa3,Sb1~Sb3に断片化する(
図2の(1))。登録者サーバ10A,10Bは、断片化した各シェアSa1~Sa3,Sb1~Sb3を、DCのサーバ20A~20Cに、分散して保管させる(
図2の(2))。
【0018】
例えば、サーバ20Aは、シェアSa1,Sb1を保管し、サーバ20Bは、シェアSa2,Sb2を保管し、サーバ20Cは、シェアSa3,Sb3を保管する。そして、サーバ20A~20C単体では、シェアSa1~Sa3,Sb1~Sb3を、元データに復元することができない。このため、個々のシェアSa1~Sa3,Sb1~Sb3からは情報が漏れない。
【0019】
これによって、元データDaと元データDbは、それぞれ、暗号化されてサーバ20A~20Cに登録されており、登録者サーバ10A,10Bは、互いに相手の元データを参照することができない。そして、攻撃者が断片化されたシェアの一部を不正取得しても元データを復元することはできない(
図2の(B))。また、元データを自身で保有するデータ登録者以外は、システム管理者であっても、DCのサーバ20A~20Cから元データを参照することはできない(
図2の(C))。このように、処理システム100では、安全な環境にデータを分散保管、すなわち、秘密分散することができる(
図2の(2))。
【0020】
続いて、秘密分散されたデータに対する秘密計算処理について説明する。依頼者が使用する依頼元端末装置30は、DCのサーバ20A~20Cが保管するデータに対する計算要求を行う(
図3の(1))。この際、依頼元端末装置30では、要求に応じた計算処理の処理手順を設定し、設定した処理手順をサーバ20A~20Cにそれぞれ送信する。
【0021】
サーバ20A~20Cは、依頼元端末装置30によって要求された計算処理を行う前に、それぞれ保管するシェアSa1~Sa3,Sb1~Sb3のうち依頼元端末装置30から要求された計算に使用するシェアに対して、秘密計算上で、統計加工を行う(
図3の(2))。サーバ20A~20Cは、サーバ20A~20C間でデータの演算と交換とを行うマルチパーティ計算を行うことで、シェアに対する統計加工を行う。秘密計算は、複数のサーバが一体となって計算を行う。そして、秘密計算は、常に秘密分散のシェアの状態でデータを扱う。
【0022】
そして、サーバ20A~20Cは、統計加工において変換された統計情報を用いて、依頼元端末装置30が設定した処理手順に従って、要求された計算処理を行う。サーバ20A~20Cは、復元することなく、シェアの状態でデータを計算する秘密計算を行う(
図3の(3))。
【0023】
各サーバ20A~20Cは、秘密計算が終了すると、暗号化されたままの計算結果を依頼元端末装置30にそれぞれ送信する(
図3の(4))。依頼元端末装置30は、受信した各計算結果を復元することで、要求した計算結果Deのみを取得することができる(
図3の(5))。そして、この計算結果は、統計加工されたものである(
図3の(6))。すなわち、この計算結果は、各データを個人が特定されない統計情報に変換した後に、計算された結果である。したがって、秘密計算において、第三者による横断分析を行う際であっても、統計加工することで、個人が特定されない形の結果を得ることができ、第三者提供による同意の取得は不要となる。
【0024】
[登録者サーバ]
続いて、処理システム100の各装置の構成について説明する。まず、登録者サーバ10Aの構成について説明する。
図4は、登録者サーバ10Aの構成の一例を模式的に示す図である。なお、登録者サーバ10Bは、登録者サーバ10Bと同様の機能を有する。
【0025】
登録者サーバ10Aは、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、登録者サーバ10Aは、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。例えば、登録者サーバ10Aは、NIC(Network Interface Card)等を有し、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置との間の通信を行う。そして、登録者サーバ10Aは、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイス、液晶ディスプレイなどの表示装置を有し、情報の入出力を行う。登録者サーバ10Aは、登録データ選択部11及び登録部12を有する。
【0026】
登録データ選択部11は、登録者サーバ10Aの操作者の操作にしたがって、データ登録者AのDBに登録されているデータの中から、サーバ20A~20Cに秘密分散にて保管するデータを選択する。
【0027】
登録部12は、登録データ選択部11が選択したデータを複数のシェアに分割し、分割したシェアを20A~20Cにそれぞれ分散して登録させる要求を行う。例えば、登録者サーバ10Aの操作者は、Webブラウザで展開された、処理システム100用のWebUI画面を介して、登録データの選択やシェアの分散保管要求を行う。
【0028】
[サーバ]
次に、サーバ20Aの構成について説明する。
図5は、サーバ20Aの構成の一例を模式的に示す図である。なお、サーバ20A.20Bは、サーバ20Aと同様の機能を有する。
【0029】
サーバ20Aは、ROM、RAM、CPU等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、サーバ20Aは、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。例えば、サーバ20Aは、NIC等を有し、LANやインターネットなどの電気通信回線を介した他の装置との間の通信を行う。そして、サーバ20Aは、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイス、液晶ディスプレイなどの表示装置を有し、情報の入出力を行う。サーバ20Aは、シェアDB21、登録部22、計算手順受け取り部23、統計加工部24、計算処理部25及び計算結果送信部26を有する。
【0030】
シェアDB21は、登録者サーバ10A,10Bから登録を要求されたシェアを記憶する。
【0031】
登録部22は、登録者サーバ10A,10Bからの登録要求を受け付け、登録者サーバ10A,10Bから登録を要求されたシェアを、シェアDB21に記憶する。
【0032】
計算手順受け取り部23は、依頼元端末装置30によって設定された計算処理の処理手順を受け取る。
【0033】
統計加工部24は、依頼元端末装置30によって要求された計算処理を行う前に、それぞれ保管するシェアのうち、依頼元端末装置30によって要求された計算に使用するシェアに対して統計加工を行う。統計加工部24は、秘密計算上で、データを復元することなく統計加工を行う。
【0034】
統計加工部24は、統計加工として、個人を特定可能である値を、他の値との集約値を基に変換する。統計加工部24は、統計加工として、例えば、依頼元端末装置30によって要求された計算に使用するシェアに対し、集約値が所定値を担保するような変換を行う。この例の場合、統計加工部24は、各値が所定値未満となる領域の値を集約し、集約値が所定値以上である場合には、この領域の各値を平均値に変換し、集約値が所定値未満である場合には、この領域の各値を0に変換する。なお、統計加工部24は、統計加工として各種手法を適用することができる。
【0035】
計算処理部25は、統計加工において変換された統計情報を用いて、依頼元端末装置30が設定した処理手順に従って、要求された計算処理を行う。計算処理部25は、他のサーバ20B,20Cとの間で、シェアの状態で統計情報の演算と交換を行うマルチパーティ計算を行うことで秘密計算を行う。計算結果送信部26は、計算結果を依頼元端末装置30に送信する。
【0036】
[依頼元端末装置]
次に、依頼元端末装置30の構成について説明する。
図6は、依頼元端末装置30の構成の一例を模式的に示す図である。
【0037】
依頼元端末装置30は、ROM、RAM、CPU等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、依頼元端末装置30は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。例えば、依頼元端末装置30は、NIC等を有し、LANやインターネットなどの電気通信回線を介した他の装置との間の通信を行う。そして、サーバ20Aは、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイス、液晶ディスプレイなどの表示装置を有し、情報の入出力を行う。依頼元端末装置30は、計算依頼受付部31、計算手順設定部32、計算結果受信部33及び計算結果出力部34を有する。
【0038】
計算依頼受付部31は、依頼元端末装置30の操作者(依頼者)の操作にしたがって、サーバ20A~20Cが保管するデータに対する計算要求を受け付ける。
【0039】
計算手順設定部32は、要求に応じた計算処理の処理手順を設定し、設定した処理手順とともに計算要求をサーバ20A~20Cにそれぞれ送信する。
【0040】
計算結果受信部33は、各サーバ20A~20Cから暗号化されたままの計算結果を受信する。
【0041】
計算結果出力部34は、受信した各計算結果を復元し、要求した計算結果のみを取得する。そして、計算結果出力部34は、計算結果を出力する。例えば、依頼元端末装置30の操作者は、Webブラウザで展開された、処理システム100用のWebUI画面を介して、計算依頼の入力や、計算処理結果の表示形式(表、グラフ等)の指定を行う。
【0042】
[計算例]
次に、処理システム100における秘密計算の具体例について説明する。
図7は、所定の患者の生存率分析に関する秘密計算例を説明する図である。
【0043】
例えば、
図7では、依頼元端末装置30では、分析条件R1として、術式Gの手術を受けた疾病F患者の生存分析要求(
図7の(1))を行った場合を例に説明する。
【0044】
サーバ20A~20Cは、この依頼を受けて、各テナントのデータのうち分析依頼に該当するデータを取得する。サーバ20A~20Cは、分析依頼に該当するデータとして、A病院テナントとB病院テナントとのデータであって、期間1~3における生存分析依頼に該当する患者の死亡数及び打切数を示すテーブルT1,T2とを取得する。なお、サーバ20A~20Cは、シェアの状態でデータを取得し、シェアの状態でデータの演算と交換を行うが、
図7の例では、説明の容易化のために、実際の元データの状態で説明する。
【0045】
まず、サーバ20A~20Cは、秘密計算上で、テーブルT1,T2の統計加工を行う。統計加工として、例えば、個人の特定リスクを考慮し、各病院から出力する情報は、集約数k=3以上を担保するようにアウトカムをまとめる処理を行う。サーバ20A~20Cは、各値が3未満となる期間について統計加工を行う。サーバ20A~20Cは、各値が3未満となる連続した期間の値を集約する。サーバ20A~20Cは、集約値が3以上である場合には、この領域の各値を平均値に変換する。そして、サーバ20A~20Cは、集約値が3未満である場合には、この領域の各値を0に変換する。
【0046】
具体的には、サーバ20A~20Cは、テーブルT1の期間1,2の死亡数1及び2(枠W11)を集約して(
図7の(2-1a))、期間1~2の死亡数を3(枠W12)とする。サーバ20A~20Cは、テーブルT1の期間1,2の打切り1,1,3(枠W13)を集約して(
図7の(2-1b))、期間1~3の打切の人数を5(枠W14)とする。
【0047】
そして、サーバ20A~20Cは、統計加工として、集約した人数を対象期間で割ることによって平均化する。サーバ20A~20Cは、テーブルT1のデータについては、集約後の期間1~2の死亡数3を期間2で割り、期間1,2の各死亡数を1.5(枠W15)とする。また、サーバ20A~20Cは、集約後の期間1~3の打切数5を期間3で割り、期間1,2,3の各死亡数を1.667(枠W16)とする。このような統計加工を実行することで、テーブルT1は、統計加工が施されたテーブルT1fに変換される(
図7の(3-1))。なお、統計加工の処理も、マルチパーティ計算を用いた秘密計算上で実行される。
【0048】
また、サーバ20A~20Cは、テーブルT2に対する統計加工のうち、期間1~3の死亡数に関しては、期間1~3の死亡数を集約して(
図7の(2-2a))、期間1~3の死亡数を4とし、平均を取る。そして、サーバ20A~20Cは、テーブルT2に対する統計加工のうち、期間1~3の打切数0,2,0については、集約数が3に達しないため、切り捨てて(
図7の(2-2b))、0(枠W22)とする。このような統計加工によって、テーブルT2は、期間1,2,3の各打切数はいずれも0となるテーブルT2fに変換される(
図7の(3-2))。このように、サーバ20A~20Cは、元のデータを推計できないように統計加工を行う。
【0049】
続いて、サーバ20A~20Cは、依頼元端末装置30によって設定された計算処理の処理手順を実行する。この場合には、術式Gの手術を受けた疾病Fの患者の生存分析のための計算処理が要求されているため、該当する患者の死亡数と打切数とを得るために、サーバ20A~20Cは、統計加工後のテーブルT1f,T2fを合成して(
図7の(4)、テーブルT3を計算結果として取得する。この計算結果(例えば、テーブルT3)は、各データを個人が特定されない統計情報に変換された後に、計算された結果であるため、個人が特定されない形となる。
【0050】
サーバ20A~20Cは、テーブルT3の内容を計算結果として、依頼元端末装置30に返却する(
図7の(5))。依頼元端末装置30は、例えば、WebUI画面上で結果表示を指示することによって、返却された計算結果を基に、生存曲線E1等を得ることができる。この生存曲線E1は、サーバ20A~20Cにおいて、各データを個人が特定されない統計情報に変換された後に、計算された結果に基づくものであるため、個人が特定されない形となり、第三者提供による同意の取得は不要となる。
【0051】
[処理手順]
次に、処理システム100における秘密計算の処理手順について説明する。
図8は、処理システム100が実行する秘密計算の処理手順を示すシーケンス図である。
【0052】
図8に示すように、まず、依頼元端末装置30は、計算要求を受け付けると(ステップS1)、要求に応じた計算処理の処理手順を設定し(ステップS2)、設定した処理手順とともに計算要求をサーバ20A~20Cにそれぞれ送信する(ステップS3-1~S3-3)。
【0053】
サーバ20A~20Cは、依頼元端末装置30によって設定された計算処理の処理手順を受け取ると、それぞれ保管するシェアに対し、秘密計算上で統計加工を行う(ステップS4)。そして、サーバ20A~20Cは、統計加工において変換された統計情報を用いて、依頼元端末装置30が設定した処理手順に従った秘密計算を行う(ステップS5)。
【0054】
サーバ20A~20Cは、それぞれ計算結果を依頼元端末装置30に送信する(ステップS6-1~S6-3)。依頼元端末装置30は、各サーバ20A~20Cから暗号化されたままの計算結果を受信し(ステップS7)、復元した後に計算結果を出力する(ステップS8)。
【0055】
[実施の形態の効果]
図9は、秘密計算の処理例を示す図である。通常の秘密計算では、
図9に示すように、複数のサーバが、分析要求により、生存表を導出する秘密計算を行い、導出した生存表を結果として返却する(
図9の(1)~(3))。しかしながら、この場合、第三者が横断分析を行い比較する際に、これら情報を基に個人の特定が可能になるおそれがある(
図9の(4))。秘密計算では、シェアが暗号文扱いであっても、個人情報を含む各種情報を第三者が触れることになるため、第三者提供が発生する。秘密計算であっても、例えば、分析条件によっては、値が1となる期間が発生し、個人の特定に繋がるおそれがある。
【0056】
図10は、実施の形態における秘密計算の処理例を示す図である。実施の形態では、複数のサーバ20A~20Cが、A病院テナントの該当データとB病院テナントの該当データとをそれぞれ秘密計算上で統計加工した後に合成し、生存曲線を描画するための生存表を作成して(
図10の(1))、依頼元端末装置に返却する。
【0057】
このように、本実施の形態では、各サーバ20A~20Cが、秘密計算上で各データを個人が特定されない統計情報に変換した後に、実際に要求された計算処理を行う。このため、本実施の形態では、第三者が、秘密計算上のデータを利用して横断分析を行う際であっても、各サーバ20A~20Cが、要求された計算処理の前に、各データを統計加工することで、個人が特定されない形の計算結果を返却することができる。
【0058】
したがって、本実施の形態によれば、個人情報の第三者提供による同意の取得は不要となる。また、本実施の形態では、サーバ20A~20Cがデータの統計加工を行うため、登録元の各テナントは、登録するデータをアップロードするのみでよく、特に匿名加工等の処理を負担する必要もない。
【0059】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUやGPU及び当該CPUやGPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0060】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0061】
[プログラム]
また、上記実施形態において説明した登録者サーバ10A,10B、サーバ20A~20C及び依頼元端末装置30が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態における登録者サーバ10A,10B、サーバ20A~20C及び依頼元端末装置300が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【0062】
図11は、プログラムを実行するコンピュータを示す図である。
図11に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
【0063】
メモリ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に接続される。
【0064】
ここで、
図11に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の、プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。
【0065】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。
【0066】
なお、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0067】
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0068】
10A,10B 登録者サーバ
11 登録データ選択部
12 登録部
20A~20C サーバ
21 シェアDB
22 登録部
23 計算手順受け取り部
24 統計加工部
25 計算処理部
26 計算結果送信部
30 依頼元端末装置
31 計算依頼受付部
32 計算手順設定部
33 計算結果受信部
34 計算結果出力部
100 処理システム
【手続補正書】
【提出日】2022-06-22
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
元データを断片化したシェアの状態で複数のサーバに分散保管する処理システムであって、
前記複数のサーバのそれぞれは、
依頼元の装置から要求された計算に使用する前記シェアに対して統計加工を行う統計加工部と、
前記統計加工において変換された統計情報を用いて、前記依頼元の装置から要求された計算を行う計算処理部を有し、
前記統計加工部は、前記統計加工として、個人を特定可能である値を、他の値との集約値を基に変換する、
ことを特徴とする処理システム。
【請求項2】
前記統計加工部は、秘密計算上で、前記シェアに対する統計加工を行い、
前記計算処理部は、秘密計算上で、前記依頼元の装置から要求された計算を行うことを特徴とする請求項1に記載の処理システム。
【請求項3】
前記統計加工部は、前記統計加工として、各値が所定値未満となる領域の値を集約し、集約値が前記所定値以上である場合には、この領域の各値を平均値に変換し、集約値が前記所定値未満である場合には、この領域の各値を0に変換することを特徴とする請求項1に記載の処理システム。
【請求項4】
元データを断片化したシェアの状態で複数のサーバに分散保管する処理システムが実行する処理方法であって、
前記複数のサーバのそれぞれが、依頼元の装置から要求された計算に使用する前記シェアに対して統計加工を行う工程と、
前記複数のサーバのそれぞれが、前記統計加工において変換された統計情報を用いて、前記依頼元の装置から要求された計算を行う工程を含み、
前記統計加工として、個人を特定可能である値を、他の値との集約値を基に変換する、
ことを特徴とする処理方法。
【請求項5】
方法をコンピュータに実行させる処理プログラムであって、
複数のサーバとしてのコンピュータに、
前記複数のサーバのそれぞれが、元データを断片化したシェアの状態で複数のサーバに分散保管させるステップと、
前記複数のサーバのそれぞれが、依頼元の装置から要求された計算に使用する前記シェアに対して統計加工を行うステップと、
前記複数のサーバのそれぞれが、前記統計加工において変換された統計情報を用いて、前記依頼元の装置から要求された計算を行うステップを実行させ、
前記統計加工として、個人を特定可能である値を、他の値との集約値を基に変換することを特徴とする処理プログラム。