JP2014066831A - データ処理プログラム、データ処理装置及びデータ処理システム - Google Patents

データ処理プログラム、データ処理装置及びデータ処理システム Download PDF

Info

Publication number
JP2014066831A
JP2014066831A JP2012211391A JP2012211391A JP2014066831A JP 2014066831 A JP2014066831 A JP 2014066831A JP 2012211391 A JP2012211391 A JP 2012211391A JP 2012211391 A JP2012211391 A JP 2012211391A JP 2014066831 A JP2014066831 A JP 2014066831A
Authority
JP
Japan
Prior art keywords
data
concealment
concealed
record
combination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012211391A
Other languages
English (en)
Inventor
Ichiro Eguchi
一郎 江口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012211391A priority Critical patent/JP2014066831A/ja
Priority to US13/975,810 priority patent/US9148410B2/en
Publication of JP2014066831A publication Critical patent/JP2014066831A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】秘匿化後のデータを活用し易くするための技術を提供する。
【解決手段】開示の技術は、第1のデータと、当該第1のデータを秘匿化した第1の秘匿化データとを対応付けて保持し、第2のデータと、当該第2のデータを秘匿化した第2の秘匿化データとを対応付けて保持するデータ格納部から、所定の条件に基づき前記第1のデータ及び前記第2のデータの組み合わせを特定し、特定された前記第1のデータ及び前記第2のデータにそれぞれ対応付けて保持されている、前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを抽出する抽出ステップと、抽出された、前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを外部装置に送信するステップとを含む。
【選択図】図13

Description

