【文献】
星野 隆之,大量かつ複雑な非構造化データを扱う解析基盤の仕組み,UNISYS TECHNOLOGY REVIEW 第III号,日本,日本ユニシス株式会社,2012年 3月31日,Vol. 31 No. 4,p.59-67
【文献】
沖 俊吾,医療システムでの非構造化データ活用事例,UNISYS TECHNOLOGY REVEW 第III号,日本,日本ユニシス株式会社,2012年 3月31日,Vol. 31 No. 4,p. 67-77
【文献】
CURTMOLA, Reza, et al.,Searchable Symmetric Encryption: Improved Definitions and Efficient Constructions,Proceedings of the 13th ACM conference on Computer and communications security (CCS'06),米国,ACM,2006年10月30日,p.79-88
【文献】
HIRANO, Takato, et al.,Simple, Secure, and Efficient Searchable Symmetric Encryption with Multiple Encrypted Indexes,LNCS, Advances in Information and Computer Security, 11th International Workshop on Security (IWSEC,Springer,2016年 9月12日,Vol.9836,p.91-110
(58)【調査した分野】(Int.Cl.,DB名)
個人情報を識別する匿名ID(IDentifier)を、前記個人情報の開示範囲を埋め込んで暗号化した個人検索用IDであって秘匿検索に用いる個人検索用IDと、前記匿名IDおよび前記個人情報を、前記個人情報の開示範囲を埋め込んで暗号化した個人暗号化IDおよび暗号化個人情報とを記憶する個人情報記憶部と、
前記匿名IDを、前記個人情報に対応する個人が受けた受領データの開示範囲を埋め込んで暗号化した受領検索用IDであって秘匿検索に用いる受領検索用IDと、前記匿名IDを、前記受領データの開示範囲を埋め込んで暗号化した受領暗号化IDと、前記受領データとを記憶するデータ記憶部と
を有する管理装置と、
ユーザから検索対象の匿名IDを検索匿名IDとして取得し、前記検索匿名IDを、前記ユーザの属性情報を埋め込んで暗号化した検索クエリを生成する検索クエリ生成部と、
前記検索クエリを用いて、前記個人検索用IDと前記受領検索用IDとに対して秘匿検索を実行し、前記ユーザの属性情報と前記個人情報の開示範囲と前記受領データの開示範囲とに基づいて得られた検索結果を出力する検索部と
を有する検索装置と
を備えたデータ検索システム。
管理装置の個人情報記憶部が、個人情報を識別する匿名ID(IDentifier)を、前記個人情報の開示範囲を埋め込んで暗号化した個人検索用IDであって秘匿検索に用いる個人検索用IDと、前記匿名IDおよび前記個人情報を、前記個人情報の開示範囲を埋め込んで暗号化した個人暗号化IDおよび暗号化個人情報とを記憶し、
管理装置のデータ記憶部が、前記匿名IDを、前記個人情報に対応する個人が受けた受領データの開示範囲を埋め込んで暗号化した受領検索用IDであって秘匿検索に用いる受領検索用IDと、前記匿名IDを、前記受領データの開示範囲を埋め込んで暗号化した受領暗号化IDと、前記受領データとを記憶し、
検索装置の検索クエリ生成部が、ユーザから検索対象の匿名IDを検索匿名IDとして取得し、前記検索匿名IDを、前記ユーザの属性情報を埋め込んで暗号化した検索クエリを生成し、
検索装置の検索部が、前記検索クエリを用いて、前記個人検索用IDと前記受領検索用IDとに対して秘匿検索を実行し、前記ユーザの属性情報と前記個人情報の開示範囲と前記受領データの開示範囲とに基づいて得られた検索結果を出力するデータ検索方法。
個人情報を識別する匿名ID(IDentifier)を、前記個人情報の開示範囲を埋め込んで暗号化した個人検索用IDであって秘匿検索に用いる個人検索用IDと、前記匿名IDおよび前記個人情報を、前記個人情報の開示範囲を埋め込んで暗号化した個人暗号化IDおよび暗号化個人情報とを記憶する個人情報記憶部と、
前記匿名IDを、前記個人情報に対応する個人が受けた受領データの開示範囲を埋め込んで暗号化した受領検索用IDであって秘匿検索に用いる受領検索用IDと、前記匿名IDを、前記受領データの開示範囲を埋め込んで暗号化した受領暗号化IDと、前記受領データとを記憶するデータ記憶部と
を検索する検索装置のデータ検索プログラムにおいて、
ユーザから検索対象の匿名IDを検索匿名IDとして取得し、前記検索匿名IDを、前記ユーザの属性情報を埋め込んで暗号化した検索クエリを生成する検索クエリ生成処理と、
前記検索クエリを用いて、前記個人検索用IDと前記受領検索用IDとに対して秘匿検索を実行し、前記ユーザの属性情報と前記個人情報の開示範囲と前記受領データの開示範囲とに基づいて得られた検索結果を出力する秘匿検索処理と
をコンピュータである検索装置に実行させるデータ検索プログラム。
【発明を実施するための形態】
【0022】
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、その説明を適宜省略または簡略化する。
【0023】
実施の形態1.
***構成の説明***
図1を用いて、本実施の形態に係る医療データ検索システム100の構成の概要について説明する。医療データ検索システム100では、医療データは匿名ID管理技術により管理されている。匿名IDは、個人情報を識別する匿名のIDである。個人情報とは、個人の氏名、年齢、および住所といった情報である。医療データとは、個人が医療機関で受けた病理診断情報、および、医療機関による所見データである遺伝子診断情報といった情報である。
【0024】
医療データ検索システム100は、鍵管理装置200と、個人情報登録装置310と、医療データ登録装置320と、検索装置400と、管理装置500と、ユーザ装置600とを備える。鍵管理装置200と、個人情報登録装置310と、医療データ登録装置320と、検索装置400と、管理装置500と、ユーザ装置600とは、ネットワークを経由して接続される。ネットワークは、具体的には、インターネット、あるいは、LAN(Local Area Network)であり、他の種類のネットワークが用いられてもよい。なお、医療データ検索システム100の各装置は、ネットワークを経由せずに接続されていてもよい。また、医療データ検索システム100の各装置のうち複数の装置が、1つのコンピュータ内に搭載されていてもよい。
【0025】
図2を用いて、本実施の形態に係る鍵管理装置200の構成について説明する。
鍵管理装置200は、コンピュータである。鍵管理装置200は、確定的鍵記憶部210と、秘匿検索用鍵記憶部220と、暗号化用鍵記憶部230と、情報記憶部240と、公開鍵情報送信部250と、鍵送信部260とを有する。
確定的鍵記憶部210は、確定的暗号化のための公開鍵Kpおよび秘密鍵Ksを記憶する。確定的暗号化のための公開鍵Kpおよび秘密鍵Ksは、匿名IDの暗号化および復号に用いられる。
秘匿検索用鍵記憶部220は、秘匿検索用の公開鍵SKpおよびユーザの属性情報が埋め込まれた秘匿検索用の秘密鍵SKsを記憶する。ユーザの属性情報とは、例えば、ユーザの職業である。具体的には、ユーザの属性情報は、主治医、遺伝子カウンセラー、および研究者といった医療データを扱う職業を表す情報である。秘匿検索用鍵記憶部220に記憶された公開鍵SKpは、管理装置500の中にデータを登録したい時に、登録したいワードを検索してもよいユーザの属性情報とともに暗号化する時に用いられる。また秘匿検索用鍵記憶部220に記憶された秘密鍵SKsは、管理装置500の中に登録された暗号化データを検索したい時に、検索したいデータを暗号化するために用いられる。
なお、登録データの暗号化時に含めるユーザの属性情報と、秘密鍵SKsに含まれるユーザの属性情報が一致する、かつ登録データと検索データが同じ場合は、これらのデータは一致していることを暗号化したまま判定することができる。一方で、登録データの暗号化時に含めるユーザの属性情報と、秘密鍵SKsに含まれるユーザの属性情報が異なる場合は、登録データと検索データが同じであっても、これらのデータは一致していないと判定される。
暗号化用鍵記憶部230は、暗号化用の公開鍵CKpおよびユーザの属性情報が埋め込まれた暗号化用の秘密鍵CKsを記憶する。暗号化用鍵記憶部230に記憶された公開鍵CKpは、管理装置500の中にデータを登録したい時に、登録したいワードを検索してもよいユーザの属性情報とともに暗号化する時に用いられる。暗号化用鍵記憶部230に記憶された秘密鍵CKsは、管理装置500の中に登録された暗号化データを復号するために用いられる。
なお、登録された暗号化データに含まれるユーザの属性情報と、秘密鍵CKsに含まれるユーザの属性情報が一致する場合は、その暗号化データを復号できる。
情報記憶部240は、個人情報の開示範囲と医療データの開示範囲とを含む権限設定情報241を記憶する。
公開鍵情報送信部250は、秘匿検索用の公開鍵SKpと、暗号化用の公開鍵CKpと、権限設定情報241とを含む公開鍵情報251を送信する。公開鍵情報251には、確定的暗号化のための公開鍵Kpも含まれる。
鍵送信部260は、確定的暗号の公開鍵Kpと、ユーザの属性情報に対応する秘密鍵SKs,CKsとを検索装置400に送信する。
【0026】
鍵管理装置200は、例えば、ユーザからパラメータを取得し、確定的暗号化のための公開鍵Kpおよび秘密鍵Ks、検索に利用する公開鍵SKpおよび秘密鍵SKs、および暗号化に利用する公開鍵CKpおよび秘密鍵Cksを作成してもよい。あるいは、鍵管理装置200は、鍵管理装置200の外部で作成された鍵を取得し、内部に記憶してもよい。具体的には、個人情報登録装置310により生成された鍵を取得し、内部に記憶してもよい。
確定的鍵記憶部210と秘匿検索用鍵記憶部220と暗号化用鍵記憶部230とは、鍵DB(データベース)の例である。
【0027】
また、権限設定情報241には、例えば、以下のような情報が含まれる。
図1に示すように、ユーザ装置600は、具体的には、主治医、遺伝子カウンセラー、および研究者により利用される装置である。主治医、遺伝子カウンセラー、および研究者の各々は、以下のような権限を有する。
主治医は、患者の個人情報と病理診断情報と遺伝子診断情報とを連結して閲覧可能である。
遺伝子カウンセラーは、患者の個人情報と遺伝子診断情報とを連結して閲覧可能であるが、病理診断情報は見ることができない。
研究者は、医療データを二次利用するユーザである。研究者は、患者の同意があれば、病理診断情報と遺伝子診断情報とを連結して閲覧可能である。しかし、研究者は、患者の同意がなければ、病理診断情報と遺伝子診断情報とを連結できない。
【0028】
図3を用いて、本実施の形態に係る管理装置500の構成について説明する。
管理装置500は、具体的には、大容量の記憶装置を有するコンピュータである。管理装置500は、個人情報記憶部51と、医療データ記憶部501とを有する。医療データ記憶部501は、病理情報記憶部52と、遺伝子情報記憶部53とを有する。
個人情報記憶部51には、匿名個人情報510が記憶されている。病理情報記憶部52には、匿名病理情報520が記憶されている。遺伝子情報記憶部53には、匿名遺伝子情報530が記憶されている。
【0029】
匿名個人情報510には、個人検索用ID511と、個人暗号化ID512と、暗号化個人情報513とが対応付けられている。個人検索用ID511は、秘匿検索に用いられる。個人検索用ID511は、個人情報を識別する匿名IDを、個人情報の開示範囲を埋め込んで暗号化した情報である。また、個人暗号化ID512および暗号化個人情報513は、匿名IDおよび個人情報を、個人情報の開示範囲を埋め込んで暗号化した情報である。
個人検索用ID511が秘匿検索により抽出されると、個人暗号化ID512は復号され、個人情報、病理診断情報、および遺伝子診断情報を連結する際に用いられる。
【0030】
匿名病理情報520には、病理検索用ID521と、病理暗号化ID522と、病理診断情報523とが対応付けられている。病理検索用ID521は、秘匿検索に用いられる。病理検索用ID521は、匿名IDを、個人情報に対応する病理診断情報523の開示範囲を埋め込んで暗号化した情報である。病理暗号化ID522は、匿名IDを、病理診断情報523の開示範囲を埋め込んで暗号化した情報である。医療データである病理診断情報523は暗号化せずに記憶されている。
病理検索用ID521が秘匿検索により抽出されると、病理暗号化ID522は復号され、個人情報、病理診断情報、および遺伝子診断情報を連結する際に用いられる。
【0031】
匿名遺伝子情報530には、遺伝子検索用ID531と、遺伝子暗号化ID532と、遺伝子診断情報533とが対応付けられている。遺伝子検索用ID531は、秘匿検索に用いられる。遺伝子検索用ID531は、匿名IDを、個人情報に対応する遺伝子診断情報533の開示範囲を埋め込んで暗号化した情報である。遺伝子暗号化ID532は、匿名IDを、遺伝子診断情報533の開示範囲を埋め込んで暗号化した情報である。医療データである遺伝子診断情報533は暗号化せずに記憶されている。
遺伝子検索用ID531が秘匿検索により抽出されると、遺伝子暗号化ID532は復号され、個人情報、病理診断情報、および遺伝子診断情報を連結する際に用いられる。
【0032】
病理検索用ID521と遺伝子検索用ID531とは、医療検索用ID5011の例である。病理暗号化ID522と遺伝子暗号化ID532とは、医療暗号化ID5012の例である。また、個人情報記憶部51と、医療データ記憶部501とは、医療DBの例である。
【0033】
図4を用いて、本実施の形態に係る個人情報登録装置310の構成について説明する。
個人情報登録装置310は、個人情報を管理装置500に登録する。個人情報登録装置310は、具体的には、被験者リクルート機関である。なお、被験者リクルート機関である個人情報登録装置310が鍵管理装置200に鍵を登録してもよい。
個人情報登録装置310は、公開鍵取得部311と、確定的暗号化部312と、個人検索用暗号化部313と、個人復号用暗号化部314と、登録部315とを有する。
【0034】
公開鍵取得部311は、鍵管理装置200から公開鍵情報251を取得する。公開鍵情報251には、公開鍵Kp、秘匿検索用の公開鍵SKp、暗号化用の公開鍵CKp、および権限設定情報241が含まれる。
確定的暗号化部312は、公開鍵Kpを用いて匿名IDを匿名ID’に暗号化する。
個人検索用暗号化部313は、公開鍵情報251に含まれる秘匿検索用の公開鍵SKpと権限設定情報241とを用いて、個人情報の開示範囲を埋め込んで、匿名ID’を個人検索用ID511として暗号化する。
個人復号用暗号化部314は、公開鍵情報251に含まれる暗号化用の公開鍵CKpと権限設定情報241とを用いて、個人情報の開示範囲を埋め込んで、個人情報および匿名ID’を暗号化個人情報513および個人暗号化ID512として暗号化する。
登録部315は、個人検索用ID511、個人暗号化ID512、および暗号化個人情報513を管理装置500に登録する。
【0035】
図5を用いて、本実施の形態に係る医療データ登録装置320の構成について説明する。
医療データ登録装置320は、医療データを管理装置500に登録する。医療データ登録装置320は、具体的には、複数の医療機関の各々である。医療データ登録装置320は、例えば、病理診断情報を管理装置500に登録する医療機関Aおよび遺伝子診断情報を管理装置500に登録する医療機関Bといった複数の医療機関の各々である。
医療データ登録装置320は、公開鍵取得部321と、確定的暗号化部322と、医療検索用暗号化部323と、医療復号用暗号化部324と、登録部325とを有する。
【0036】
公開鍵取得部321は、鍵管理装置200あるいは個人情報登録装置310から公開鍵情報251を取得する。公開鍵情報251には、公開鍵Kp、秘匿検索用の公開鍵SKp、暗号化用の公開鍵CKp、および権限設定情報241が含まれる。
確定的暗号化部322は、公開鍵Kpを用いて匿名IDを匿名ID’に暗号化する。
【0037】
上述したように、医療機関Aでは病理診断情報523を扱う。よって、医療機関Aの医療データ登録装置320の機能は以下の通りである。
医療検索用暗号化部323は、公開鍵情報251に含まれる秘匿検索用の公開鍵SKpと権限設定情報241とを用いて、病理診断情報523の開示範囲を埋め込んで、匿名ID’を病理検索用ID521として暗号化する。
医療復号用暗号化部324は、公開鍵情報251に含まれる暗号化用の公開鍵CKpと権限設定情報241とを用いて、病理診断情報523の開示範囲を埋め込んで、匿名ID’を病理暗号化ID522として暗号化する。
登録部325は、病理検索用ID521、病理暗号化ID522、および病理診断情報523を管理装置500に登録する。
【0038】
また、上述したように、医療機関Bでは遺伝子診断情報533を扱う。よって、医療機関Bの医療データ登録装置320の機能は以下の通りである。
医療検索用暗号化部323は、公開鍵情報251に含まれる秘匿検索用の公開鍵SKpと権限設定情報241とを用いて、遺伝子診断情報533の開示範囲を埋め込んで、匿名ID’を遺伝子検索用ID531として暗号化する。
医療復号用暗号化部324は、公開鍵情報251に含まれる暗号化用の公開鍵CKpと権限設定情報241とを用いて、遺伝子診断情報533の開示範囲を埋め込んで、匿名ID’を遺伝子暗号化ID532として暗号化する。
登録部325は、遺伝子検索用ID531、遺伝子暗号化ID532、および遺伝子診断情報533を管理装置500に登録する。
【0039】
病理検索用ID521と遺伝子検索用ID531は医療検索用ID5011の一例である。病理暗号化ID522と遺伝子暗号化ID532は医療暗号化ID5012の一例である。
【0040】
図6を用いて、本実施の形態に係る検索装置400の構成について説明する。
検索装置400は、認証部401と、鍵取得部406と、確定的暗号化部402と、検索クエリ生成部403と、検索部404と、情報生成部405とを有する。
認証部401は、ユーザ装置600からユーザを認証するためのユーザ情報を取得し、ユーザを認証する。
鍵取得部406は、確定的暗号の公開鍵Kpと、ユーザの属性情報に対応する秘密鍵SKs,CKsとを、鍵管理装置200に要求する。そして、鍵取得部406は、鍵管理装置200から送信された公開鍵Kpと秘密鍵SKs,CKsとを取得する。
確定的暗号化部312は、ユーザから検索対象の匿名IDを検索匿名IDとして取得し、公開鍵Kpを用いて検索匿名IDを暗号化する。
検索クエリ生成部403は、ユーザから検索対象の匿名IDを検索匿名IDとして取得し、検索匿名IDを、ユーザの属性情報を埋め込んで暗号化した検索クエリQを生成する。検索クエリ生成部403は、秘匿検索用の秘密鍵SKsを用いて、ユーザの属性情報が埋め込まれた検索クエリQを生成する。
検索部404は、検索クエリQを用いて、個人検索用ID511と医療検索用ID5011とに対して秘匿検索を実行する。検索部404は、ユーザの属性情報と個人情報の開示範囲と医療データの開示範囲とに基づいて得られた検索結果を出力する。
情報生成部405は、検索結果として出力された個人暗号化ID512と医療暗号化ID5012とを、秘密鍵CKsを用いて復号する。情報生成部405は、個人暗号化ID512と医療暗号化ID5012との復号結果が等しい場合に、検索部404から出力された検索結果を結果情報として結合する。情報生成部405は、秘密鍵CKsを用いて、結果情報を平文の閲覧情報に復号する。
【0041】
図7を用いて、鍵管理装置200と個人情報登録装置310と医療データ登録装置320と検索装置400と管理装置500との各装置のハードウェア構成の一例について説明する。以下において、鍵管理装置200と個人情報登録装置310と医療データ登録装置320と検索装置400と管理装置500との各装置を、医療データ検索システム100の各装置と記載する場合がある。また、
図2から
図6に記載した医療データ検索システム100の各装置の各部を、医療データ検索システム100の各装置の「部」と記載する場合がある。なお、各装置の「部」には、「記憶部」は含まれないものとする。
【0042】
鍵管理装置200と個人情報登録装置310と医療データ登録装置320と検索装置400と管理装置500との各装置はコンピュータである。
鍵管理装置200と個人情報登録装置310と医療データ登録装置320と検索装置400と管理装置500との各装置は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、出力インタフェース906といったハードウェアを備える。
プロセッサ901は、信号線910を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【0043】
入力インタフェース905は、入力装置907に接続されている。
出力インタフェース906は、出力装置908に接続されている。
【0044】
プロセッサ901は、演算処理を行うIC(Integrated Circuit)である。プロセッサ901は、具体例は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
補助記憶装置902は、具体例は、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)である。
メモリ903は、具体例は、RAM(Random Access Memory)である。
【0045】
通信装置904は、データを受信するレシーバー9041およびデータを送信するトランスミッター9042を含む。通信装置904は、具体例は、通信チップまたはNIC(Network Interface Card)である。
【0046】
入力インタフェース905は、入力装置907のケーブル911が接続されるポートである。入力インタフェース905は、具体例は、USB(Universal Serial Bus)端子である。
出力インタフェース906は、出力装置908のケーブル912が接続されるポートである。出力インタフェース906は、具体例は、USB端子またはHDMI(登録商標)(High Definition Multimedia Interface)端子である。
入力装置907は、具体例は、マウス、キーボードまたはタッチパネルである。
出力装置908は、具体例は、ディスプレイであり、例えばLCD(Liquid Crystal Display)である。
【0047】
各装置の補助記憶装置902には、各装置の「部」の機能を実現するプログラムが記憶されている。なお、各装置の「記憶部」は、補助記憶装置902、あるいは、メモリ903に設けられる。
【0048】
「部」の機能を実現するプログラムは、1つのプログラムであってもよいし、複数のプログラムから構成されていてもよい。
このプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
【0049】
更に、補助記憶装置902には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がメモリ903にロードされ、プロセッサ901はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
図7では、1つのプロセッサ901が図示されているが、各装置が複数のプロセッサ901を備えていてもよい。そして、複数のプロセッサ901が各装置の「部」の機能を実現するプログラムを連携して実行してもよい。
また、「部」の処理の結果を示す情報とデータと信号値と変数値との少なくともいずれかが、メモリ903、補助記憶装置902、または、プロセッサ901内のレジスタまたはキャッシュメモリに記憶される。
また、「部」の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の記憶媒体に記憶される。
【0050】
「部」を「プロセッシングサーキットリー」で提供してもよい。
また、「部」を「回路」または「工程」または「手順」または「処理」に読み替えてもよい。
「回路」および「プロセッシングサーキットリー」は、プロセッサ901だけでなく、ロジックICまたはGA(Gate Array)またはASIC(Application Specific Integrated Circuit)またはFPGA(Field−Programmable Gate Array)といった他の種類の処理回路をも包含する概念である。
【0051】
***動作の説明***
次に、本実施の形態に係る医療データ検索システム100における医療データ検索方法610、および、医療データ検索プログラム620による医療データ検索処理S100について説明する。
医療データ検索処理S100は、個人情報登録処理S110と、医療データ登録処理S120と、検索処理S130とを有する。
【0052】
図8は、本実施の形態に係る個人情報登録処理S110のフローチャートである。
図9は、本実施の形態に係る医療データ登録処理S120のフローチャートである。
図10は、個人情報登録処理S110と医療データ登録処理S120と示す模式図である。
【0053】
<個人情報登録処理S110>
個人情報登録処理S110は、個人情報登録装置310により実行される。
ステップS111において、公開鍵取得部311は、鍵管理装置200から公開鍵情報251を取得する。具体的には、
図10の(1)のように、鍵管理装置200が、公開鍵情報251を個人情報登録装置310に送付する。
ステップS112において、確定的暗号化部312は、公開鍵情報251に含まれる公開鍵Kpを用いて匿名IDを匿名ID’に暗号化する。ステップS112は、
図10の(2)に対応する。
【0054】
ステップS113において、個人検索用暗号化部313は、公開鍵情報251に含まれる秘匿検索用の公開鍵SKpと権限設定情報241とを用いて、匿名ID’を個人検索用ID511として暗号化する。
ステップS114において、個人復号用暗号化部314は、公開鍵情報251に含まれる暗号化用の公開鍵CKpと権限設定情報241とを用いて、匿名ID’および個人情報を個人暗号化ID512および暗号化個人情報513として暗号化する。
具体的には、
図10の(3)で、個人検索用暗号化部313は、個人情報の開示範囲である主治医と遺伝子カウンセラーを埋め込んで、匿名ID’を個人検索用ID511として暗号化する。また、個人復号用暗号化部314は、個人情報の開示範囲である主治医と遺伝子カウンセラーを埋め込んで、匿名ID’を個人暗号化ID512として暗号化する。また、
図10の(4)では、個人情報が生成される。
図10の(5)では、個人復号用暗号化部314は、個人情報の開示範囲である主治医と遺伝子カウンセラーを埋め込んで、個人情報を暗号化個人情報513として暗号化する。
ステップS115において、登録部315は、個人検索用ID511、個人暗号化ID512、および暗号化個人情報513を管理装置500に送信する。具体的には、
図10の(6)で、管理装置500に、匿名個人情報510の行が登録される。
図10の(7)で、公開鍵情報251が医療データ登録装置320である医療機関Aに送付される。なお、公開鍵情報251は、鍵管理装置200から医療データ登録装置320である医療機関Aに送付されてもよい。
【0055】
<医療データ登録処理S120>
医療データ登録処理S120は、医療データ登録装置320により実行される。
ステップS121において、公開鍵取得部321は、個人情報登録装置310から公開鍵情報251を取得する。
ステップS122において、確定的暗号化部322は、公開鍵Kpを用いて匿名IDを匿名ID’に暗号化する。ステップS122は、
図10の(8)および(14)に対応する。
【0056】
ステップS123において、医療検索用暗号化部323は、公開鍵情報251に含まれる秘匿検索用の公開鍵SKpと権限設定情報241とを用いて、医療データの開示範囲を埋め込んで、匿名ID’を医療検索用ID5011として暗号化する。
ステップS124において、医療復号用暗号化部324は、公開鍵情報251に含まれる暗号化用の公開鍵CKpと権限設定情報241とを用いて、医療データの開示範囲を埋め込んで、匿名ID’を医療暗号化ID5012として暗号化する。
ここで、医療検索用ID5011および医療暗号化ID5012の各々には、医療データを研究目的に使用して良いか否かを表すインフォームドコンセント(以下、ICと表記する)に応じて開示範囲を決めてもよい。
【0057】
ICとは、研究者が医療データを研究目的に使用することを許可(同意)しているか否かを表す情報である。すなわち、ICの内容に応じて研究目的に使う研究者も開示範囲に含めるか否かを決めてもよい。もし、ICが許可を表している場合は、研究者の属性情報を埋め込んで暗号化する。一方で、ICが不許可を表している場合は、研究者の属性情報を埋め込まずに暗号化する。この時、医療検索用ID5011および医療暗号化ID5012は、研究者が検索や復号できるデータと、研究者でも検索や復号できないデータのいずれかになる。このような方法により、医療検索用ID5011および医療暗号化ID5012の各々が、医療データを研究目的に使用して良いか否かを表すようにしてもよい。
以下において、ICが同意あるいは許可を表すことを、ICがOKであると記載する場合がある。また、ICが非同意あるいは不許可を表すことを、ICがNGであると記載する場合がある。
【0058】
医療機関Aでは、
図10の(9)で、医療検索用暗号化部323は、病理診断情報の開示範囲を有する主治医と研究者を埋め込んで、匿名ID’を病理検索用ID521として暗号化する。医療復号用暗号化部324は、病理診断情報の開示範囲を有する主治医と研究者を埋め込んで、匿名ID’を病理暗号化ID522として暗号化する。このとき、研究者は、ICが病理診断情報の利用を許可する場合のみ埋め込まれる。研究者は、ICが病理診断情報の利用を許可しない場合は埋め込まれない。つまり、ICがNGの場合は、開示範囲として主治医のみが埋め込まれる。したがって、医療検索用暗号化部323は、主治医と研究者(ICがNGの場合は主治医のみ)を埋め込んで、匿名ID’を病理検索用ID521として暗号化する。医療復号用暗号化部324は、主治医と研究者(ICがNGの場合は主治医のみ)を埋め込んで、匿名ID’を病理暗号化ID522として暗号化する。
また、医療機関Bでは、
図10の(15)で、医療検索用暗号化部323は、主治医と遺伝子カウンセラーと研究者(ICがNGの場合は主治医と遺伝子カウンセラーのみ)を埋め込んで、匿名ID’を遺伝子検索用ID531として暗号化する。医療復号用暗号化部324は、主治医と遺伝子カウンセラーと研究者(ICがNGの場合は主治医と遺伝子カウンセラーのみ)を埋め込んで、匿名ID’を遺伝子暗号化ID532として暗号化する。
【0059】
図10の(11)において、病理診断情報523が生成される。
図10の(17)において、遺伝子診断情報533が生成される。医療機関Bは、遺伝子診断情報533を生成するために、病理診断情報523を
図10の(13)で公開鍵情報251とともに受け取ってもよい。また、医療機関Bは、遺伝子診断情報533を生成するために、病理診断情報523を管理装置500から受け取ってもよい。
ステップS125において、登録部325は、医療検索用ID5011、医療暗号化ID5012、および暗号化していない医療データを管理装置500に送信する。具体的には、
図10の(12)で、登録部325は、病理検索用ID521、病理暗号化ID522、および病理診断情報523を匿名病理情報520の行として管理装置500に登録する。そして、
図10の(13)で、公開鍵情報251が医療データ登録装置320である医療機関Bに送付される。なお、公開鍵情報251は、鍵管理装置200から医療データ登録装置320である医療機関Bに送付されてもよい。また、
図10の(18)で、登録部325は、遺伝子検索用ID531、遺伝子暗号化ID532、および遺伝子診断情報533を匿名遺伝子情報530の行として管理装置500に登録する。
【0060】
<検索処理S130>
図11は、本実施の形態に係る検索処理S130のフローチャートである。
図12は、主治医がユーザとして管理装置500を検索する場合を表す模式図である。
検索処理S130は、検索装置400により実行される。ここでは、ユーザが主治医の場合の検索処理S130について説明する。
【0061】
ステップS131において、認証部401は、ユーザ情報に基づいて、ユーザを認証する。ステップS131は、
図12の(1)に対応する。
ステップS132において、認証が成功すると、ユーザである主治医が検索に用いる検索キーとして検索匿名IDを入力する。ユーザ装置600は、検索匿名IDを含む検索要求を検索装置400に送信する。ステップS132は、
図12の(2),(3)に対応する。
ステップS133において、鍵取得部406は、確定的暗号の公開鍵Kpと、ユーザの属性情報に対応する秘密鍵SKs,CKsとを、鍵管理装置200に要求する。鍵取得部406は、鍵管理装置200の鍵送信部260から送信された確定的暗号の公開鍵Kpと、ユーザの属性を表す属性情報に対応する秘密鍵SKs,CKsとを取得する。ステップS133は、
図12の(4),(5)に対応する。具体的には、鍵取得部406は、公開鍵Kpおよび主治医に対応する秘密鍵SKs,CKsを、鍵管理装置200から取得する。
【0062】
ステップS134において、確定的暗号化部402は、公開鍵Kpを用いて、検索匿名IDに対して確定的暗号化を実行する。ステップS134は、
図12の(6)に対応する。
ステップS135において、検索クエリ生成部403は、秘匿検索用の秘密鍵SKsを用いて、ユーザの属性情報が埋め込まれた検索クエリQを生成する。
図12の(7)では、検索匿名IDとして111(確定的暗号化後)が埋め込まれ、ユーザの属性情報として主治医が埋め込まれた検索クエリQが生成される。
【0063】
ステップS136において、検索部404は、検索クエリQを用いて、個人検索用ID511と医療検索用ID5011とに対して秘匿検索を実行する。検索部404は、ユーザの属性情報と個人情報の開示範囲と医療データの開示範囲とに基づいて得られた検索結果を出力する。具体的には、検索部404は、検索クエリQに埋め込まれたユーザの属性情報が、個人情報の開示範囲を満たす個人検索用ID511に対応する個人暗号化ID512と暗号化個人情報513を、検索結果(9)−1として出力する。また、検索部404は、検索クエリQに埋め込まれたユーザの属性情報が医療データの開示範囲を満たす医療検索用ID5011に対応する医療暗号化ID5012と医療データを、検索結果(9)−2,(9)−3として出力する。
【0064】
図12の(8),(9)では、検索部404は、検索匿名IDが111(確定的暗号化後)で、かつ、主治医の検索クエリQを用いて、匿名個人情報510と匿名病理情報520と匿名遺伝子情報530を検索する。
匿名個人情報510には主治医が開示範囲に含まれる。よって、検索部404は、個人検索用ID511が111の個人暗号化ID512と暗号化個人情報513とを検索結果として抽出する。
また、匿名病理情報520には主治医が開示範囲に含まれる。よって、検索部404は、病理検索用ID521が111の病理暗号化ID522と病理診断情報523とを検索結果として抽出する。
また、匿名遺伝子情報530には主治医が開示範囲に含まれる。よって、検索部404は、遺伝子検索用ID531が111の遺伝子暗号化ID532と遺伝子診断情報533とを検索結果として抽出する。
【0065】
ステップS137において、情報生成部405は、検索結果として出力された個人暗号化ID512と医療暗号化ID5012とを復号する。情報生成部405は、個人暗号化ID512と医療暗号化ID5012との復号結果が等しい場合に、検索結果として出力された暗号化個人情報513と医療データとを結果情報71として結合する。すなわち、個人暗号化ID512と医療暗号化ID5012とは、個人情報あるいは医療データを結合する際に用いられる情報である。
図12では、(9)−1の暗号化個人情報513と、(9)−2の病理診断情報523と、(9)−3の遺伝子診断情報533とが検索結果として出力される。
図12の(10)では、情報生成部405は、(9)−1の個人暗号化ID512と、(9)−2の病理暗号化ID522と、(9)−3の遺伝子暗号化ID532とを主治医用の秘密鍵で復号する。情報生成部405は、(9)−1の個人暗号化ID512と、(9)−2の病理暗号化ID522と、(9)−3の遺伝子暗号化ID532との復号結果が全て111であれば、(9)−1の暗号化個人情報513と、(9)−2の病理診断情報523と、(9)−3の遺伝子診断情報533とを結果情報71として結合する。情報生成部405は、暗号化用の主治医の秘密鍵CKsを用いて、結果情報71を閲覧情報72に復号する。
図12の(11)では、情報生成部405は、結果情報71のうち暗号化個人情報513を平文に復号する。病理診断情報523と遺伝子診断情報533は平文のままである。そして、情報生成部405は、閲覧情報72を主治医のユーザ装置600に送信する。
【0066】
次に、
図13を用いて、遺伝子カウンセラーがユーザとして管理装置500を検索する場合について説明する。
図13の(1)では、認証部401が、ユーザである遺伝子カウンセラーを認証する。
図13の(2),(3)では、ユーザである遺伝子カウンセラーが検索する検索キーとして検索匿名IDを入力する。ユーザ装置600は、検索匿名IDを含む検索要求を検索装置400に送信する。
図13の(4),(5)では、具体的には、鍵取得部406は、公開鍵Kpと、遺伝子カウンセラーに対応する秘密鍵SKs,CKsとを、鍵管理装置200から取得する。
図13の(6)では、確定的暗号化部402は、公開鍵Kpを用いて、検索匿名IDに対して確定的暗号化を実行する。
図13の(7)では、検索匿名IDとして111(確定的暗号化後)が埋め込まれ、ユーザの属性情報として遺伝子カウンセラーが埋め込まれた検索クエリQが生成される。
図13の(8),(9)では、検索部404は、検索匿名IDが111(確定的暗号化後)で、かつ、遺伝子カウンセラーの検索クエリQを用いて、匿名個人情報510と匿名病理情報520と匿名遺伝子情報530を秘匿検索する。
匿名個人情報510には遺伝子カウンセラーが開示範囲に含まれる。よって、検索部404は、個人検索用ID511が111の個人暗号化ID512と暗号化個人情報513とを検索結果(9)−1として抽出する。
また、匿名病理情報520には遺伝子カウンセラーが開示範囲に含まれない。よって、検索部404は、匿名病理情報520ではヒットしない。
また、匿名遺伝子情報530には遺伝子カウンセラーが開示範囲に含まれる。よって、検索部404は、遺伝子検索用ID531が111の遺伝子暗号化ID532と遺伝子診断情報533とを検索結果(9)−3として抽出する。
図13では、(9)−1の暗号化個人情報513と、(9)−3の遺伝子診断情報533とが検索結果として出力される。
図13の(10)では、情報生成部405は、(9)−1の個人暗号化ID512と、(9)−3の遺伝子暗号化ID532との復号結果が全て111であれば、(9)−1の暗号化個人情報513と、(9)−3の遺伝子診断情報533とを結果情報71として結合する。
図13の(11)では、情報生成部405は、暗号化用の遺伝子カウンセラーの秘密鍵CKsを用いて、結果情報71を閲覧情報72に復号する。そして、情報生成部405は、閲覧情報72を遺伝子カウンセラーのユーザ装置600に送信する。
【0067】
次に、
図14を用いて、研究者がユーザとして管理装置500を検索する場合について説明する。
図14の匿名病理情報520と匿名遺伝子情報530では、説明を分かり易くするために、ICがOKであるかNGであるかを表している。すなわち、ICがOKの場合は研究者が開示範囲として埋め込まれているが、ICがNGの場合は研究者が開示範囲として埋め込まれていない。
【0068】
図14の(1)では、認証部401が、ユーザである研究者を認証する。
図14の(2),(3)では、ユーザである研究者が検索する検索キーとして病理診断を入力する。ユーザ装置600は、病理診断を含む検索要求を検索装置400に送信する。ここでは、研究者が検索したい病理診断として「かぜ」が入力されたものとする。
図14の(4),(5)では、具体的には、確定的暗号化部402は、公開鍵Kpと、研究者に対応する秘密鍵SKs,CKsとを、鍵管理装置200から取得する。なお、研究者が、匿名IDではなく、病理診断あるいは遺伝子診断を検索キーとして検索する場合には、公開鍵Kpは取得しなくてもよい。
図14の(6)では、検索部404は、「かぜ」を検索キーとして匿名病理情報520を検索する。検索部404は、病理診断情報523に「かぜ」を含む行を抽出する。抽出された行には、病理検索用ID521と病理暗号化ID522と病理診断情報523が含まれる。
図14の(6)では、検索部404は、秘匿検索ではなく、病理診断を検索キーとする単純な検索を実行している。よって、検索部404は、病理診断情報523に「かぜ」を含む行を全て抽出する。
図14の(7)では、検索部404は、匿名ID’が222でICがNGの行と、匿名ID’が333でICがOKの行とを抽出している。
【0069】
図14の(8)では、情報生成部405は、暗号化用の研究者の秘密鍵CKsで、抽出した行の匿名ID’(病理暗号化ID522)を復号する。このとき、
図14の(8)−1のように、ICがNGの行の病理暗号化ID522には、研究者が埋め込まれていないため、匿名ID’を復号することはできない。また、
図14の(8)−2では、ICがOKであり、病理暗号化ID522に研究者が埋め込まれているため、匿名ID’を復号することができる。
【0070】
図14の(9)では、復号された匿名ID’である333が埋め込まれ、かつ、ユーザの属性情報として研究者が埋め込まれた検索クエリQが生成される。
図14の(10),(11)では、検索部404は、匿名ID’として333と、開示範囲として研究者とが埋め込まれた検索クエリQを用いて、匿名個人情報510と匿名遺伝子情報530を秘匿検索する。
匿名個人情報510には研究者が開示範囲に含まれない。よって、
図14の(11)−1のように、検索部404は、匿名個人情報510ではヒットしない。
また、匿名遺伝子情報530にはICがOKの研究者が開示範囲に含まれる。よって、検索部404は、
図14の(11)−2のように、遺伝子検索用ID531が333の行の遺伝子暗号化ID532と遺伝子診断情報533とを検索結果として抽出する。遺伝子検索用ID531が222の行は、ICがNGであり、遺伝子暗号化ID532に研究者が埋め込まれていないため、抽出されない。
図14では、(8)−1の病理診断情報523、(8)−2の病理暗号化ID522および病理診断情報523、および(11)−2の遺伝子暗号化ID532および遺伝子診断情報533が検索結果として出力される。
図14の(12)では、情報生成部405は、(8)−2の病理暗号化ID522と、(11)−2の遺伝子暗号化ID532との復号結果が等しければ、(8)−2の病理診断情報523と、(11)−2の遺伝子診断情報533とを結果情報71aとして結合する。(8)−1の病理診断情報523は匿名IDが不明であるため、他の情報と結合することはできない。
そして、検索装置400は、結果情報71と、(8)−1の病理診断情報523とを合わせて閲覧情報72aとして、研究者のユーザ装置600に送信する。
【0071】
***他の構成***
本実施の形態では、医療データ検索システム100の各装置の「部」の機能がソフトウェアで実現されるが、変形例として、医療データ検索システム100の各装置の「部」の機能がハードウェアで実現されてもよい。医療データ検索システム100の各装置は、プロセッサ901に替えて処理回路を備えていてもよい。
【0072】
処理回路は、上述した各装置の「部」の機能を実現する専用の電子回路である。処理回路は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、または、FPGA(Field−Programmable Gate Array)である。
【0073】
医療データ検索システム100の各装置の「部」の機能は、1つの処理回路で実現されてもよいし、複数の処理回路に分散して実現されてもよい。
【0074】
別の変形例として、医療データ検索システム100の各装置の「部」の機能がソフトウェアとハードウェアとの組合せで実現されてもよい。即ち、各装置の一部の機能が専用のハードウェアで実現され、残りの機能がソフトウェアで実現されてもよい。
【0075】
プロセッサ901、記憶装置920、および処理回路を、総称して「プロセッシングサーキットリー」という。つまり、医療データ検索システム100の各装置の「部」の機能は、プロセッシングサーキットリーにより実現される。
【0076】
「部」を「工程」または「手順」または「処理」に読み替えてもよい。また、「部」の機能をファームウェアで実現してもよい。
【0077】
***本実施の形態の効果の説明***
本実施の形態に係る医療データ検索システム100では、管理装置に記憶された個人情報および医療データに、開示範囲を埋め込みつつ秘匿検索技術により暗号化した匿名IDを対応付けている。よって、本実施の形態に係る医療データ検索システム100によれば、匿名IDを暗号化したままアクセス制御付きの秘匿検索をすることができる。よって、ユーザに応じて、データの部分的な開示、あるいは、データの部分的な連結が可能となる。また、鍵管理および暗号文管理も煩雑にならず、管理の負担を軽減することができる。
【0078】
本実施の形態に係る医療データ検索システム100では、個人情報および医療データの開示範囲を設定した権限設定情報に基づいて、個人情報および医療データを管理装置に登録できる。よって、本実施の形態に係る医療データ検索システム100によれば、個人情報および医療データの開示範囲の変更が容易となる。
【0079】
本実施の形態に係る医療データ検索システム100では、医療データを研究目的に使用して良いか否かを表すICに応じて情報を暗号化できる。よって、本実施の形態に係る医療データ検索システム100によれば、きめ細やかなアクセス制御が可能となる。
【0080】
本実施の形態に係る医療データ検索システム100では、秘匿検索用及び復号用のどちらの匿名IDもアクセス制御付きの秘匿検索技術により暗号化している。よって、本実施の形態に係る医療データ検索システム100によれば、セキュリティ性が高く、かつ、的確なアクセス制御が可能となる。
【0081】
また、本実施の形態では、医療データ検索システムは、鍵管理装置、個人情報登録装置、医療データ登録装置、検索装置、および管理装置を備え、各装置が1つのコンピュータである場合について説明した。しかし、例えば、鍵管理装置と個人情報登録装置とが1つのコンピュータであってもよい。また、検索装置と管理装置とが1つのコンピュータであってもよい。また、全ての装置が1つのコンピュータで実現されていても構わない。上記の実施の形態で説明した機能を実現することができれば、医療データ検索システムの各装置をどのように組み合わせて医療データ検索システムを構成しても構わない。
【0082】
また、医療データ検索システムの各装置において、「部」として説明するもののうち、いずれか1つのみを採用してもよいし、いくつかの任意の組合せを採用してもよい。つまり、医療データ検索システムの各装置の機能ブロックは、上記の実施の形態で説明した機能を実現することができれば、任意である。これらの機能ブロックを、どのような組合せで各装置を構成しても構わない。
【0083】
また、本実施の形態のうち、複数を部分的に組合せて実施しても構わない。あるいは、本実施の形態のうち、1つの発明を部分的に実施しても構わない。その他、本実施の形態を、全体としてあるいは部分的に、どのように組合せて実施しても構わない。
なお、上記の実施の形態は、本質的に好ましい例示であって、本発明、その適用物や用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。