(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022021761
(43)【公開日】2022-02-03
(54)【発明の名称】秘密計算システム、秘密計算方法、及びプログラム
(51)【国際特許分類】
G09C 1/00 20060101AFI20220127BHJP
G06Q 40/04 20120101ALI20220127BHJP
【FI】
G09C1/00 650Z
G06Q40/04
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2020125547
(22)【出願日】2020-07-22
(71)【出願人】
【識別番号】000155469
【氏名又は名称】株式会社野村総合研究所
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100080953
【弁理士】
【氏名又は名称】田中 克郎
(72)【発明者】
【氏名】外園 康智
(72)【発明者】
【氏名】田村 光太郎
【テーマコード(参考)】
5L055
【Fターム(参考)】
5L055BB52
(57)【要約】 (修正有)
【課題】データのセキュリティを向上させ、且つ、秘密計算の処理負担を軽減させることができる秘密計算技術を提供する。
【解決手段】データを暗号化した状態で計算する秘密計算を実行する秘密計算システムにおいて、秘密計算サーバ装置1は、暗号化された第1データを取得する第1取得部(秘匿データ取得部11)と、第1データに応じて、暗号化されていない第2データを取得する第2取得部(秘匿不要データ取得部13)と、第1データと第2データとに基づいて秘密計算を実行する秘密計算部15と、秘密計算の結果を暗号化された状態で出力する出力部17と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
データを暗号化した状態で計算する秘密計算を実行する秘密計算システムであって、
暗号化された第1データを取得する第1取得部と、
前記第1データに応じて、暗号化されていない第2データを取得する第2取得部と、
前記第1データと前記第2データとに基づいて前記秘密計算を実行する秘密計算部と、
前記秘密計算の結果を暗号化された状態で出力する出力部と、
を備える、秘密計算システム。
【請求項2】
複数のサーバ装置を備え、
前記サーバ装置のそれぞれは、
前記第1データを秘密分散して生成された、前記第1データの断片であるシェアを記憶する記憶部と、
記憶された前記シェアと前記第2データとに基づいて前記秘密計算を実行する秘密計算部と、
前記秘密計算の結果を暗号化された状態で出力する出力部と、を備える、
請求項1に記載の秘密計算システム。
【請求項3】
前記第1データは、金融商品の保有数に関する保有数データであり、
前記第2データは、前記金融商品の価格に関する価格データであり、
前記秘密計算部は、前記保有数データと前記価格データとに基づいて、前記特金融商品の評価額を算出する、
請求項1又は2に記載の秘密計算システム。
【請求項4】
前記第1データは、前記金融商品の簿価データと当該金融商品の売買金額を示す取引データとを含み、
前記秘密計算部は、前記簿価データと前記取引データとに基づいて売買損益データを算出し、算出された前記売買損益データと、算出された前記評価額と、に基づいて前記金融商品に関する基準価額を算出する、
請求項3に記載の秘密計算システム。
【請求項5】
前記第1データは、前記金融商品の名称に関するデータを更に含む、
請求項1から請求項4のいずれか一項に記載の秘密計算システム。
【請求項6】
前記第1データは、全ての金融商品の保有数に関するデータを含む、
請求項1から請求項5のいずれか一項に記載の秘密計算システム。
【請求項7】
コンピュータが、データを暗号化した状態で計算する秘密計算を実行する秘密計算方法であって、
暗号化された第1データを取得するステップと、
前記第1データに応じて、暗号化されていない第2データを取得するステップと、
前記第1データと前記第2データとに基づいて前記秘密計算を実行するステップと、
前記秘密計算の結果を暗号化された状態で出力するステップと、
を含む、秘密計算方法。
【請求項8】
データを暗号化した状態で計算する秘密計算を実行するコンピュータを、
暗号化された第1データを取得する第1取得部と、
前記第1データに応じて、暗号化されていない第2データを取得する第2取得部と、
前記第1データと前記第2データとに基づいて前記秘密計算を実行する秘密計算部と、
前記秘密計算の結果を暗号化された状態で出力する出力部と、
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、秘密計算システム、秘密計算方法、及びプログラムに関する。
【背景技術】
【0002】
従来、秘密計算技術の一つであり、秘密情報を複数のグループに分散して各グループが協働して各種処理を実行する手法である秘密分散法が知られている。
【0003】
例えば、特許文献1には、分散データに対して検証用のデータを付加し、復元前に分散データと検証用データを用いて評価することで、分散データの正当性を保証する秘密分散処理システムが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載されている従来の秘密計算技術は、必ずしも秘密計算の処理負担を軽減させるためのものではない。
【0006】
そこで、本発明のいくつかの態様はかかる事情に鑑みてなされたものであり、データのセキュリティを向上させ、且つ、秘密計算の処理負担を軽減させることができる秘密計算技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様に係る秘密計算システムは、データを暗号化した状態で計算する秘密計算を実行する秘密計算システムであって、暗号化された第1データを取得する第1取得部と、第1データに応じて、暗号化されていない第2データを取得する第2取得部と、第1データと第2データとに基づいて秘密計算を実行する秘密計算部と、秘密計算の結果を暗号化された状態で出力する出力部と、を備える。
【0008】
本発明の一態様に係る秘密計算方法は、コンピュータが、データを暗号化した状態で計算する秘密計算を実行する秘密計算方法であって、暗号化された第1データを取得するステップと、第1データに応じて、暗号化されていない第2データを取得するステップと、第1データと第2データとに基づいて秘密計算を実行するステップと、秘密計算の結果を暗号化された状態で出力するステップと、を含む。
【0009】
本発明の一態様に係るプログラムは、データを暗号化した状態で計算する秘密計算を実行するコンピュータを、暗号化された第1データを取得する第1取得部と、第1データに応じて、暗号化されていない第2データを取得する第2取得部と、第1データと第2データとに基づいて秘密計算を実行する秘密計算部と、秘密計算の結果を暗号化された状態で出力する出力部と、して機能させる。
【0010】
なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」や装置が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や装置の機能が1つの物理的手段や装置により実現されても良い。
【発明の効果】
【0011】
本発明によれば、データのセキュリティを向上させ、且つ、秘密計算の処理負担を軽減させることができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、一実施形態に係る、データを暗号化した状態で計算する秘密計算システムの一例を示す概略構成図(システム構成図)である。
【
図2】
図2は、一実施形態に係る株数データ及び株価データの一例を示す図である。
図2(A)は、株数データの一例を示す図である。
図2(B)は、株価データの一例を示す図である。
【
図3】
図3は、一実施形態に係る秘密計算サーバ装置の機能構成図の一例を示す。
【
図4】
図4は、一実施形態に係る秘密計算処理の第1例のフローチャートである。
【
図5】
図5は、一実施形態に係る秘密計算処理の第1例における暗号化データの一例を示す概念図である。
図5(A)は、
図1に示す秘密計算サーバ装置1Aにおける暗号化データの一例を示す概念図である。
図5(B)は、
図1に示す秘密計算サーバ装置1Bにおける暗号化データの一例を示す概念図である。
図5(C)は、
図1に示す秘密計算サーバ装置1Cにおける暗号化データの一例を示す概念図である。
【
図6】
図6は、一実施形態に係る秘密計算処理の第2例のフローチャートである。
【
図7】
図7は、一実施形態に係る秘密計算処理の第2例における暗号化データの一例を示す概念図である。
図7(A)は、簿価データ(T-1)の一例を示す概念図である。
図7(B)は、取引データ(T)の一例を示す概念図である。
図7(C)は、売買損益データ(T)の一例を示す概念図である。
図7(D)は、簿価データ(T)の一例を示す概念図である。
【
図8】
図8は、一実施形態に係るコンピュータのハードウェア構成の一例を示す図である。
【
図9】
図9は、一実施形態に係る秘密計算システムの他の一例を示す概略構成図である。
【発明を実施するための形態】
【0013】
以下、添付図面を参照しながら本発明の実施の形態について説明する。以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。また、本発明は、その要旨を逸脱しない限り、様々な変形が可能である。さらに、各図面において同一の構成要素に対しては可能な限り同一の符号を付し、重複する説明は省略する。
【0014】
図1は、一実施形態に係る、データを暗号化した状態で計算する秘密計算を実行する秘密計算システムの一例を示す概略構成図(システム構成図)である。「秘密計算」処理とは、データを秘匿した状態で計算処理することをいう。「秘密計算」では、例えば、一又は複数の組織が保有するデータが、当該組織又は他の組織に一切開示されることなく、所望の計算処理が実行される。また、「秘密計算」では、計算結果は、秘匿された状態で、一又は複数の組織、又は、計算結果を必要とする他の組織に提供される。このように、「秘密計算」では、秘匿すべき秘匿データCD(第1データ)のセキュリティが向上する。さらに、「秘密計算」では、秘密計算の過程についても秘匿されるため、秘密計算の過程のセキュリティが向上する。
【0015】
図1に示すように、秘密計算システム100は、例示的に、秘密計算サーバ装置1A,1B,1C(サーバ装置)と、秘匿データ供給装置3と、計算結果復元装置5と、を備える。秘密計算サーバ装置1A,1B,1Cのそれぞれを区別しない場合は、「秘密計算サーバ装置1」と呼ぶ。本実施形態に係る秘密計算システム100は、秘密計算を用いて、例えば、投資信託に含まれる一又は複数の株式の評価額、及び、当該評価額に基づく基準価額(一口あたりの価額)を算出する。以下では、投資信託を構成する金融商品には、株式の他、債券や不動産等の他の金融商品を含んでもよい。
【0016】
秘匿データ供給装置3は、秘匿データCDが記憶されたデータベース(DB)1を備え、秘匿データCDを暗号化した状態で、秘密計算サーバ装置1A,1B,1Cのそれぞれに供給する。また、秘匿不要データNCD(第2データ)が管理されているデータベース(DB)3からは、秘匿不要データNCDが、暗号化されていない状態で、秘密計算サーバ装置1A,1B,1Cのそれぞれに供給される。秘匿データCDは、秘匿すべきデータであり、後述するとおり、第三者に知られることを防止する必要があるデータである。また、秘匿不要データNCDは、特段、第三者に知られても構わないデータである。なお、
図1においては、秘匿不要データNCDが管理されているDB3は、秘密計算サーバ装置1とは別個の構成として説明されているが、DB3は、秘密計算サーバ装置1が備えてもよい。
【0017】
図2(A)は、秘匿データの一例である、株式(金融商品)の運用者の保有数に関する株数データ(保有数データ)を示す図である。
図2(A)に示すように、株数データは、銘柄コードと、名称と、株数と、を含む。株数データのうち、少なくとも株式の名称及び株数は、秘密計算サーバ装置1A,1B,1Cに供給される際に、暗号化される。運用者にとって、運用者が保有する株式の名称及び株数を他の運用者をはじめ、第三者に知られることは避ける必要があるためである。すなわち、運用者の株式の売買戦略又は売買アルゴリズムが漏れてしまうことを防止するためである。
【0018】
図2(B)は、秘匿不要データの一例である、株式(金融商品)の価格に関する株価データ(価格データ)を示す図である。
図2(B)に示すように、株価データは、銘柄コードと、株価とを含む。株価データは、株式の名称をさらに含んでもよい。
【0019】
本実施形態において、秘密計算システム100は「秘密計算」における「秘密分散」処理を実行する。「秘密分散」とは、データを複数の「シェア」という断片に分割し、秘密計算を実行することで、データの機密性を守る技術である。
図1に示すように、秘密分散を実行する秘密計算システム100において、秘匿データ供給装置3は、秘匿データCDを分割した上でシェアA,B,Cとして、暗号化した状態で秘密計算サーバ装置1A,1B,1Cのそれぞれに分散して送付する。各シェアA,B,Cは、一般的な暗号化技術の場合の暗号文と鍵の関係を有し、この関係は、秘密計算結果を復元する際に利用される。なお、シェアA,B,Cは、例えば、所定の乱数である。
【0020】
秘密計算サーバ装置1は、秘密計算を実行する装置である。秘密計算サーバ装置1A,1B,1Cは、互いに通信を行う(協働する)ことが可能である。秘密計算サーバ装置1A,1B,1Cは、シェアA,B,Cと、秘匿不要データNCDと、に基づいて秘密計算を実行して、秘密計算結果(X,Y,Z)を算出する。秘密計算サーバ装置1A,1B,1Cは、秘密計算結果(X,Y,Z)を、暗号化した状態で計算結果復元装置5に出力する。なお、秘密計算の具体的な内容については、後述する
図4及び
図5を参照して詳述する。
【0021】
計算結果復元装置5は、秘密計算サーバ装置1A,1B,1Cのそれぞれから受信した秘密計算結果(X)、秘密計算結果(Y)、及び秘密計算結果(Z)を用いて計算結果を復元する。計算結果復元装置5は、秘密計算結果Rをデータベース(DB)5に記憶する。
【0022】
従来、秘密計算に使用される膨大なデータの全て(秘匿不要データを含む)を暗号化して管理して、その上、全データを用いて計算処理を行うことは、データの処理負担が大きい。本実施形態における秘密計算システム100においては、秘密計算処理の対象となるデータのすべてを暗号化されたデータとして取得するのではなく、秘匿不要なデータは暗号化されることなく管理されている。秘密計算システム100は、秘密計算を実行する際に、銘柄コード等を参照することによって、秘匿データ(例えば株数データ)に応じた秘匿不要データ(例えば株価データ)を取得して秘密計算を実行する。よって、秘匿データのセキュリティを向上させ、且つ、秘密計算の処理負担を軽減させること(例えば、計算処理の高速化又は計算時間の短縮)が可能となる。
【0023】
また、秘密計算システム100においては、投資信託の運用者が保有する株式の名称及び株数等の秘匿データを秘匿したままで秘密計算を実行するため、運用状況のプライバシーを維持しながら、運用サービスを継続することができる。
【0024】
さらに、秘密計算システム100において、秘密分散処理を採用することによって、一の秘密計算サーバ装置からシェアが流出した場合であっても、処理結果の復元(復号)は困難である。よって、秘匿データの秘密が保たれるから、秘匿データのセキュリティがより向上する。
【0025】
なお、秘密計算サーバ装置1、秘匿データ供給装置3、及び、計算結果復元装置5は、例えばサーバ装置等の情報処理装置である。秘密計算サーバ装置1、秘匿データ供給装置3、及び、計算結果復元装置5は、例えば、汎用のパーソナルコンピュータ、スマートフォン、タブレット端末等の情報処理装置であってもよい。また、秘密計算サーバ装置1、秘匿データ供給装置3、及び、計算結果復元装置5の台数に制限はない。
【0026】
図3は、一実施形態に係る秘密計算サーバ装置の機能構成図の一例を示す。
図3に示すように、秘密計算サーバ装置1は、例示的に、秘密計算を実行する情報処理部10と、秘密計算を実行する際に使用されるデータ又は秘密計算の結果に関するデータを記憶する記憶部19と、を備える。
【0027】
情報処理部10は、機能的に、例えば、秘匿データ取得部11(第1データ取得部)、秘匿不要データ取得部13(第2データ取得部)、秘密計算部15、及び、出力部17を含んで構成されている。なお、情報処理部10の上記各部は、例えば、メモリやハードディスク等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。
【0028】
秘匿データ取得部11は、暗号化された秘匿データを取得する。例えば、秘匿データ取得部11は、
図1に示す秘匿データ供給装置3から、秘匿データCDを分割して生成されたシェアを暗号化した状態で取得する。
【0029】
秘匿不要データ取得部13は、秘匿データに応じて、暗号化されていない秘匿不要データを取得する。例えば、秘匿不要データ取得部13は、
図1に示す秘匿データ供給装置3から取得した、秘匿データCDのシェアに応じて、秘匿不要データNCDを取得する。より具体的には、秘匿不要データ取得部13は、
図2に示す株数データに含まれる銘柄コードを参照して、当該コードに対応する株式の株価を、秘匿不要データNCDが管理されているDB3から取得する。
【0030】
秘密計算部15は、秘匿データと秘匿不要データとに基づいて秘密計算を実行する。例えば、秘密計算部15は、記憶部19に記憶された、株数データに関するシェアデータと、株価データと、に基づいて秘密計算を実行して、株式の評価額を算出する。株式の評価額は、銘柄ごとに、株数と株価とを乗ずることによって算出される。この構成によれば、運用者の株式の保有数等の機密情報を秘匿した上で株式の評価額を算出可能である。
【0031】
出力部17は、秘密計算の結果を暗号化された状態で出力する。例えば、出力部17は、
図1に示すように、株式の評価額に関する計算結果(X、Y又はZ)を暗号化された状態で、計算結果復元装置5に出力する。出力部17は、計算結果を暗号化された状態で、秘匿データ供給装置3に出力してもよい。
【0032】
記憶部19は、例示的に、秘匿データを秘密分散して生成された当該秘匿データの断片であるシェアに関するシェアデータSDと、秘密計算部15の秘密計算結果Rと、を記憶する。
【0033】
<秘密計算処理>
(第1例)
図4及び
図5を参照して、一実施形態に係る秘密計算処理の第1例を説明する。第1例では、秘密計算サーバ装置1は、秘密計算処理によって、一又は複数の株式の評価額を算出する。
【0034】
図4は、一実施形態に係る秘密計算処理の第1例のフローチャートである。まず前提として、秘密計算処理において、例えばネットワークの所定のサイト又は記録媒体から、本発明の一実施形態に係る秘密計算処理アプリケーションソフトウェアをダウンロードし、
図1に示す秘密計算サーバ装置1に実行可能なように保存しておく。そして、秘密計算処理アプリケーションソフトウェアの実行が指示されると、当該ソフトウェアに基づくプログラム動作が開始する。なお、秘匿データ供給装置3及び計算結果復元装置5においても、秘密計算システム100の要素として適切に作動するように事前に当該ソフトウェアを実行する。
【0035】
(ステップS1)
図1に示す秘密計算サーバ装置1は、暗号化された秘匿データを取得する。例えば、秘密計算サーバ装置1は、
図1に示す秘匿データ供給装置3から、暗号化された全銘柄の株数データを取得する。この構成によれば、投資信託運用者の保有の有無に関わらず、秘密計算サーバ装置1に全銘柄の株数データを送信するから、秘匿データ供給装置3のデータ管理が簡便となる。
【0036】
(ステップS3)
秘密計算サーバ装置1は、秘匿データに応じて、暗号化されていない、秘匿不要データを取得する。例えば、秘密計算サーバ装置1は、銘柄コードを参照することによって、全銘柄の株価データのうち、運用者の保有株数が「ゼロ」以外の銘柄の株価データを取得する。
【0037】
(ステップS5)
秘密計算サーバ装置1は、秘匿データと秘匿不要データとに基づいて秘密計算を実行する。例えば、秘密計算サーバ装置1は、取得した株数データと、取得した株価データと、に基づいて暗号化した状態で評価額を算出する。
【0038】
図5は、一実施形態に係る秘密計算処理の第1例における暗号化データの一例を示す概念図である。
図5(A)は、
図1に示す秘密計算サーバ装置1Aにおける暗号化データの一例を示す概念図である。
図5(B)は、
図1に示す秘密計算サーバ装置1Bにおける暗号化データの一例を示す概念図である。
図5(C)は、
図1に示す秘密計算サーバ装置1Cにおける暗号化データの一例を示す概念図である。
図5(A)から
図5(C)に示すように、各秘密計算サーバ装置1A,1B,1Cにおいては、例えば、銘柄コード以外のデータ、すなわち、株数データ、株価データ及び評価額データが暗号化された状態で秘密計算を実行する。また、各秘密計算サーバ装置1A,1B,1Cは、銘柄コードについても暗号化した上で、秘密計算を実行してもよい。
【0039】
(ステップS7)
秘密計算サーバ装置1は、暗号化した状態で秘密計算結果を出力する。
【0040】
以上、秘密計算処理の第1例によれば、秘密計算サーバ装置1は、暗号化された株数データを取得し、当該株数データに応じて、暗号化されていない株価データを取得する。秘密計算サーバ装置1は、株数データと株価データとに基づいて暗号化した状態で、保有株式の評価額を算出し、暗号化した状態で秘密計算結果を出力する。よって、秘匿データのセキュリティを向上させ、且つ、秘密計算の処理負担を軽減させることが可能となる。
【0041】
(第2例)
図6及び
図7を参照して、一実施形態に係る秘密計算処理の第2例を説明する。第2例では、秘密計算サーバ装置1は、第1例で算出された一又は複数の株式の評価額を用いて、一又は複数の株式で構成される投資信託の基準価額を算出する。第2例において、基準価額を算出する過程で秘密計算を用いて、秘匿すべきデータの秘密を保持する点については、第1例と同様である。
【0042】
投資信託の基準価額は、純資産総額から投資信託の総口数(受益権総口数)を除算することによって得られる。投資信託の基準価額は、以下の式1のように表される。
基準価額=総資産総額/総口数 ・・・(1)
【0043】
総資産総額は、株式評価額合計と、次期繰越損益金と、その他(未払金、未収金、又はコール・ローン等)と、を用いて以下の式2のように表される。
総資産総額=株式評価額合計+次期繰越損益金+その他 ・・・(2)
株式評価額合計とは、保有するすべての株式の評価額を合計したものである。なお、株式評価額は、上記したとおり、銘柄ごとに、株数と株価とを乗算することによって算出される。以下では、一例として、次期繰越損益金の算出手法を
図6及び
図7を参照して説明する。
【0044】
図6は、一実施形態に係る秘密計算処理の第2例を示すフローチャートである。
図7は、一実施形態に係る秘密計算処理の第2例における暗号化データの一例を示す概念図である。
図7(A)は、株式(金融商品)の簿価データ(T-1)の一例を示す概念図である。
図7(B)は、株式の取引データ(T)の一例を示す概念図である。
図7(C)は、株式の売買損益データ(T)の一例を示す概念図である。
図7(D)は、株式の簿価データ(T)の一例を示す概念図である。なお、
図7(A)から
図7(D)では、説明の便宜上、各データを例示しているが、グレーアウトされているデータについては、秘密計算過程において暗号化されている。すなわち、少なくとも、
図7(A)における株式の保有数及び簿価と、
図7(B)における株式の売買数及び売買金額と、
図7(C)における株式の売却損益と、
図7(D)における株式の保有数及び簿価と、は秘密計算過程において暗号化されている。また、
図7(B)における売買フラグも暗号化されてもよい。
【0045】
(ステップS11)
図1に示す秘密計算サーバ装置1は、入力データとして、
図7(A)に示す簿価データ(T-1)、及び、
図7(B)に示す取引データ(T)を取得する。
【0046】
(ステップS13)
図1に示す秘密計算サーバ装置1は、簿価データ(T-1)及び取引データ(T)に基づいて秘密計算を実行して、売買損益データ(T)を算出する。例えば、
図7(B)に示す銘柄コード「4307」の株式のように、売買株数が「(+)400」の場合は、「売買フラグ」は「買」となり、銘柄コード「7203」の株式のように、売買株数が「-300」の場合は、「売買フラグ」は、「売」となる。
【0047】
売買損益データ(T)の算出に関して、売買フラグが「買」の場合、売買損益は「0」となり、売買フラグが「売」の場合、以下の式3で表される。式3の計算に関しても秘密計算で実行される。
売買損益(T)=(簿価(T-1)-売買金額)×売買株数 ・・・(3)
また、次期繰越損益金は、
図7(C)に示すように、銘柄ごとの売買損益を合計した金額に相当する。
【0048】
(ステップS15)
図1に示す秘密計算サーバ装置1は、簿価データ(T-1)及び取引データ(T)に基づいて秘密計算を実行して、簿価データ(T)を算出する。例えば、
図7(D)に示す保有数(T)と簿価(T)については、以下の式4で表される。なお、式4の計算に関しても秘密計算で実行される。
保有数(T)=保有数(T-1)+売買株数 ・・・(4)
より具体的に、銘柄コード「4307」の株式の保有数(T)は、
図7(A)に示す保有数(T-1)「400」に、
図7(B)に示す売買株数「300」を加算することによって、
図7(D)に示す保有数(T)「700」が算出される。
【0049】
図7(D)に示す簿価(T)については、以下の式5で表される。なお、式5の計算に関しても秘密計算で実行される。
簿価(T)={保有数(T-1)×簿価(T-1)+売買株数×売買金額}/保有数(T) ・・・(5)
より具体的に、銘柄コード「4307」の簿価(T)は、
図7(A)に示す保有数(T-1)「400」及び簿価(T-1)「2000」と、
図7(B)に示す売買株数「300」及び売買金額「3000」と、
図7(D)に示す保有数(T)「700」とに基づいて、「2571.429」と算出される。
【0050】
(ステップS17)
図1に示す秘密計算サーバ装置1は、簿価データ(T)に基づいて秘密計算を実行して、簿価データ(T+1)を算出する。秘密計算サーバ装置1は、次回、次期繰越損益金を算出する際に、簿価データ(T+1)を用いることができる。
【0051】
以上、秘密計算処理の第2例によれば、秘密計算サーバ装置1は、秘密計算を用いて、一又は複数の株式の簿価データと、一又は複数の株式の取引データとに基づいて売買損益データを算出する。秘密計算サーバ装置1は、算出された売買損益データと、算出された株式の評価額と、に基づいて、投資信託の基準価額を算出する。よって、一又は複数の株式で構成される投資信託の基準価額を秘密計算で算出する際にも、秘匿データのセキュリティを向上させ、且つ、秘密計算の処理負担を軽減させることが可能となる。
【0052】
図8は、一実施形態に係るコンピュータのハードウェア構成の一例を示す図である。
図8を参照して、
図1に示す秘密計算処理システム100における各種装置、例えば、秘密計算サーバ装置1、秘匿データ供給装置3、及び計算結果復元装置5を構成するのに用いることができるコンピュータのハードウェア構成の一例について説明する。
【0053】
図8に示すように、コンピュータ40は、ハードウェア資源として、主に、プロセッサ41と、主記録装置42と、補助記録装置43と、入出力インターフェース44と、通信インターフェース45とを備えており、これらはアドレスバス、データバス、コントロールバス等を含むバスライン46を介して相互に接続されている。なお、バスライン46と各ハードウェア資源との間には適宜インターフェース回路(図示せず)が介在している場合もある。
【0054】
プロセッサ41は、コンピュータ全体の制御を行う。プロセッサ41は、例えば、
図3に示す秘密計算サーバ装置1の情報処理部10に相当する。主記録装置42は、プロセッサ41に対して作業領域を提供し、SRAM(
Static
Random
Access
Memory)やDRAM(
Dynamic
Random
Access
Memory)等の揮発性メモリである。補助記録装置43は、ソフトウェアであるプログラム等やデータ等を格納する、HDDやSSD、フラッシュメモリ等の不揮発性メモリである。当該プログラムやデータ等は、任意の時点で補助記録装置43からバスライン46を介して主記録装置42へとロードされる。補助記録装置43は、例えば
図3に示す秘密計算サーバ装置1の記憶部19に相当する。
【0055】
入出力インターフェース44は、情報を提示すること及び情報の入力を受けることの一方又は双方を行うものであり、カメラ、キーボード、マウス、ディスプレイ、タッチパネル・ディスプレイ、マイク、スピーカ、温度センサ等である。通信インターフェース45は、所定の通信ネットワーク(不図示)を介して、
図1に示す各種データベース(DB)3、5及び7とデータを送受する。通信インターフェース45と所定の通信ネットワークとは、有線又は無線で接続されうる。通信インターフェース45は、ネットワークに係る情報、例えば、Wi-Fiのアクセスポイントに係る情報、通信キャリアの基地局に関する情報等も取得することがある。
【0056】
上に例示したハードウェア資源とソフトウェアとの協働により、コンピュータ40は、所望の手段として機能し、所望のステップを実行し、所望の機能を実現させることできることは、当業者には明らかである。
【0057】
なお、上記各実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するものではない。本発明はその趣旨を逸脱することなく、変更/改良され得るとともに、本発明にはその等価物も含まれる。また、本発明は、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の開示を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素は削除してもよい。さらに、異なる実施形態に構成要素を適宜組み合わせてもよい。
【0058】
図9は、一実施形態に係る秘密計算システムの他の一例を示す概略構成図である。
図9に示す秘密計算システム100は、準同型暗号化処理を実行する。準同型暗号化処理においては、秘匿データ供給装置3は、秘匿データCDを暗号化した上で、暗号鍵K1とともに秘密計算サーバ装置1に送信する。秘密計算サーバ装置1は、秘匿データ供給装置3から取得した秘匿データCDに応じて、DB3から秘匿不要データNCDを取得する。秘密計算サーバ装置1は、秘匿データCD及び秘匿不要データNCDに基づいて、暗号化した状態で秘密計算を実行する。秘密計算サーバ装置1は、秘密計算結果とともに復元鍵K3を計算結果復元装置5に送信する。計算結果復元装置5は、復元鍵K3を使用して、秘密計算結果Rを復元する。なお、
図9においては、秘匿データ供給装置3と計算結果復元装置5とは別個の装置であるが、両装置は、同一の装置でもよい。
【0059】
図9に示す秘密計算システム100は、
図1に示す秘密計算システム100とは異なり複数台の秘密計算サーバ装置1が不要である。よって、秘匿データのセキュリティを向上させる秘密計算処理をより簡便に実行可能である。
【0060】
なお、秘密計算システム100においては、上記でも述べたとおり、秘密計算として、秘密分散処理、及び、準同型暗号化処理を利用する形態の他、他の暗号化処理を採用してもよい。
【符号の説明】
【0061】
1A,1B,1C…秘密計算サーバ装置、3…秘匿データ供給装置、5…計算結果復元装置、10…情報処理部、11…秘匿データ取得部、13…秘匿不要データ取得部、15…秘密計算部、17…出力部、19…記憶部、40…コンピュータ、41…プロセッサ、42…主記録装置、43…補助記録装置、44…入出力インターフェース、45…通信インターフェース、46…バスライン、100…秘密計算システム