(58)【調査した分野】(Int.Cl.,DB名)
医療機関において使用する医療機関端末と、患者が使用する患者端末と、分散型ネットワークにより接続された複数のノード装置とを備えた個人情報保護システムであって、
上記医療機関端末は、
公開鍵および秘密鍵を生成する鍵生成部と、
上記鍵生成部により生成された上記公開鍵を、上記複数のノード装置のうち一のノード装置に提供する公開鍵提供部と、
上記複数のノード装置のうち一のノード装置から暗号化生体情報を取得する生体情報取得部と、
上記生体情報取得部により取得された上記暗号化生体情報を、上記鍵生成部により生成された上記秘密鍵によって復号化する復号処理部とを備え、
上記複数のノード装置は、
上記医療機関端末から提供された上記公開鍵を上記複数のノード装置の全体で共有するための合意形成処理を行う第1のコンセンサス処理部と、
上記第1のコンセンサス処理部により合意形成された場合にのみ、上記複数のノード装置がそれぞれ備えるデータ記憶部に上記公開鍵を記憶させる公開鍵記憶制御部と、
上記患者端末から提供された上記暗号化生体情報を上記複数のノード装置の全体で共有するための合意形成処理を行う第2のコンセンサス処理部と、
上記第2のコンセンサス処理部により合意形成された場合にのみ、上記複数のノード装置がそれぞれ備える上記データ記憶部に上記暗号化生体情報を記憶させる生体情報記憶制御部とを備え、
上記患者端末は、
上記複数のノード装置に記憶されている上記公開鍵を一のノード装置から取得する公開鍵取得部と、
上記公開鍵取得部により取得された上記公開鍵によって、患者の生体情報または当該生体情報に付加される個人を特定可能な情報を暗号化することにより、上記暗号化生体情報を生成する暗号処理部と、
上記暗号処理部により生成された上記暗号化生体情報を、上記複数のノード装置のうち一のノード装置に提供する生体情報提供部とを備えた
ことを特徴とする個人情報保護システム。
【発明を実施するための最良の形態】
【0019】
(第1の実施形態)
以下、本発明の第1の実施形態を図面に基づいて説明する。
図1は、第1の実施形態による個人情報保護システムの全体構成例を示す図である。
図1に示すように、第1の実施形態による個人情報保護システムは、医療機関において使用する医療機関端末100と、患者が使用する患者端末200と、分散型ネットワークにより接続された複数のノード装置300
-1〜300
-3(以下、まとめてノード装置300と記すこともある)とを備えて構成されている。
【0020】
医療機関端末100とノード装置300との間は、インターネット等の通信ネットワークにより接続可能に構成されている。
図1では、医療機関端末100がノード装置300
-3に接続された状態を示しているが、医療機関端末100は分散型ネットワーク内にあるノード装置300
-1〜300
-3の何れかと任意に接続することが可能である。
【0021】
また、患者端末200とノード装置300との間も、インターネット等の通信ネットワークにより接続可能に構成されている。
図1では、患者端末200がノード装置300
-2に接続された状態を示しているが、患者端末200は分散型ネットワーク内にあるノード装置300
-1〜300
-3の何れかと任意に接続することが可能である。
【0022】
患者端末200は、患者の生体情報を入力可能な端末であり、例えばスマートフォン、パーソナルコンピュータ、タブレット等により構成される。生体情報は、例えば、患者の自宅に置かれた医療機器(図示せず)で測定される情報である。ここで、医療機器と患者端末200とを有線または無線で接続し、医療機器で測定された生体情報を患者端末200に送信することにより、患者端末200が生体情報を入力するようにすることが可能である。または、患者が患者端末200のタッチパネルやキーボード等の操作インタフェースを操作することにより、医療機器で測定された生体情報を患者端末200に入力するようにしてもよい。
【0023】
なお、生体情報は、医療機器で測定される人間の生理に関する情報に限定されない。例えば、感覚や感性などの心理的側面に関する情報、反応や追従などの行動能力や日常生活行動に関する情報など、人間の心理や行動に関する情報であってもよい。これらの生体情報は、例えば、患者が患者端末200のタッチパネルやキーボード等の操作インタフェースを操作することによって入力することが可能である。あるいは、患者端末200にインストールされたアプリケーションプログラムを実行することによって、人間の心理や行動に関する情報をアプリケーションプログラムの機能として入力することも可能である。
【0024】
分散型ネットワークにより接続された複数のノード装置300
-1〜300
-3には、ブロックチェーン技術が導入されている。すなわち、後述するように、ブロックチェーン技術によって、公開鍵や生体情報などのデータが、複数のノード装置300
-1〜300
-3において共有する態様で保存されている。なお、図示の簡略ため、
図1では3つのノード装置300
-1〜300
-3のみ示しているが、これ以上であってもよい。
【0025】
本実施形態の個人情報保護システムでは、医療機関端末100において公開鍵および秘密鍵を生成し、これを複数のノード装置300
-1〜300
-3の中の一のノード装置に提供する。そして、公開鍵を複数のノード装置300
-1〜300
-3の全体で共有するための合意形成処理を行い、合意形成された場合にのみ、複数のノード装置300
-1〜300
-3に公開鍵を記憶させるようにする。
【0026】
患者端末200では、複数のノード装置300
-1〜300
-3の中の一のノード装置から公開鍵を取得し、当該取得した公開鍵によって、患者の生体情報または当該生体情報に付加される個人を特定可能な情報を暗号化する。そして、これにより生成された暗号化生体情報を複数のノード装置300
-1〜300
-3の中の一のノード装置に提供する。患者の生体情報は個人情報に係るものであるため、その秘匿性を確保するために、生体情報を暗号化し、暗号化した生体情報をノード装置300に提供するようにしている。
【0027】
患者の生体情報を利用する医療機関では、その生体情報が誰のものであるかを把握する必要がある。そのため、患者端末200からノード装置300に提供される生体情報には、患者の個人を特定可能な情報(患者の氏名、性別、年齢、住所などの情報。以下、これを患者情報という)が付加される。患者情報も個人情報に係るものであるため、その秘匿性を確保するために、患者情報を暗号化するようにしてもよい。なお、生体情報およびこれに付加される患者情報の全体を暗号化するようにしてもよいし、生体情報のみ、または患者情報のみを暗号化するようにしてもよい。
【0028】
暗号化生体情報が患者端末200から複数のノード装置300
-1〜300
-3の中の一のノード装置に提供されると、当該暗号化生体情報を複数のノード装置300
-1〜300
-3の全体で共有するための合意形成処理を行い、合意形成された場合にのみ、複数のノード装置300
-1〜300
-3に暗号化生体情報を記憶させるようにする。
【0029】
医療機関端末100では、複数のノード装置300
-1〜300
-3の中の一のノード装置から暗号化生体情報を取得し、公開鍵と共に生成していた秘密鍵によって復号化する。秘密鍵は、これを公開鍵と共に生成した医療機関端末100においてのみ保持しているものである。これにより、個人情報に係る患者の生体情報は、秘密鍵を把握している特定の医療機関端末100においてのみ利用可能となる。
【0030】
次に、医療機関端末100、患者端末200およびノード装置300の具体的な構成について、順を追って説明する。
図2は、第1の実施形態による医療機関端末100の機能構成例を示すブロック図である。
図2に示すように、第1の実施形態による医療機関端末100は、その機能構成として、鍵生成部11、公開鍵提供部12、生体情報取得部13および復号処理部14を備えている。また、第1の実施形態による医療機関端末100は、記憶媒体として、鍵記憶部10を備えている。
【0031】
上記各機能ブロック11〜14は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック11〜14は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【0032】
鍵生成部11は、公開鍵および秘密鍵を生成する。なお、鍵の生成には公知の技術を適用することが可能である。鍵生成部11により生成された公開鍵および秘密鍵(以下、これらをまとめて鍵情報という)は、鍵記憶部10に記憶される。
【0033】
公開鍵提供部12は、鍵生成部11により生成された公開鍵を、複数のノード装置300
-1〜300
-3のうち一のノード装置に提供する。どのノード装置に公開鍵を提供するかは任意である。ノード装置300に提供された公開鍵は、後述するコンセンサス処理を経て、複数のノード装置300
-1〜300
-3にて分散保存される。そして、ノード装置300に保存された公開鍵が患者端末200にて取得され、公開鍵によって患者の生体情報が暗号化された後、それにより生成された暗号化生体情報が患者端末200からノード装置300に提供される。ノード装置300に提供された暗号化生体情報は、後述するコンセンサス処理を経て、複数のノード装置300
-1〜300
-3にて分散保存される。
【0034】
生体情報取得部13は、複数のノード装置300
-1〜300
-3のうち一のノード装置から暗号化生体情報を取得する。すなわち、生体情報取得部13は、一のノード装置に対して生体情報の取得要求を送信し、この要求に応じて一のノード装置から送信されてくる暗号化生体情報を取得する。
【0035】
復号処理部14は、生体情報取得部13により取得された暗号化生体情報を、鍵生成部11により生成されて鍵記憶部10に記憶された秘密鍵によって復号化する。本実施形態において、暗号化生体情報を復号化できるのは、鍵情報を生成した医療機関端末100だけである。これにより、特定の医療機関と、その医療機関の診療や治療等を受けている特定の患者との間のみで、秘匿性を担保した状態で患者の生体情報をやり取りすることができる。
【0036】
図3は、第1の実施形態による患者端末200の機能構成例を示すブロック図である。
図3に示すように、第1の実施形態による患者端末200は、その機能構成として、生体情報入力部21、公開鍵取得部22、暗号処理部23および生体情報提供部24を備えている。
【0037】
上記各機能ブロック21〜24は、ハードウェア、DSP、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック21〜24は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【0038】
生体情報入力部21は、患者の生体情報を入力する。上述のように、生体情報は、患者の生理、心理、行動に関する情報の何れか1つまたは複数であり、例えば患者の自宅に置かれた医療機器(図示せず)で測定された情報を入力する。あるいは、患者端末200にインストールされたアプリケーションプログラムの実行を通じて、当該アプリケーションプログラムの機能として生体情報を入力する。このアプリケーションプログラムは、公開鍵取得部22、暗号処理部23および生体情報提供部24の機能を実行するプログラムと同じプログラムであってもよいし、別のプログラムであってもよい。
【0039】
生体情報入力部21は、入力した生体情報に対して、患者の個人を特定可能な患者情報を付加する。付加する患者情報は、患者が患者端末200のタッチパネルやキーボード等の操作インタフェースを操作することにより、あらかじめ入力して記憶しておく。生体情報入力部21は、あらかじめ記憶されている患者情報を生体情報に付加する。なお、生体情報の入力時に合わせて、患者情報を都度入力するようにしてもよい。
【0040】
公開鍵取得部22は、複数のノード装置300
-1〜300
-3に記憶されている公開鍵を一のノード装置から取得する。すなわち、公開鍵取得部22は、一のノード装置に対して公開鍵の取得要求を送信し、この要求に応じて一のノード装置から送信されてくる公開鍵を取得する。
【0041】
暗号処理部23は、公開鍵取得部22により取得された公開鍵によって、患者の生体情報および当該生体情報に付加される患者情報の少なくとも一方を暗号化することにより、暗号化生体情報を生成する。生体情報提供部24は、暗号処理部23により生成された暗号化生体情報を、複数のノード装置300
-1〜300
-3のうち一のノード装置に提供する。
【0042】
図4は、第1の実施形態によるノード装置300の機能構成例を示すブロック図である。なお、ここではノード装置300
-1の機能構成例を示しているが、他のノード装置300
-2〜300
-3も同様に構成されている。
【0043】
図4に示すように、第1の実施形態によるノード装置300
-1は、その機能構成として、公開鍵受信部31、第1のコンセンサス処理部32、公開鍵記憶制御部33、生体情報受信部34、第2のコンセンサス処理部35、生体情報記憶制御部36、公開鍵送信部37および生体情報送信部38を備えている。また、第1の実施形態によるノード装置300
-1は、記憶媒体として、データ記憶部30を備えている。
【0044】
上記各機能ブロック31〜38は、ハードウェア、DSP、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック31〜38は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【0045】
公開鍵受信部31は、医療機関端末100の公開鍵提供部12により提供された公開鍵を受信する。第1のコンセンサス処理部32は、医療機関端末100から提供された公開鍵(公開鍵受信部31により受信された公開鍵)を複数のノード装置300
-1〜300
-3の全体で共有するための合意形成処理を行う。すなわち、ノード装置300
-1の第1のコンセンサス処理部32は、公開鍵受信部31により受信された公開鍵を他のノード装置300
-2〜300
-3に送信し、所定の合意形成処理を行う。
【0046】
第1のコンセンサス処理部32が行う合意形成処理として、ブロックチェーン技術で公知のコンセンサスアルゴリズムを用いることが可能である。例えば、第1のコンセンサス処理部32は、PBFT(Practical Byzantine Fault Tolerance)のコンセンサスアルゴリズムを用いて合意形成処理を行うことにより、医療機関端末100から提供された公開鍵の正当性を検証する。
【0047】
公開鍵記憶制御部33は、第1のコンセンサス処理部32により合意形成された場合にのみ、複数のノード装置300
-2〜300
-3がそれぞれ備えるデータ記憶部30に公開鍵を記憶させる。これにより、複数のノード装置300
-1〜300
-3において、合意形成された公開鍵が分散して保存される。
【0048】
生体情報受信部34は、患者端末200の生体情報提供部24により提供された暗号化生体情報を受信する。第2のコンセンサス処理部35は、患者端末200から提供された暗号化生体情報(生体情報受信部34により受信された暗号化生体情報)を複数のノード装置300
-1〜300
-3の全体で共有するための合意形成処理を行う。この第2のコンセンサス処理部35が行う合意形成処理にも、ブロックチェーン技術で公知のコンセンサスアルゴリズムを用いることが可能である。
【0049】
生体情報記憶制御部36は、第2のコンセンサス処理部35により合意形成された場合にのみ、複数のノード装置300
-1〜300
-3がそれぞれ備えるデータ記憶部30に暗号化生体情報を記憶させる。これにより、複数のノード装置300
-1〜300
-3において、合意形成された暗号化生体情報が分散して保存される。
【0050】
公開鍵送信部37は、患者端末200の公開鍵取得部22から送られてくる公開鍵の取得要求に応じて、データ記憶部30に記憶されている公開鍵を患者端末200に送信する。生体情報送信部38は、医療機関端末100の生体情報取得部13から送られてくる生体情報の取得要求に応じて、データ記憶部30に記憶されている暗号化生体情報を医療機関端末100に送信する。
【0051】
次に、以上のように構成した第1の実施形態による個人情報保護システムの動作を説明する。
図5は、医療機関端末100からノード装置300に公開鍵を送信して記憶させる際の動作例を示すフローチャートである。
【0052】
まず、医療機関端末100の鍵生成部11が、公開鍵および秘密鍵を生成し(ステップS1)、生成した鍵情報を鍵記憶部10に記憶させる(ステップS2)。次いで、公開鍵提供部12が、鍵生成部11により生成された公開鍵を、複数のノード装置300
-1〜300
-3のうち一のノード装置に提供する(ステップS3)。
【0053】
一方、ノード装置300では、医療機関端末100から送信されてきた公開鍵を公開鍵受信部31が受信すると(ステップS11)、第1のコンセンサス処理部32が、当該受信された公開鍵を複数のノード装置300
-1〜300
-3の全体で共有するための合意形成処理を行う(ステップS12)。
【0054】
次いで、公開鍵記憶制御部33は、第1のコンセンサス処理部32による合意形成が成功したか否かを判定し(ステップS13)、合意形成された場合にのみ、複数のノード装置300
-1〜300
-3がそれぞれ備えるデータ記憶部30に公開鍵を記憶させる(ステップS14)。これにより、
図5に示すフローチャートの処理が終了する。
【0055】
図6は、患者の生体情報を暗号化して患者端末200からノード装置300に送信して記憶させる際の動作例を示すフローチャートである。まず、患者端末200の公開鍵取得部22は、公開鍵の取得要求をノード装置300に送信する(ステップS21)。ノード装置300の公開鍵送信部37は、公開鍵の取得要求を患者端末200から受信すると(ステップS31)、データ記憶部30に保存されている公開鍵を患者端末200に送信する(ステップS32)。これに応じて、公開鍵取得部22は、ノード装置300から送信されてきた公開鍵を取得する(ステップS22)。
【0056】
また、生体情報入力部21は、患者の生体情報を入力する(ステップS23)。そして、暗号処理部23は、公開鍵取得部22により取得された公開鍵によって、患者の生体情報および患者情報の少なくとも一方を暗号化することにより、暗号化生体情報を生成する(ステップS24)。生体情報提供部24は、暗号処理部23により生成された暗号化生体情報を、複数のノード装置300
-1〜300
-3のうち一のノード装置に提供する(ステップS25)。
【0057】
なお、ステップS21,S22,S31,S32による公開鍵の取得と、ステップS23による生体情報の入力は、処理の順番を逆としてもよい。また、患者が生体情報を繰り返しノード装置300に提供するような場合において、既に公開鍵を取得済みである場合には、ステップS21,S22,S31,S32による公開鍵の取得を省略することが可能である。
【0058】
ノード装置300では、患者端末200から送信された暗号化生体情報を生体情報受信部34において受信すると(ステップS33)、第2のコンセンサス処理部35が、当該受信した暗号化生体情報を複数のノード装置300
-1〜300
-3の全体で共有するための合意形成処理を行う(ステップS34)。
【0059】
次いで、生体情報記憶制御部36は、第2のコンセンサス処理部35による合意形成が成功したか否かを判定し(ステップS35)、合意形成された場合にのみ、複数のノード装置300
-1〜300
-3がそれぞれ備えるデータ記憶部30に暗号化生体情報を記憶させる(ステップS36)。これにより、
図6に示すフローチャートの処理が終了する。
【0060】
図7は、医療機関端末100がノード装置300から暗号化生体情報を取得して復号化する際の動作例を示すフローチャートである。まず、医療機関端末100の生体情報取得部13は、生体情報の取得要求をノード装置300に送信する(ステップS41)。ノード装置300の生体情報送信部38は、生体情報の取得要求を医療機関端末100から受信すると(ステップS51)、データ記憶部30に保存されている暗号化生体情報を医療機関端末100に送信する(ステップS52)。これに応じて、生体情報取得部13は、ノード装置300から送信されてきた暗号化生体情報を取得する(ステップS42)。
【0061】
次いで、復号処理部14は、鍵記憶部10に記憶されている秘密鍵を取得し(ステップS43)、生体情報取得部13により取得された暗号化生体情報を当該秘密鍵によって復号化する(ステップS44)。これにより、
図7に示すフローチャートの処理が終了する。
【0062】
以上詳しく説明したように、第1の実施形態によれば、患者端末200から医療機関端末100に提供される患者の生体情報は、それ自体または当該生体情報に付加される患者情報が公開鍵によって暗号化されることにより、秘匿化される。秘匿化された生体情報は、秘密鍵を生成した医療機関においてのみ復号化して利用することが可能である。
【0063】
また、公開鍵は、複数のノード装置300間で実行される合意形成処理により正当であることが検証された場合にのみ、各ノード装置300に分散して記憶されるので、例えば、ノード装置300に悪質なプログラムが仕掛けられることにより、公開鍵自体の改ざんが行われることを防ぐことができる。公開鍵の改ざんが抑止されるので、改ざんされた不正な公開鍵によって生体情報等が暗号化され、不正な秘密鍵により復号されて生体情報が改ざんされるといったことも抑止することができる。
【0064】
さらに、公開鍵によって暗号化された生体情報等も、複数のノード装置300間で実行される合意形成処理により正当であることが検証された場合にのみ、各ノード装置300に分散して記憶されるので、例えば、ノード装置300に悪質なプログラムが仕掛けられることにより、暗号化された生体情報等の改ざんが行われることを防ぐことができる。
【0065】
以上により、第1の実施形態によれば、患者端末200から医療機関端末100に提供される患者の生体情報の真正性(改ざん不能性)と秘匿性とを実現することができる。
【0066】
(第2の実施形態)
次に、本発明の第2の実施形態を図面に基づいて説明する。
図8は、第2の実施形態による個人情報保護システムの全体構成例を示す図である。なお、この
図8において、
図1に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
【0067】
図8に示すように、第2の実施形態による個人情報保護システムは、2つの医療機関において使用する端末として、2つの医療機関端末100A,100Bを備えている。第1の医療機関端末100Aとノード装置300’との間および第2の医療機関端末100Bとノード装置300’との間は、それぞれインターネット等の通信ネットワークにより接続可能に構成されている。
【0068】
なお、
図8では、第1の医療機関端末100Aがノード装置300
-3’に接続され、第2の医療機関端末100Bがノード装置300
-1’に接続された状態を示しているが、医療機関端末100A,100Bは何れも分散型ネットワーク内にあるノード装置300
-1’〜300
-3’の何れかと任意に接続することが可能である。
【0069】
図9は、第2の実施形態による第1の医療機関端末100Aの機能構成例を示すブロック図である。なお、この
図9において、
図2に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
【0070】
図9に示すように、第1の医療機関端末100Aは、その機能構成として、カルテ情報入力部15、カルテ暗号処理部16およびカルテ情報提供部17を更に備えている。これらの機能ブロック15〜17も、ハードウェア、DSP、ソフトウェアの何れによっても構成することが可能である。
【0071】
カルテ情報入力部15は、患者のカルテ情報を入力する。カルテ情報は、患者の診療や治療等に関する種々の情報を記録したものであり、患者の担当医師が診療や治療等を行う都度、必要な情報を書き込んで保存したものである。作成されたカルテ情報は、担当医師が使用するローカル端末または病院内ネットワークの共有サーバ等に保存される。カルテ情報入力部15は、ローカル端末または共有サーバ等に保存されているカルテ情報を入力する。
【0072】
カルテ暗号処理部16は、鍵生成部11により生成されて鍵記憶部10に記憶された公開鍵によって、カルテ情報入力部15により入力されたカルテ情報を暗号化することにより、暗号化カルテ情報を生成する。なお、カルテ情報の暗号化は、カルテ情報の全体に対して行ってもよいし、カルテ情報内に含まれる患者情報の部分に対してのみ行ってもよい。
【0073】
カルテ情報提供部17は、カルテ暗号処理部16により生成された暗号化カルテ情報を、複数のノード装置のうち一のノード装置300
-1〜300
-3に提供する。
【0074】
図10は、第2の実施形態による第2の医療機関端末100Bの機能構成例を示すブロック図である。
図10に示すように、第2の医療機関端末100Bは、その機能構成として、カルテ情報取得部41、カルテ復号処理部42および秘密鍵取得部43を備えている。また、第2の医療機関端末100Bは、記憶媒体として、秘密鍵記憶部40を備えている。これらの機能ブロック41〜43も、ハードウェア、DSP、ソフトウェアの何れによっても構成することが可能である。
【0075】
カルテ情報取得部41は、複数のノード装置300
-1’〜300
-3’のうち一のノード装置から暗号化カルテ情報を取得する。すなわち、カルテ情報取得部41は、一のノード装置に対してカルテ情報の取得要求を送信し、この要求に応じて一のノード装置から送信されてくる暗号化カルテ情報を取得する。
【0076】
秘密鍵取得部43は、第1の医療機関端末100Aにて生成された秘密鍵を、ノード装置300’を経由しない別の安全なルートを介して取得する。例えば、第1の医療機関端末100Aと第2の医療機関端末100Bとの間に設定したVPN(Virtual Private Network)または専用線を介して、秘密鍵取得部43が第1の医療機関端末100Aから秘密鍵を取得するようにすることが可能である。または、秘密鍵を紙媒体または情報記憶媒体に出力したものを郵送するようにしてもよい。
【0077】
別の方法として、以下のようにしてもよい。すなわち、第2の医療機関端末100Bにて別の公開鍵と別の秘密鍵との組を生成し、別の公開鍵を公開する。そして、第1の医療機関端末100Aで生成した秘密鍵を、第2の医療機関端末100Bで生成された別の公開鍵で暗号化し、暗号化した秘密鍵を第1の医療機関端末100Aから第2の医療機関端末100Bに送信する。秘密鍵取得部43は、第1の医療機関端末100Aから取得した秘密鍵を別の秘密鍵で復号化し、秘密鍵記憶部40に記憶させる。
【0078】
カルテ復号処理部42は、カルテ情報取得部41により取得された暗号化カルテ情報を、秘密鍵記憶部40に記憶された秘密鍵によって復号化する。本実施形態において、暗号化カルテ情報を復号化できるのは、秘密鍵を生成した第1の医療機関端末100Aから安全なルートで秘密鍵を取得した第2の医療機関端末100Bだけである。
【0079】
図11は、第2の実施形態によるノード装置300’の機能構成例を示すブロック図である。なお、ここではノード装置300
-1’の機能構成例を示しているが、他のノード装置300
-2’〜300
-3’も同様に構成されている。
【0080】
図11に示すように、第2の実施形態によるノード装置300
-1’は、その機能構成として、カルテ情報受信部51、第3のコンセンサス処理部52、カルテ情報記憶制御部53およびカルテ情報送信部54を更に備えている。これらの機能ブロック51〜54も、ハードウェア、DSP、ソフトウェアの何れによっても構成することが可能である。
【0081】
カルテ情報受信部51は、第1の医療機関端末100Aのカルテ情報提供部17により提供された暗号化カルテ情報を受信する。第3のコンセンサス処理部52は、第1の医療機関端末100Aから提供された暗号化カルテ情報(カルテ情報受信部51により受信された暗号化カルテ情報)を複数のノード装置300
-1’〜300
-3’の全体で共有するための合意形成処理を行う。この第3のコンセンサス処理部52が行う合意形成処理にも、ブロックチェーン技術で公知のコンセンサスアルゴリズムを用いることが可能である。
【0082】
カルテ情報記憶制御部53は、第3のコンセンサス処理部52により合意形成された場合にのみ、複数のノード装置300
-1’〜300
-3’がそれぞれ備えるデータ記憶部30に暗号化カルテ情報を記憶させる。これにより、複数のノード装置300
-1’〜300
-3’において、合意形成された暗号化カルテ情報が分散して保存される。
【0083】
カルテ情報送信部54は、第2の医療機関端末100Bのカルテ情報取得部41から送られてくるカルテ情報の取得要求に応じて、データ記憶部30に記憶されている暗号化カルテ情報を第2の医療機関端末100Bに送信する。
【0084】
以上のように構成した第2の実施形態によれば、第1の医療機関端末100Aと第2の医療機関端末100Bとの間で、患者のカルテ情報の真正性(改ざん不能性)と秘匿性とを担保しながら、カルテ情報の共有を実現することができる。
【0085】
すなわち、第1の医療機関端末100Aから第2の医療機関端末100Bに提供される患者のカルテ情報は、その全体または患者情報の部分が公開鍵によって暗号化されることにより、秘匿化される。秘匿化されたカルテ情報は、第1の医療機関から秘密鍵を取得した第2の医療機関においてのみ復号化して利用することが可能である。
【0086】
また、公開鍵は、複数のノード装置300’間で実行される合意形成処理により正当であることが検証された場合にのみ、各ノード装置300’に分散して記憶されるので、例えば、ノード装置300’に悪質なプログラムが仕掛けられることにより、公開鍵自体の改ざんが行われることを防ぐことができる。公開鍵の改ざんが抑止されるので、改ざんされた不正な公開鍵によってカルテ情報等が暗号化され、不正な秘密鍵により復号されてカルテ情報が改ざんされるといったことも抑止することができる。
【0087】
さらに、公開鍵によって暗号化されたカルテ情報等も、複数のノード装置300’間で実行される合意形成処理により正当であることが検証された場合にのみ、各ノード装置300’に分散して記憶されるので、例えば、ノード装置300’に悪質なプログラムが仕掛けられることにより、暗号化されたカルテ情報等の改ざんが行われることを防ぐことができる。
【0088】
以上により、第2の実施形態によれば、第1の医療機関端末100Aから第2の医療機関端末100Bに提供されて共有される患者のカルテ情報の真正性(改ざん不能性)と秘匿性とを実現することができる。
【0089】
なお、ここでは、第1の医療機関端末100Aにて暗号化されたカルテ情報を第2の医療機関端末100Bに提供する例を説明したが、これに限定されない。例えば、第2の医療機関端末100Bが生体情報取得部13および復号処理部14を更に備えることにより、患者端末200にて暗号化された生体情報を第2の医療機関端末100Bに提供することができるようにしてもよい。
【0090】
また、上記第2の実施形態において、第2の医療機関端末100Bは、
図10に示した構成に加えて、鍵記憶部10、鍵生成部11、公開鍵提供部12、生体情報取得部13、復号処理部14、カルテ情報入力部15、カルテ暗号処理部16およびカルテ情報提供部17を備えてもよい。また、第1の医療機関端末100Aは、
図9に示した構成に加えて、秘密鍵記憶部40、カルテ情報取得部41、カルテ復号処理部42および秘密鍵取得部43を備えてもよい。
【0091】
また、上記第2の実施形態において、秘密鍵記憶部40、カルテ情報取得部41、カルテ復号処理部42および秘密鍵取得部43を患者端末200が更に備えるようにしてもよい。このようにすれば、第1の医療機関端末100Aと患者端末200との間で、患者のカルテ情報の真正性(改ざん不能性)と秘匿性とを担保しながら、カルテ情報の共有を実現することができる。
【0092】
この場合、第1の医療機関端末100Aにおいて作成されたカルテ情報を、同じく第1の医療機関端末100Aにおいて生成した公開鍵によって暗号化するとともに、第1の医療機関端末100Aに生成した秘密鍵を安全なルートで第1の医療機関端末100Aから患者端末200に提供することになる。これに対し、以下のように構成してもよい。
【0093】
すなわち、患者端末200にて第2の公開鍵と第2の秘密鍵との組を生成し、第2の公開鍵をノード装置300’に提供する。ノード装置300’では、第2の公開鍵についてコンセンサス処理を行い、合意形成された場合にのみ第2の公開鍵を分散保存する。そして、第1の医療機関端末100Aにおいて作成されたカルテ情報を、第1の医療機関端末100Aがノード装置300’から取得した第2の公開鍵で暗号化し、暗号化カルテ情報を第1の医療機関端末100Aからノード装置300’に提供する。ノード装置300’では、暗号化カルテ情報についてコンセンサス処理を行い、合意形成された場合にのみ当該暗号化カルテ情報を分散保存する。患者端末200では、暗号化カルテ情報をノード装置300’から取得し、第2の公開鍵と共に生成しておいた第2の秘密鍵で復号化する。
【0094】
この場合における個人情報保護システムは、医療機関において使用する医療機関端末と、患者が使用する患者端末と、分散型ネットワークにより接続された複数のノード装置とを備えた個人情報保護システムであって、具体的には以下のように構成される。
【0095】
患者端末は、
第2の公開鍵および第2の秘密鍵を生成する第2の鍵生成部と、
上記第2の鍵生成部により生成された上記第2の公開鍵を、上記複数のノード装置のうち一のノード装置に提供する第2の公開鍵提供部と、
上記複数のノード装置のうち一のノード装置から暗号化カルテ情報を取得するカルテ情報取得部と、
上記カルテ情報取得部により取得された上記暗号化カルテ情報を、上記第2の鍵生成部により生成された上記第2の秘密鍵によって復号化する第2の復号処理部とを備える。
【0096】
また、複数のノード装置は、
上記患者端末から提供された上記第2の公開鍵を上記複数のノード装置の全体で共有するための合意形成処理を行う第4のコンセンサス処理部と、
上記第4のコンセンサス処理部により合意形成された場合にのみ、上記複数のノード装置がそれぞれ備える上記データ記憶部に上記第2の公開鍵を記憶させる第2の公開鍵記憶制御部と、
上記医療機関端末から提供された上記暗号化カルテ情報を上記複数のノード装置の全体で共有するための合意形成処理を行う第5のコンセンサス処理部と、
上記第5のコンセンサス処理部により合意形成された場合にのみ、上記複数のノード装置がそれぞれ備える上記データ記憶部に上記暗号化カルテ情報を記憶させるカルテ情報記憶制御部とを備える。
【0097】
また、医療機関端末は、
上記複数のノード装置に記憶されている上記第2の公開鍵を一のノード装置から取得する第2の公開鍵取得部と、
上記第2の公開鍵取得部により取得された上記第2の公開鍵によってカルテ情報を暗号化することにより、上記暗号化カルテ情報を生成する第2の暗号処理部と、
上記第2の暗号処理部により生成された上記暗号化カルテ情報を、上記複数のノード装置のうち一のノード装置に提供するカルテ情報提供部とを備える。
【0098】
また、上記各実施形態では、コンセンサスアルゴリズムの一例としてPBFTを用いる例について説明したが、本発明はこれに限定されない。例えば、Proof of Work、Proof of Stake、Paxos、Raft、Sieveなどの他のコンセンサスアルゴリズムを用いてもよい。
【0099】
その他、上述した各実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
医療機関端末100において公開鍵および秘密鍵を生成して、一のノード装置300に提供し、複数のノード装置300の全体で合意形成された場合にのみ公開鍵を分散保存する。また、患者端末200が一のノード装置300から公開鍵を取得して生体情報を暗号化して、暗号化生体情報を一のノード装置300に提供し、複数のノード装置300の全体で合意形成された場合にのみ暗号化生体情報を分散保存する。そして、医療機関端末100が一のノード装置300から暗号化生体情報を取得し、公開鍵と共に生成していた秘密鍵によって復号化する。これにより、患者から医療機関に提供される生体情報の真正性(改ざん不能性)と秘匿性(許可された者以外による個人特定の不能性)とを実現することができるようにする。