本発明は、秘匿化されているデータを活用するための技術に関する。
顧客等の個人情報を保持するシステムにおいて、情報漏えいを抑止するための技術が存在する。例えば、システムが個人情報を含むデータを活用するような場合には、個人情報にかかわる部分を元のデータとは異なるデータに置き換えることにより秘匿化したデータを用いることがある。
また、あるユーザのデータを他のユーザに伝達するシステムにおいて、保持するデータに基づいて異なるデータを生成し、生成したデータを用いて、開示するための情報をさらに生成する技術が存在する。
国際公開第2009/078182号公報
データを活用するために、システムが、対象のデータを取捨選択したり、グループ分けしたりする処理を行うことがある。例えば、システムが、多くのレコードを含むテーブルからある条件に合致するレコードを絞り込んで集計したり、異なるテーブルに格納された複数のレコードを結合したり、重複したレコードを削除したりする処理を行う。
しかしながら、レコードの一部の内容(値)が、元の内容とは無関係な内容で置き換えられることによって秘匿化されている場合、システムが、複数のレコード間の関係を特定できないことがある。例えば、テーブルに格納されている複数のレコードが同一人に関するものであるか否か、システムが特定できなければ、データを活用する上で不都合が生ずる。すなわち、秘匿化されている値に基づいてデータの絞り込みを行ったり、秘匿化された値をキーとしてレコードを結合したりする処理を、システムが実施できなくなるという問題がある。
そこで、1つの側面では、本発明は、秘匿化後のデータを活用し易くする技術を提供することを目的とする。
開示の技術の一側面によれば、第1のデータと、当該第1のデータを秘匿化した第1の秘匿化データとを対応付けて保持し、第2のデータと、当該第2のデータを秘匿化した第2の秘匿化データとを対応付けて保持するデータ格納部から、所定の条件に基づき前記第1のデータ及び前記第2のデータの組み合わせを特定し、特定された前記第1のデータ及び前記第2のデータにそれぞれ対応付けて保持されている、前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを抽出する抽出ステップと、抽出された、前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを外部装置に送信するステップとをコンピュータに実行させるためのデータ処理プログラムが提供される。
秘匿化後のデータを活用し易くする技術を提供することができる。
図1は、実施の形態に係るシステム構成の一例を示す図である。 図2は、プライベートサーバ1の機能ブロック図の一例を示す図である。 図3は、秘匿化サーバ2の機能ブロック図の一例を示す図である。 図4は、分析サーバ3の機能ブロック図の一例を示す図である。 図5は、情報処理装置の装置構成の一例を示す図である。 図6は、生データテーブルに保持されているデータの一例を示す図である。 図7は、秘匿化処理の処理フローの一例を示す図である。 図8は、秘匿管理データ格納部204に格納される秘匿管理テーブルの一例を示す図である。 図9は、秘匿化後データテーブルに登録されるデータの一例を示す図である。 図10は、生データテーブルに保持されているデータの一例を示す図である。 図11は、秘匿化後データテーブルに保持されるデータの一例を示す図である。 図12は、秘匿管理テーブルに登録されるデータの一例を示す図である。 図13は、分析処理の処理フローの一例を示す図である。 図14は、秘匿化後データの組み合わせの一例を示す図である。 図15は、結合された秘匿化後データの一例を示す図である。 図16は、生データの一例を示す図である。 図17は、生データの一例を示す図である。 図18は、生データの一例を示す図である。 図19は、秘匿化後データテーブルの一例を示す図である。 図20は、秘匿化後データテーブルの一例を示す図である。 図21は、秘匿化後データテーブルの一例を示す図である。 図22は、秘匿管理テーブルの一例を示す図である。 図23は、秘匿化後データの組み合わせの一例を示す図である。 図24は、処理結果の一例を示す図である。
以下、図面を参照して、一実施形態に係るシステムについて説明する。以下の実施形態の構成は例示であり、本発明に係るシステムは、実施形態の構成には限定されない。
図1に、実施の形態に係るシステム構成の一例を示す。本実施の形態に係るシステムは、複数のプライベートサーバ1(図1では、1a,1b・・・)と、秘匿化サーバ2と、分析サーバ3とを有する。プライベートサーバは、例えば業務データが登録される業務データベース(DB)を有する。なお、本実施の形態において、業務データとは、何らかの業務において蓄積した、例えば個人情報のような、外部に公開したくない内容を含むデータをいう。なお、個人情報とは、第三者に知られると個人のプライバシーが侵害されるおそれがある情報をいうものとする。本実施の形態においては、秘匿化されていない業務データを、生データと記す。
プライベートサーバ1と秘匿化サーバ2とは、ネットワークを介して接続されている。秘匿化サーバ2は、生データをプライベートサーバ1から受信する。そして、秘匿化サーバ2は、受信した生データのうち例えば個人情報を、異なるデータに置き換えることにより秘匿化し、秘匿化後の業務データを生成する。秘匿化後の業務データは、秘匿化された個人情報と、秘匿化されていないその他の情報とを含む。
秘匿化サーバ2と分析サーバ3とは、ネットワークを介して接続されている。分析サーバ3は、秘匿化後の業務データを秘匿化サーバ2から受信する。そして、秘匿化後の業務データを用いて、例えばデータマイニングのような分析処理を行う。また、分析サーバ3は、秘匿化サーバ2に、秘匿化されたデータ間の関連性を示すデータを要求し、秘匿化サーバ2から、関連性のあるデータの組み合わせを示す情報を取得することもある。
なお、図1の例では複数のプライベートサーバ1を示したが、プライベートサーバ1は1つであってもよい。また、秘匿化サーバ2及び分析サーバ3のうち少なくとも一方を複数有する構成にして、複数の秘匿化サーバ2又は複数の分析サーバ3が並列に処理を行うようにしてもよい。
図2に、プライベートサーバ1の機能ブロック図の一例を示す。プライベートサーバ1は、生データを保持する生データ格納部101と、送信部102とを有する。生データ格納部101は、例えば個人情報を含む業務データを保持する。また、送信部102は、生データ格納部101と接続されている。そして、送信部102は、生データ格納部101から生データを読み出し、秘匿化サーバ2に送信する。なお、プライベートサーバ1が、図示していない処理部を含むようにして、処理部によって行われる業務処理の中で、生データが生データ格納部101に格納されるようにしてもよい。
図3に、秘匿化サーバ2の機能ブロック図の一例を示す。秘匿化サーバ2は、受信部201と、データ格納部202と、秘匿化処理部203と、秘匿管理データ格納部204と、送信部205と、データ抽出部206とを有する。受信部201は、プライベートサーバ1から生データを受信し、データ格納部202に格納する。データ格納部202は、生データ、秘匿化後の業務データ、生データのうち秘匿化する対象の項目を示す設定データ等を格納する。秘匿化処理部203は、データ格納部202から生データ及び設定データを読み出し、生データのうち、秘匿化する項目の内容を元のデータとは異なるデータに置き換えることにより秘匿化後の業務データを生成する。そして、秘匿化処理部203は、秘匿化後の業務データをデータ格納部202に格納するとともに、秘匿化前のデータと秘匿化後のデータとを対応付けて秘匿管理データ格納部204に格納する。また、送信部205は、データ格納部202から秘匿化後の業務データを読み出し、分析サーバ3に送信する。
さらに、本実施の形態では、受信部201は、例えば生データ又は秘匿化後の業務データに対するデータ抽出等の処理要求を、分析サーバ3から受信する。データ抽出部206は、処理要求に含まれる処理の条件を分析し、条件に含まれる項目(列とも表す)等を抽出する。そして、例えば、抽出された項目に登録されている秘匿化前の内容が同一であるレコードの組み合わせを、秘匿管理データ格納部204から特定し、特定されたレコードにおいて秘匿化前のデータに対応付けて保持されている秘匿化後のデータの組み合わせを抽出する。そして、送信部205は、抽出された秘匿化後のデータの組み合わせを、分析サーバ3に送信する。
図4に、分析サーバ3の機能ブロック図の一例を示す。分析サーバ3は、受信部301と、データ格納部302と、入力部303と、送信部304と、分析処理部305と、出力部306とを有する。受信部301は、秘匿化サーバ2から、秘匿化後の業務データや、対応関係のある秘匿化後データの組み合わせを受信し、データ格納部302に格納する。また、入力部303は、例えばユーザから、業務データを分析するための命令の入力を受け付け、データ格納部302に格納する。この命令は、例えばSQLの問い合わせ(クエリ)によって入力される。なお、この命令は、他の端末装置から受信部301を介して入力されるようにしてもよい。この場合、入力部303を設けないようにすることもできる。また、送信部304は、入力された命令に基づいて、秘匿化サーバ2に、対応関係の
ある秘匿化後のデータの組み合わせの送信を求める処理要求を送信する。そして、分析処理部305は、入力された命令、データ格納部302に格納されている秘匿化後の業務データ、及び対応関係のある秘匿化後のデータの組み合わせに基づいて、業務データの分析を行い、分析結果をデータ格納部302に格納する。また、出力部306は、データ格納部302から、秘匿化後の業務データやその分析結果等を出力する。なお、出力部306がデータを出力する代わりに、送信部304がデータを他の端末装置に送信するようにしてもよい。この場合、出力部306を設けないようにすることもできる。
図5に、情報処理装置の装置構成の一例を示す。プライベートサーバ1、秘匿化サーバ2、及び分析サーバ3は情報処理装置であり、CPU(Central Processing Unit)10
01、主記憶装置1002、補助記憶装置1003、通信IF(Interface)1004、
入出力IF(Interface)1005、ドライブ装置1006、通信バス1007を備えて
いる。CPU1001は、プログラムを実行することにより本実施の形態で説明する処理を行う。主記憶装置は、例えばRAM(Random Access Memory)やROM(Read Only Memory)等である。主記憶装置1002は、CPU1001が読み出したプログラムやデータをキャッシュしたり、CPUの作業領域を展開したりする。補助記憶装置1003は、例えばHDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等である。補助記憶装置1003は、データベースを含む様々なデータや、CPU1001により実行されるプログラムを記憶する。通信IF1004は、他のコンピュータ装置との間でデータを送受信する。通信IF1004は、例えば有線又は無線のネットワークカードである。入出力IF1005は、キーボードやマウス等と接続され、ユーザから入力を受け付けたり、ディスプレイやプリンタ等と接続され、データを出力したりする。また、入出力IFは、タッチパネルのように、入力及び出力を行う装置と接続される場合もある。ドライブ装置1006は、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、BD(Blu-ray Disc)等に記録されたデータを読み出す。以上のような構成要素が、通信バス1007で接続されている。なお、これらの構成要素は複数設けられていてもよい。CPU1001により実行されるプログラムは、例示したディスクや、USBメモリ等のフラッシュメモリ、その他の可搬性のある記録媒体を介して提供されるようにしてもよい。そして、CPU1001が、プログラムを実行することにより、情報処理装置をプライベートサーバ1、秘匿化サーバ2又は分析サーバ3として働かせる。
<秘匿化処理>
次に、生データの一部又は全部を秘匿化する秘匿化処理について説明する。なお、予めプライベートサーバ1の送信部102は、生データ格納部101に格納された生データを読み出し、読み出した生データを秘匿化サーバ2に送信しているものとする。一方、秘匿化サーバ2の受信部201は、プライベートサーバ1から生データを受信し、受信した生データをデータ格納部202に保持しているものとする。データ格納部202には、例えば図6に示すような生データテーブル(以下、「集合A」とも表す)が格納されており、受信した生データが登録されているものとする。また、データ格納部202には、図示していない設定テーブルが格納されており、設定テーブルには、生データテーブル(例えば「集合A」)に関連付けて、秘匿化する対象の列(項目)を示す情報(例えば「ID」)が登録されているものとする。
図6に、集合Aに保持されているデータの一例を示す。集合Aは、ID、性別、金額、利用回数及びその他の列を含む。生データテーブルは、様々な業務データを保持するテーブルであり、図6に例示した集合Aには限られない。このような生データテーブルの各々を、本実施の形態では「データ群」とも表す。
図7に、秘匿化処理の処理フローを示す。まず、秘匿化サーバ2の秘匿化処理部204
は、設定テーブルから、生データテーブルに関連付けて登録されている、秘匿化する対象の列を示す情報を読み出す(図7:S1)。本実施の形態では、生データテーブル「集合A」に関連付けて、秘匿化する対象の列を示す情報「ID」が登録されており、これが読み出されるものとする。すなわち、本実施の形態では、図6に示した生データテーブル「集合A」に登録されているレコードの内容のうち、列「ID」に登録されているデータ(内容)を秘匿化する。
次に、秘匿化処理部203は、データ格納部202に格納されている生データテーブルから、未処理のレコードを1件読み出す(S2)。例えば、図6に示した集合Aから1行目のレコードが読み出される。
そして、秘匿化処理部203は、レコード数を1インクリメントする(S3)。この「レコード数」は、例えば、集合Aのレコード数を1からカウントされ、集合Aについての秘匿化処理が終了するまでの間、データ格納部202に一時的に保持されるものとする。
その後、秘匿化処理部203は、秘匿化後のデータを生成する(S4)。本実施の形態では、レコードを読み出した順序、すなわちレコードの位置に基づいて秘匿化後のデータを生成する。秘匿化前のデータ(すなわち、内容)とは無関係に秘匿化後のデータを生成するため、第三者にとっては秘匿化後のデータから秘匿化前のデータを類推することが難しくなる。また、集合Aにおけるレコード位置に基づいて秘匿化後のデータを生成するため、秘匿化後のデータは、集合Aにおいて秘匿化対象の列に登録されるデータの中で一意な値になる。よって、秘匿化前のデータと秘匿化後のデータとの対応関係を保持しておけば、秘匿化後のデータから秘匿化前のデータが一意に特定できる。ここでは、S3でインクリメントされたレコード数を用いて、「A.Rec1」という秘匿化後のデータが生成されるものとする。
なお、秘匿化後のデータを生成する方法は、レコードの位置に基づいて生成する方法には限定されない。例えば、秘匿化処理部203が、秘匿化対象の列に登録されるデータの中で一意となるような、ランダムな文字列を生成するようにしてもよいし、レコードによって適用する秘匿方法を変更するようにしてもよい。例えば、ランダムな文字列を生成する方法を採用しても、秘匿化後のデータから秘匿化前のデータを類推することは困難になる。なお、ランダムに生成した文字列が、すでに処理されたレコードに係る秘匿化後のデータのいずれとも異なることを確認したうえで、秘匿化後のデータとして採用するようにすれば、秘匿化後のデータから秘匿化前のデータが一意に特定できることが保証される。
その後、秘匿化処理部203は、秘匿化前のデータと秘匿化後のデータとを対応付けて、秘匿管理データ格納部204に格納する(S5)。
図8に、秘匿管理データ格納部204に格納される秘匿管理テーブルの一例を示す。図8の秘匿管理テーブルは、データ群、秘匿項目名、秘匿化前データ及び秘匿化後データの列を有する。そして、各列の内容には、それぞれ、処理対象の生データテーブルを示す「集合A」、秘匿化対象の列を示す「ID」、秘匿化前のデータである「User-001」、S4において生成された秘匿化後のデータ「A.Rec1」が登録されている。
また、秘匿化処理部203は、S2で読み出したレコードのうち、秘匿化前のデータを秘匿化後のデータに置き換えて、秘匿化後のレコードを生成し、データ格納部202の秘匿化後データテーブルに格納する(S6)。
図9に、秘匿化後データテーブルに登録されるデータの一例を示す。秘匿化後データテーブルは、生データテーブルと同一の列を有する。S6において、図5の1行目に示した
レコードを処理する場合、秘匿化前のデータ「User-001」が秘匿化後のデータ「A.Rec1」に置き換えられ、図9の1行目に示すようなレコードが生成される。秘匿化対象でない列に登録されるデータは、それぞれ生データテーブルに登録されているデータと同様である。
その後、秘匿化処理部203は、生データテーブルに未処理のレコードが存在するか判断する(S7)。未処理のレコードが存在すれば(S7:Yes)、S2の処理に戻る。そして、S2〜S6までの処理を繰り返し、例えば図6の2行目に示すレコードから、図8の2行目に示すレコード及び図9の2行目に示すレコードを生成し、データ格納部202に格納する。一方、未処理のレコードが存在しなければ(S7:No)、S8の処理に遷移する。
S7において未処理のレコードが存在しないと判断された場合、秘匿化サーバ2の送信部205は、秘匿化後データテーブルに登録されている秘匿化後のレコードを読み出し、分析サーバ3に送信する(S8)。以上で、秘匿化処理が終了する。
上で述べたように、本実施の形態では、秘匿化前のデータ(すなわち、登録されている内容)とは無関係に秘匿化後のデータを生成するため、秘匿化後のデータから秘匿化前のデータを類推することは難しい。このような秘匿化後のデータを含む秘匿化後のレコードが、分析サーバ3に送信される。
<分析処理>
次に、分析サーバ3が、秘匿化後の業務データを分析する処理について説明する。分析サーバ3は、秘匿化後の業務データを用いて、秘匿化されていない項目について、データを抽出したり集計したりすることはできる。すなわち、図9のテーブルから、例えば秘匿化されていない「金額」の列に登録された値を集計するような処理を行うことはできる。しかし、「ID」の列は秘匿化されているため、例えば、図9のテーブルから、「ID」の列に同じ値が登録されているレコードごとに「金額」の列に登録された値を集計するような処理を行うことはできない。
このような処理を可能にするため、分析サーバ3は、分析処理の中で、秘匿化前のデータが同一である秘匿化後データの組み合わせを秘匿化サーバ2に問い合わせることがある。なお、予め分析サーバ3の受信部301は、秘匿化サーバ2から秘匿化後のレコードを受信し、データ格納部302の秘匿化後データテーブルに登録しているものとする。例えば、図9に示した秘匿化後の業務データ「集合A」が登録されている。また、本実施の形態では、「集合A」とは異なる生データテーブル「集合B」の一部を秘匿化した秘匿化後のレコードも用いられるものとする。
図10に、生データテーブル「集合B」に保持されているデータの一例を示す。集合Bは、支店番号、Id、金額、種別1、及び種別2の列を含む。また、「集合B」が有する項目のうち秘匿化対象の項目は、「Id」であり、図10に示した生データから図11に示すような秘匿化後の業務データが生成される。
図11に、秘匿化後データテーブルに保持されるデータの一例を示す。集合Bを秘匿化したレコードは、「Id」に秘匿化後のデータが登録されている。また、秘匿化対象でない列には、図10と同じデータが登録されている。そして、秘匿化前の「Id」の列に登録されているデータと秘匿化後の「Id」の列に登録されているデータとの対応関係を表すデータが、秘匿管理テーブルに登録されている。
図12に、秘匿管理テーブルに登録されるデータの一例を示す。図12の秘匿管理テー
ブルは、データ群、秘匿化対象項目、秘匿化前データ、及び秘匿化後データの列を有する。本実施の形態では、集合A及び集合Bに含まれる秘匿化前後のデータが1つのテーブルに登録されているものとする。以上のような前提のもと、分析処理について説明する。
図13に、分析処理の処理フローを示す。まず、分析サーバ3の入力部303は、入出力IFを介して、分析処理を実行するための処理要求をユーザから受け、データ格納部302に格納する。例えば、ユーザは以下に示すようなSQLの問い合わせ(クエリ)を入力する。
select 集合A.ID,集合A.金額,集合B.種別1,集合B.種別2
from 集合A left outer join 集合B
on(集合A.ID=集合B.Id) ・・・(1)
そして、送信部304は、入力された処理要求をデータ格納部302から読み出し、秘匿化サーバ2へ送信する(図13:S11)。本実施の形態では、送信部304は、例えば上記の問い合わせ(SELECT文)をそのまま送信する。なお、上記問い合わせの結合条件(1)に含まれる、テーブル名(すなわち、データ群の名称)及び項目名(すなわち、列名)を抽出し、抽出したテーブル名及び列名を含む処理要求を、送信部304が送信するようにしてもよい。一方、秘匿化サーバ2の受信部201は、処理要求を受信し、データ格納部202へ格納する(S12)。
そして、データ抽出部206は、データ格納部202から処理要求を読み出し、秘匿管理データ格納部204からレコードを抽出するための条件を生成する(S13)。データ抽出部206は、例えば、処理要求に含まれるテーブル名及び項目名を用いて、当該テーブル名及び項目名を含む抽出条件を生成する。
上に示した問い合わせの場合、結合条件であるon句(1)に基づいて、秘匿管理テーブルから抽出対象にするデータ群(すなわち、テーブル名)及び秘匿化対象にする項目(すなわち、項目名)を特定する。具体的には、「集合A」及び「ID」並びに「集合B」及び「Id」が特定される。また、列に登録された内容が同一であることが結合条件とされていることから(on句において列名が「=」で接続されていることから)、秘匿化前のデータが同一であるという条件を加える。
秘匿管理テーブルからレコードを抽出するための抽出条件として、例えば、以下に示すような条件が生成される。
(データ群=“集合A” かつ 秘匿項目名=“ID” 又は
データ群=“集合B” かつ 秘匿項目名=“Id”) かつ
秘匿化前データの内容が同一であること
なお、本実施の形態では、S11において、分析サーバ3から結合条件を含む問い合わせが送信される例を示したが、問い合わせはこのようなSELECT文に限られない。例えば、以下に例示するような抽出条件を含む問い合わせ、その他様々な問い合わせが、分析サーバ3から送信されるようにしてもよい。
where 集合A.ID=集合B.Id ・・・(2)
where 集合A.ID=‘A.Rec1’ ・・・(3)
where 集合B.Id like ‘%Rec%2’ ・・・(4)
処理要求が、上記(2)のような抽出条件(wherer句)を含む場合は、すでに説明したon句の場合と同様の、秘匿管理テーブルに対する抽出条件が生成される。
また、処理要求が、上記(3)の場合は、まず、処理要求に含まれる抽出条件に基づい
て、秘匿管理テーブルから抽出対象にするデータ群及び秘匿化対象にする項目名を特定する。具体的には、データ群「集合A」及び秘匿化対象項目名「ID」が特定される。また、列に登録された内容が‘A.Rec1’であることが抽出条件とされているときは、秘匿管理テーブルから秘匿化後データに「A.Rec1」が登録されているレコードの秘匿化前データの内容を特定し、秘匿化前データに登録されている内容が、特定された秘匿化前データの内容と同一であることを、秘匿管理テーブルに対する抽出条件とする。
この場合には、秘匿管理テーブルから抽出処理を行う条件として、以下に示すような条件が生成される。
データ群=“集合A” かつ 秘匿項目名=“ID” かつ
秘匿化前データの列に、上記特定された秘匿化前データの内容と同一の内容が登録されていること
また、処理要求が、上記(4)の場合は、処理要求に含まれる抽出条件に基づいて、秘匿管理テーブルから抽出対象にするデータ群及び秘匿化対象にする項目を特定する。具体的には、データ群「集合B」及び秘匿化対象項目名「Id」が特定される。また、列に登録された内容が「%Rec%2」であることが抽出条件とされているときは、秘匿管理テーブルにおいて、秘匿化後データに「%Rec%2」が登録されているレコードの、秘匿化前データの内容を特定し、特定された秘匿化前データの内容と同一の内容が秘匿化前データの列に登録されていることを抽出条件とする。すなわち、秘匿管理テーブルから、秘匿化後データの列に、「%Rec%2」のワイルドカード「%」を任意の文字列に置き換えたデータが登録されているレコードを特定する。さらに、特定されたレコードの秘匿化前データの内容を特定し、特定された内容が秘匿化前データの列に登録されていることを抽出条件に加える。
この場合には、秘匿管理テーブルから抽出処理を行う条件として、以下に示すような条件が生成される。
データ群=“集合B” かつ 秘匿項目名=“Id” かつ
秘匿化前データの列に、上記特定された秘匿化前データの内容と同一の内容が登録されていること
以上のように、データ抽出部206は、処理要求に基づいて秘匿管理テーブルからレコードを抽出するための抽出条件を生成する。上で例示したように、秘匿管理テーブルからレコードを抽出するための抽出条件とは、処理要求に含まれる項目を含む条件である。具体的には、抽出条件とは、処理要求に含まれる項目に登録されている内容が、所定の条件を満たすというものである。より具体的には、抽出条件とは、処理要求に含まれる複数の項目に同一の値が登録されているという条件、又は処理要求に含まれる項目に、処理要求に含まれる1又は複数の値のいずれかが登録されているという条件等である。
次に、データ抽出部206は、所定の条件に基づき、未送信のデータであって、所定の条件を満たすレコードが存在するか判断する(S14)。すなわち、データ抽出部206は、生成した抽出条件に基づき、秘匿管理データ格納部204の中に、未送信のデータであって、抽出条件に該当するデータが存在するか否か判断する。例えば、データ抽出部206は、秘匿管理データ格納部204に対し、SELECT文を用いた問い合わせを行ってもよいし、上記抽出条件を用いてカーソルを定義し、カーソルを移動させて該当するデータを取り出す(すなわち、FETCHを行う)ようにしてもよい。なお、該当するレコードが存在しない場合(S14:No)は、処理を終了する。
一方、該当するレコードが存在する場合(S14:Yes)、データ抽出部206は、該当するレコードを抽出する。そして、抽出されたレコードから、秘匿化前データが同一
であるレコードに登録された、秘匿化後データの組み合わせを生成し、データ格納部202に格納する(S15)。上記(1)の結合条件を含む処理要求を受け付けた場合、データ抽出部206は、図12のテーブルから1行目のレコードと6行目のレコードとを抽出し、抽出されたレコードに含まれる秘匿化後データの組み合わせを生成する。例えば、図14に示すような組み合わせが生成される。
図14は、秘匿化後データの組み合わせの一例を示す図である。秘匿化後データの組み合わせを表すテーブルは、項目1、秘匿化後データ1、項目2、及び秘匿化後データ2の列を含む。秘匿化前データの内容が一致する秘匿化後データの組み合わせは、「秘匿化後データ1」及び「秘匿化後データ2」の列に登録されている。また、これらのデータがいずれのテーブルのいずれの項目に登録されているデータであるかを示す情報が、「項目1」及び「項目2」の列に登録されている。ここで、S12で受信した問い合わせに含まれるデータ群及び秘匿項目名が登録される。
そして、送信部205は、データ格納部202から秘匿化前データが同一である秘匿化後データの組み合わせを読み出し、分析サーバ3へ送信する(S16)。ここでは、図14に示したような秘匿化後データの組み合わせが送信される。その後、S14の処理に戻り、S14〜S16の処理を繰り返す。
一方、分析サーバ3の受信部301は、秘匿化後データの組み合わせを秘匿化サーバ2から受信し、データ格納部302に格納する(S17)。例えば、図14に示したような秘匿化後データの組み合わせが格納される。
その後、分析処理部305は、ユーザから入力された処理要求(すなわち、問い合わせ)の結果を示す情報を生成し、生成した情報を出力部306がユーザに出力する(S18)。具体的には、分析処理部305は、データ格納部302に格納されている、秘匿化後データの組み合わせ、及び上記(1)に示した結合条件に基づいて、データ格納部302に格納されている秘匿化後データテーブル「集合A」及び「集合B」のデータを結合する。図14に示した情報から、集合AのIDの列に登録されているA.Rec1と、集合BのIdの列に登録されているB.Rec3とは、秘匿化前のデータが同一であることがわかる。このように、S17で受信した秘匿化後データの組み合わせを用いることで、秘匿化前の内容が同一である秘匿化後データの組み合わせを特定することができる。したがって、分析処理部305は、上記(1)に示した結合条件に基づいて、図15に示すような結合結果のデータを生成することができる。
図15に、結合された秘匿化後データの一例を示す。図15のテーブルには、集合A.ID、集合A.金額、集合B.種別1、及び集合B.種別2の列が含まれている。これらは、S11においてユーザに入力された処理要求(SELECT文)の中で選択の対象とされた項目(列)である。
また、図15の結合結果において、秘匿化対象であるIDの列の内容は秘匿化後データが登録されている。したがって、秘匿化対象の項目に登録されているデータが分析サーバ3のユーザに知られることはない。以上のように、本実施の形態では、秘匿化前のデータを分析サーバ3に開示することなく、分析サーバ3は秘匿化後の業務データの分析を行うことができる。また、分析サーバ3は、分析処理を終えると、例えば秘匿化後データの組み合わせのような処理の過程で一時的に受信した情報をデータ格納部302から削除する。以上で、分析処理が終了する。
このように、分析サーバ3は、分析処理に用いる範囲で秘匿化後データの対応関係を示すデータを受信し、処理に用いる最低限の対応関係を一時的に保持する。よって、秘匿化
後データの対応関係を分析サーバ3が常時保持するような場合よりも、情報の機密性は高くなる。また、特に、秘匿化前の内容とは無関係な内容になるように秘匿化後のデータを生成するため、秘匿化後のデータから秘匿化前のデータを類推することは困難になる。よって、例えば、図1のプライベートサーバ1及び秘匿化サーバ2を、店舗や企業ごとに設けられたプライベートネットワーク上に配置し、分析サーバ3を、インターネット等のパブリックネットワーク上に配置すれば、分析サーバ3は、秘密を保持しつつ、プライベートサーバをまたいでデータを分析することもできるようになる。
また、本実施の形態のS14〜S18では、まず秘匿化サーバ2のデータ抽出部206が秘匿化前のデータが同一である秘匿化後のデータの組み合わせを生成するたびに分析サーバ3にデータを送信し、分析サーバ3では受信したデータから順に処理を行う。したがって、例示した結合処理のような場合には特に、一種のパイプライン処理のように、秘匿化サーバ2及び分析サーバ3が並列に処理を行うことができ、スループットの低下を抑えることができる。
<変形例>
次に、秘匿化処理及びデータ分析処理について、別の業務データを用いて、変形例を交えつつ説明する。本実施の形態では、複数の病院が保持するデータを用いて、2以上の病院にレセプトデータを有する患者について、通院したことのある病院の数を集計し、病歴を結合し、さらにレセプトの点数を集計する。本実施の形態では説明しないが、さらに、類似した病歴を有するグループを分析して、予防医療の研究に役立てるようなデータの活用方法も考えられる。
図16〜18に、3つの病院が保持するレセプトデータ(生データ)の一例を示す。図16は、病院Aが保持する生データの一例である。病院Aの生データテーブルは、氏名、被保険者番号、疾患、及びレセプトの列を有する。なお、本実施の形態では、被保険者番号に基づいて個人が特定できるものとする。
なお、複数の列(項目)に登録されている内容を結合することにより、レコードを一意に特定するようにしてもよい。すなわち、本実施の形態では「被保険者番号」により個人を特定できるものとしたが、例えば、「記号」及び「番号」のような複数の項目から個人を特定するようにしてもよい。このような場合、秘匿管理テーブルには、項目ごとに秘匿化前後のデータの対応関係を格納するようにしてもよいし、複数の項目に登録された内容を1つに連結して、連結したデータと秘匿化後データの対応関係を格納するようにしてもよい。
図17は、病院Bが保持する生データの一例である。病院Bの生データテーブルは、被保険者番号、氏名、年齢、疾患、初診日、及びレセプトの列を有する。
図18は、病院Cが保持する生データの一例である。病院Cの生データテーブルは、氏名、被保険者番号、回数、レセプト、及び疾患の列を有する。
以上のような生データが、病院A〜Cが有するプライベートサーバ1A〜1Cのデータ格納部101A〜101Cに保持されている。そして、プライベートサーバ1A〜1Cの送信部102A〜102Cは、生データテーブルに格納されている情報を秘匿化サーバ2に送信する。複数のプライベートサーバ1と秘匿化サーバ2とは、例えば専用線又はVPN(Virtual Private Network)で接続されている。
そして、秘匿化サーバ2の受信部201はデータを受信し、データ格納部202に格納されている生データテーブルに登録する。そして、秘匿化処理部203が各病院の生デー
タテーブルを用いて秘匿化処理を行い、図19〜21に示すような秘匿化後データテーブルを生成する。
図19は、病院Aの秘匿化後データテーブルの一例である。病院Aの秘匿化後データテーブルは、氏名、被保険者番号、疾患、及びレセプトの列を有する。本実施の形態では、図16に示した生データのうち、氏名及び被保険者番号が秘匿化の対象に設定されているものとする。また、被保険者番号は、本システムにおいて、患者に対して一意に振られる値であり、複数のテーブル間でレコードを関連付けることができる項目である。よって、被保険者番号の列に登録されているデータは、例えばレコードの位置に基づいて、生データテーブルごとに一意となるようなデータに置き換えられる。そして、被保険者番号の列に登録されている秘匿化前後のデータを、秘匿管理テーブルに保持しておく。一方、氏名の列は、本システムにおいて、レコード間の関連性を特定するために用いることはない。したがって、被保険者番号と同様の方法により秘匿化処理を行ってもよいし、秘匿化後のデータから秘匿化前のデータが一意に特定できないような方法で秘匿化してもよい。図19の例では、氏名の列に登録されたすべてのデータが「****」になっている。なお、秘匿化対象の項目について、どのような方法で秘匿化するかは、例えば予め設定テーブルに登録しておく。
図20は、病院Bの秘匿化後データテーブルの一例である。病院Bの秘匿化後データテーブルは、被保険者番号、氏名、年齢、疾患、初診日、及びレセプトの列を有する。本実施の形態では、図17に示した生データのうち、被保険者番号及び氏名が秘匿化の対象に設定されているものとする。被保険者番号の列に登録されているデータは、レコードの位置に基づいて、例えば生データテーブルごとに一意となるようなデータに置き換えられている。また、すべてのレコードの氏名の列に、「****」が登録されている。
図21は、病院Cの秘匿化後データテーブルの一例である。病院Cの秘匿化後データテーブルは、氏名、被保険者番号、回数、レセプト、及び疾患の列を有する。本実施の形態では、図18に示した生データのうち、氏名及び被保険者番号が秘匿化の対象に設定されているものとする。被保険者番号の列に登録されているデータは、レコードの位置に基づいて、例えば生データテーブルごとに一意となるようなデータに置き換えられている。また、すべてのレコードの氏名の列に、「****」が登録されている。
なお、秘匿化後のデータは、あるデータ群(テーブル)の秘匿化対象の項目に登録されるデータの中で一意な値になるように生成してもよいし、秘匿化サーバ2が処理するすべてのデータ群の秘匿化対象の項目に登録されるデータの中で一意な値になるように生成してもよい。すなわち、秘匿管理テーブルにおいて、データ群及び秘匿項目名の列にそれぞれ同一の内容が登録されるレコードにおいて、秘匿化後データの列に登録される内容が一意になるようにしてもよいし、秘匿管理テーブルのすべてのレコードにおいて、秘匿化後データの列に登録される内容が一意になるようにしてもよい。
また、秘匿化前のデータを、例えば準同型暗号化することによって秘匿化する方法を採用してもよい。ここで、準同型暗号化とは、同一の暗号キーを用いることにより、同一の元データからは同一の秘匿化データが生成されるような、準同型性を有する暗号方式をいう。このような方法を採用すれば、秘匿により匿名性を保ちつつ、秘匿化後のデータからもレコード間の関連付けが可能となる。
しかしながら、元の内容が同一であれば秘匿化後の内容も同一になるため、データ及びレコード間の関連性が類推され得るというデメリットもある。すなわち、第三者が秘匿化後のテーブルから、秘匿化後の内容が同一であるレコードを抽出し、秘匿化されていない内容を手掛かりに類推する場合、第三者が秘匿化前の内容(例えば、特定の個人)を推測
できてしまうおそれがある。よって、先に説明したレコードの位置に基づく方法やランダムな値を採用する方法の方が、システムの機密性が向上し、情報漏えいのリスク下がるという効果がある。
また、秘匿化処理部203は、秘匿化後のデータを生成するとともに、秘匿管理テーブルに秘匿化前後のデータの組み合わせも保持しておく。例えば、設定テーブルに、秘匿化前後のデータを保持する対象の項目(列)が予め登録されているものとする。そして、秘匿化前後のデータの組み合わせとして、例えば、図22に示すようなレコードが登録される。
図22は、秘匿管理テーブルの一例である。本実施の形態における秘匿管理テーブルのデータ構造は、図12に示した秘匿管理テーブルと同様である。また、秘匿管理テーブルの内容は、図16〜18に示した生データテーブル及び図19〜21に示した秘匿化後データテーブルにおいて、被保険者番号の列に登録されているデータが、対応付けられて登録されている。そして、秘匿化サーバ2は、分析サーバ3へ、図19〜21に示した秘匿化後の業務データを送信する。
一方、分析サーバ3は、秘匿化後の業務データに対して様々な分析処理を行う。本実施の形態に示す病院のレセプトデータの場合、例えば、医療費の統計をとったり、病歴を解析したりする。しかしながら、本実施の形態でも、レコード間の関連付けをすることができるデータ(すなわち、被保険者番号)が秘匿化されている。よって、分析サーバ3は、秘匿化サーバ2に処理要求を送信し、秘匿化前のデータが所定の条件に該当する秘匿化後データの組み合わせを取得する。
分析サーバ3は、秘匿化サーバ2への処理要求として、例えば、SQLの問い合わせ(クエリ)を送信する。処理要求は、上で例示したような問い合わせには限られない。例えば、テーブル名及び列名(項目名)を含んでいれば、秘匿化サーバ2は秘匿管理テーブルから秘匿化前データが所定の条件に該当する秘匿化後データの組み合わせを抽出することができる。
なお、図示していないが、1つの秘匿化後データテーブルの中に、秘匿化前データが同一である複数種類の秘匿化後データが存在する場合もある。すなわち、同一の患者が同一の病院へ複数回通えば、複数のレセプトデータ(すなわち、レコード)が登録されることがある。このような場合は、秘匿化前データが同一である(すなわち、同一の患者に関連する)すべての秘匿化後データを、1つの組み合わせとして分析サーバ3に送信するようにしてもよい。このようにすれば、患者ごとにレセプトデータを集計することができる。
また、図13のS11では、ユーザが処理要求を入力するものとして説明したが、ユーザ自身が問い合わせを入力するのではない態様とすることも可能である。例えば、問い合わせの作成を支援するGUI(Graphical User Interface)を備えたアプリケーションが、ユーザの操作に基づいて問い合わせを生成するようにしてもよいし、ユーザからの入力を受けることなく、例えば予め設定されたバッチ処理の中で分析サーバ3から処理要求が送信されるようにしてもよい。さらに、分析サーバ3から処理要求を受けることなく、あらかじめ設定された条件に基づいて、秘匿化サーバ2が自動的に秘匿化後データの組み合わせを抽出及び送信するようにしてもよい。
秘匿化サーバ2は、分析サーバ3から処理要求を受けると、秘匿化後データの組み合わせを抽出する。例えば、図22に示した秘匿管理テーブルから、図23に示すような、秘匿化後データの組み合わせが生成される。なお、上で述べた実施の形態では、秘匿化前データが同一である秘匿化後データの組み合わせを取得する例を挙げた。しかし、秘匿化前
データの少なくとも一部が一致する秘匿化後データの組み合わせを取得するようにしてもよい。例えば、被保険者番号の上位所定数の桁が、地域や企業ごとに固有の値であると仮定する。そして、このような前提が周知であると仮定する。このような場合において、地域や企業ごとに集計処理を行うとき、分析サーバ3が、秘匿化サーバ2へ、秘匿化前データの一部とワイルドカードとを含む処理要求を送信し、秘匿化サーバ2は、分析サーバ3へ、秘匿化前データの一部が一致する秘匿化後データの一覧(組み合わせ)を返すようにしてもよい。
図23に、秘匿化後データの組み合わせを表すテーブルの一例を示す。図23のテーブルは、項目1、秘匿化後データ1、項目2、秘匿化後データ2、項目3、及び秘匿化後データ3の列を有する。それぞれの列には、秘匿化前データが所定の条件に該当する(ここでは秘匿化前データに登録されている内容が同一の)秘匿化後データの組み合わせが登録されている。秘匿化サーバ2は、このような秘匿化後データの組み合わせを生成して、分析サーバ3に送信する。
一方、分析サーバ3は、秘匿化サーバ2から秘匿化後データの組み合わせを受信すると、受信した秘匿化後データの組み合わせをデータ格納部302に格納する。そして、分析処理部305は、図19〜21に示した秘匿化後データテーブルと、図23に示した秘匿化後データの組み合わせとを用いて、分析処理を行う。上でも述べたように、本実施の形態では、「2以上の病院にレセプトデータを有する患者の各々について、通院履歴のある病院の数を集計し、病歴を結合し、さらにレセプトの点数を集計する」という分析処理を行う。例えば、分析処理部305は、秘匿化後データテーブルに複数の問い合わせを行い、得られた情報を集計及び編集することにより結果のデータを生成する。分析処理部305は、処理の結果として、例えば図24に示すようなテーブルを生成することができる。
図24は、処理結果の一例を示すテーブルである。図24に示すテーブルは、被保険者番号、病院数、疾患1、疾患2、疾患3、疾患4、疾患5、及びレセプト合計の列を有する。このような結果のテーブルを得るためには、例えば次のような集計及び編集を行う。
すなわち、本実施の形態において抽出対象である、「2以上の病院に通院履歴を有する患者」として、図23に示した秘匿化後データの組み合わせが得られた2つのレコードに係る患者を処理対象とする。また、「通院履歴のある病院の数」は、図23の各レコードに含まれる病院の数を、重複を除いて集計することにより得られる。そして、「病歴」は、図23の各レコードに含まれる秘匿化後の被保険者番号を用いて、秘匿化後データテーブルから疾患の列に登録されているデータを取得し、結合することによって図24に示した一覧表を生成することができる。また、「レセプトの点数の合計」は、図23の各レコードに含まれる秘匿化後の被保険者番号を用いて、秘匿化後データテーブルからレセプトの列に登録されているデータを取得し、図23におけるレコード(1行)ごとに集計することにより得られる。このような処理は一例であり、分析処理部305は、様々な集計、編集、その他の処理を行うことができる。
以上のように、本実施の形態に示した技術によれば、秘匿化前のデータの内容と無関係に秘匿化後のデータを生成することにより、秘匿化前のデータが類推されにくくなる。同時に、データを活用する場面においては、秘匿化前のデータが所定の条件に該当する秘匿化後のレコードを秘匿化サーバ2から適宜取得することができるため、秘匿化後のデータが活用し易くなるという効果が得られる。
以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1)
第1のデータと、当該第1のデータを秘匿化した第1の秘匿化データとを対応付けて保持し、第2のデータと、当該第2のデータを秘匿化した第2の秘匿化データとを対応付けて保持するデータ格納部から、所定の条件に基づき前記第1のデータ及び前記第2のデータの組み合わせを特定し、特定された前記第1のデータ及び前記第2のデータにそれぞれ対応付けて保持されている、前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを抽出する抽出ステップと
抽出された、前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを外部装置に送信するステップと
をコンピュータに実行させるためのデータ処理プログラム。
(付記2)
前記抽出ステップにおいて、前記データ格納部から、内容の少なくとも一部が一致する前記第1のデータ及び前記第2のデータの組み合わせを特定し、特定された前記第1のデータ及び前記第2のデータにそれぞれ対応して保持されている、前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを抽出する
付記1に記載のデータ処理プログラム。
(付記3)
前記第1の秘匿化データは、前記第1のデータとは無関係に、かつ前記第1の秘匿化データに基づいて前記第1のデータが一意に特定できるように生成されたデータであり、
前記第2の秘匿化データは、前記第2のデータとは無関係に、かつ前記第2の秘匿化データに基づいて前記第2のデータが一意に特定できるように生成されたデータである 付記1又は2に記載のデータ処理プログラム。
(付記4)
前記第1のデータは、第1のレコードに含まれる第1の項目の値であり、
前記第2のデータは、第2のレコードに含まれる第2の項目の値であり、
前記第1の項目又は前記第2の項目を用いて表される条件を含む、前記第1のレコード又は前記第2のレコードを要求する問い合わせを受け付けるステップをさらに実行させる
付記1ないし3のいずれか1項に記載のデータ処理プログラム
(付記5)
秘匿化前の値が同一である、第1の秘匿化データ及び第2の秘匿化データの組み合わせを受信するステップと、
前記第1のデータを前記第1の秘匿化データで置き換えた第1の秘匿化レコードと、前記第2のデータを前記第2の秘匿化データで置き換えた第2の秘匿化レコードとを保持する第2のデータ格納部から、受信した前記組み合わせを用いて、前記第1の秘匿化レコード若しくは前記第2の秘匿化レコードを抽出し、又は前記第1の秘匿化レコード及び前記第2の秘匿化レコードを集計するステップと、
をコンピュータに実行させるためのデータ処理プログラム。
(付記6)
第1のデータと、当該第1のデータを秘匿化した第1の秘匿化データとを対応付けて保持し、第2のデータと、当該第2のデータを秘匿化した第2の秘匿化データとを対応付けて保持するデータ格納部と、
前記データ格納部から、所定の条件に基づき前記第1のデータ及び前記第2のデータの組み合わせを抽出し、抽出された前記第1のデータ及び前記第2のデータにそれぞれ対応して保持されている、前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを抽出する抽出部と
を有するデータ処理装置。
(付記7)
第1のレコードに含まれる第1のデータと、当該第1のデータを秘匿化した第1の秘匿化データとを対応付けて保持し、第2のレコードに含まれる第2のデータと、当該第2のデータを秘匿化した第2の秘匿化データとを対応付けて保持するデータ格納部と、
前記データ格納部から、所定の条件に基づき前記第1のデータ及び前記第2のデータの組み合わせを抽出し、抽出された前記第1のデータ及び前記第2のデータにそれぞれ対応して保持されている、前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを抽出する抽出部と
を有する第1のデータ処理装置と、
前記第1のレコードのうち前記第1のデータを前記第1の秘匿化データで置き換えた第1の秘匿化レコードと、前記第2のレコードのうち前記第2のデータを前記第2の秘匿化データで置き換えた第2の秘匿化レコードとを保持する第2のデータ格納部と、
前記第1のデータ処理装置から前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを受信し、当該組み合わせを用いて前記第1の秘匿化レコードと前記第2の秘匿化レコードとを処理する処理部と
を有する第2のデータ処理装置と
を有するデータ処理システム。
1(1a,1b) プライベートサーバ
2 秘匿化サーバ
3 分析サーバ
101 生データ格納部
102 送信部
201 受信部
202 データ格納部
203 秘匿化処理部
204 秘匿管理データ格納部
205 送信部
206 データ抽出部
301 受信部
302 データ格納部
303 入力部
304 送信部
305 分析処理部
306 出力部

Claims (7)

  1. 第1のデータと、当該第1のデータを秘匿化した第1の秘匿化データとを対応付けて保持し、第2のデータと、当該第2のデータを秘匿化した第2の秘匿化データとを対応付けて保持するデータ格納部から、所定の条件に基づき前記第1のデータ及び前記第2のデータの組み合わせを特定し、特定された前記第1のデータ及び前記第2のデータにそれぞれ対応付けて保持されている、前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを抽出する抽出ステップと
    抽出された、前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを外部装置に送信するステップと
    をコンピュータに実行させるためのデータ処理プログラム。
  2. 前記抽出ステップにおいて、前記データ格納部から、内容の少なくとも一部が一致する前記第1のデータ及び前記第2のデータの組み合わせを特定し、特定された前記第1のデータ及び前記第2のデータにそれぞれ対応して保持されている、前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを抽出する
    請求項1に記載のデータ処理プログラム。
  3. 前記第1の秘匿化データは、前記第1のデータとは無関係に、かつ前記第1の秘匿化データに基づいて前記第1のデータが一意に特定できるように生成されたデータであり、
    前記第2の秘匿化データは、前記第2のデータとは無関係に、かつ前記第2の秘匿化データに基づいて前記第2のデータが一意に特定できるように生成されたデータである
    請求項1又は2に記載のデータ処理プログラム。
  4. 前記第1のデータは、第1のレコードに含まれる第1の項目の値であり、
    前記第2のデータは、第2のレコードに含まれる第2の項目の値であり、
    前記第1の項目又は前記第2の項目を用いて表される条件を含む、前記第1のレコード又は前記第2のレコードを要求する問い合わせを受け付けるステップをさらに実行させる
    請求項1ないし3のいずれか1項に記載のデータ処理プログラム。
  5. 秘匿化前の値が同一である、第1の秘匿化データ及び第2の秘匿化データの組み合わせを受信するステップと、
    前記第1のデータを前記第1の秘匿化データで置き換えた第1の秘匿化レコードと、前記第2のデータを前記第2の秘匿化データで置き換えた第2の秘匿化レコードとを保持する第2のデータ格納部から、受信した前記組み合わせを用いて、前記第1の秘匿化レコード若しくは前記第2の秘匿化レコードを抽出し、又は前記第1の秘匿化レコード及び前記第2の秘匿化レコードを集計するステップと、
    をコンピュータに実行させるためのデータ処理プログラム。
  6. 第1のデータと、当該第1のデータを秘匿化した第1の秘匿化データとを対応付けて保持し、第2のデータと、当該第2のデータを秘匿化した第2の秘匿化データとを対応付けて保持するデータ格納部と、
    前記データ格納部から、所定の条件に基づき前記第1のデータ及び前記第2のデータの組み合わせを抽出し、抽出された前記第1のデータ及び前記第2のデータにそれぞれ対応して保持されている、前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを抽出する抽出部と
    を有するデータ処理装置。
  7. 第1のレコードに含まれる第1のデータと、当該第1のデータを秘匿化した第1の秘匿化データとを対応付けて保持し、第2のレコードに含まれる第2のデータと、当該第2の
    データを秘匿化した第2の秘匿化データとを対応付けて保持するデータ格納部と、
    前記データ格納部から、所定の条件に基づき前記第1のデータ及び前記第2のデータの組み合わせを抽出し、抽出された前記第1のデータ及び前記第2のデータにそれぞれ対応して保持されている、前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを抽出する抽出部と
    を有する第1のデータ処理装置と、
    前記第1のレコードのうち前記第1のデータを前記第1の秘匿化データで置き換えた第1の秘匿化レコードと、前記第2のレコードのうち前記第2のデータを前記第2の秘匿化データで置き換えた第2の秘匿化レコードとを保持する第2のデータ格納部と、
    前記第1のデータ処理装置から前記第1の秘匿化データ及び前記第2の秘匿化データの組み合わせを受信し、当該組み合わせを用いて前記第1の秘匿化レコードと前記第2の秘匿化レコードとを処理する処理部と
    を有する第2のデータ処理装置と
    を有するデータ処理システム。
JP2012211391A 2012-09-25 2012-09-25 データ処理プログラム、データ処理装置及びデータ処理システム Pending JP2014066831A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012211391A JP2014066831A (ja) 2012-09-25 2012-09-25 データ処理プログラム、データ処理装置及びデータ処理システム
US13/975,810 US9148410B2 (en) 2012-09-25 2013-08-26 Recording medium storing data processing program, data processing apparatus and data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012211391A JP2014066831A (ja) 2012-09-25 2012-09-25 データ処理プログラム、データ処理装置及びデータ処理システム

Publications (1)

Publication Number Publication Date
JP2014066831A true JP2014066831A (ja) 2014-04-17

Family

ID=50340123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012211391A Pending JP2014066831A (ja) 2012-09-25 2012-09-25 データ処理プログラム、データ処理装置及びデータ処理システム

Country Status (2)

Country Link
US (1) US9148410B2 (ja)
JP (1) JP2014066831A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022046450A (ja) * 2020-09-10 2022-03-23 バイオセンス・ウエブスター・(イスラエル)・リミテッド 医療データを安全に記憶し取得する方法
JP2022537204A (ja) * 2019-06-19 2022-08-24 エレクトロニック・ヘルス・レコード・データ・インコーポレイテッド 電子健康記録データブロックチェーンシステム及びプロセス

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9722777B2 (en) * 2013-08-01 2017-08-01 Visa International Service Association Homomorphic database operations apparatuses, methods and systems
WO2018008123A1 (ja) * 2016-07-07 2018-01-11 株式会社日立製作所 計算機システム
US11063758B1 (en) * 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
TW202030671A (zh) * 2019-02-01 2020-08-16 和碩聯合科技股份有限公司 資料分析系統與資料分析方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000324094A (ja) * 1999-02-02 2000-11-24 Smithkline Beecham Corp 情報を非個人化する装置および方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2564344C (en) * 2004-05-05 2016-04-12 Ims Health Incorporated Multi-source longitudinal patient-level data encryption process
US8077867B2 (en) * 2007-01-15 2011-12-13 Panasonic Corporation Confidential information processing apparatus, confidential information processing device, and confidential information processing method
JP4824112B2 (ja) 2007-12-19 2011-11-30 株式会社Icon サーバ装置及びその情報提供方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000324094A (ja) * 1999-02-02 2000-11-24 Smithkline Beecham Corp 情報を非個人化する装置および方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022537204A (ja) * 2019-06-19 2022-08-24 エレクトロニック・ヘルス・レコード・データ・インコーポレイテッド 電子健康記録データブロックチェーンシステム及びプロセス
JP2022046450A (ja) * 2020-09-10 2022-03-23 バイオセンス・ウエブスター・(イスラエル)・リミテッド 医療データを安全に記憶し取得する方法

Also Published As

Publication number Publication date
US20140089657A1 (en) 2014-03-27
US9148410B2 (en) 2015-09-29

Similar Documents

Publication Publication Date Title
US11133093B2 (en) System and method for creation of persistent patient identification
US9892278B2 (en) Focused personal identifying information redaction
Freymann et al. Image data sharing for biomedical research—meeting HIPAA requirements for de-identification
Kum et al. Privacy preserving interactive record linkage (PPIRL)
US20210240853A1 (en) De-identification of protected information
AU2014237406B2 (en) Method and apparatus for substitution scheme for anonymizing personally identifiable information
EP3204858B1 (en) Highly secure networked system and methods for storage, processing, and transmission of sensitive personal information
Kuzu et al. A practical approach to achieve private medical record linkage in light of public resources
US20220391389A1 (en) Systems and methods for bi-directional database application programming interface, extract transform and load system, and user computing device
US11004548B1 (en) System for providing de-identified mortality indicators in healthcare data
Pika et al. Towards privacy-preserving process mining in healthcare
US20160085915A1 (en) System and method for the de-identification of healthcare data
JP2014066831A (ja) データ処理プログラム、データ処理装置及びデータ処理システム
CN106169013A (zh) 用于使受保护信息匿名化和聚集的系统
WO2013088681A1 (ja) 匿名化装置、匿名化方法、並びにコンピュータ・プログラム
US20160306999A1 (en) Systems, methods, and computer-readable media for de-identifying information
KR20140029984A (ko) 의료정보 데이터베이스 운영 시스템의 의료정보 관리 방법
JP6250497B2 (ja) 情報管理システム
US20230127625A1 (en) Anonymization system and method
Madhavi et al. De-Identified Personal health care system using Hadoop
JP2019036249A (ja) 医療情報管理装置、医療情報管理方法及びプログラム
JP2019153060A (ja) 情報管理システム、情報管理方法及び情報管理装置
TW201447803A (zh) 病理分析模組之個人資料移除方法
JP7323825B2 (ja) データベースシステム、分散処理装置、データベース装置、分散処理方法、および、分散処理プログラム
WO2024210036A1 (ja) 医療データ管理装置、医療データ管理用プログラム、及び医療データ管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160606

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170306

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170314

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20170602