(57)【要約】【課題】個人識別可能性を抑制した匿名化を行う。【解決手段】本方法は、所定の関係を有する複数のデータブロックが存在するか否かに基づき実行される匿名化処理がなされたデータブロックを格納するデータ格納部に格納されているデータブロックに対する処理命令であって、匿名化処理の処理結果と当該処理結果を反映させる処理の内容とを含む１又は複数の処理命令を受信し、受信された１又は複数の処理命令を含む出力前の処理命令が所定の条件を満たしているか判断し、所定の条件を満たしている場合には、出力前の処理命令を出力し、所定の条件を満たしていない場合には、出力前の処理命令を保持する処理を含む。【選択図】図１０
2014127037.tif 000002
【特許請求の範囲】
【請求項１】
所定の関係を有する複数のデータブロックが存在するか否かに基づき実行される匿名化処理がなされたデータブロックを格納するデータ格納部に格納されているデータブロックに対する処理命令であって、前記匿名化処理の処理結果と当該処理結果を反映させる処理の内容とを含む１又は複数の処理命令を受信し、
受信された前記１又は複数の処理命令を含む出力前の処理命令が所定の条件を満たしているか判断し、
前記所定の条件を満たしている場合には、前記出力前の処理命令を出力し、
前記所定の条件を満たしていない場合には、前記出力前の処理命令を保持する
処理を、コンピュータに実行させるための情報処理プログラム。
【請求項２】
前記判断する処理が、
前記出力前の処理命令の数、前記出力前の処理命令のうち第１の種類の処理内容を含む処理命令の割合の逆数、又は前記出力前の処理命令のうち前記第１の種類とは異なる第２の種類の処理内容を含む処理命令の数が、閾値以上であるか否かを判断する処理
を含む請求項１記載の情報処理プログラム。
【請求項３】
前記判断する処理が、
前記出力前の処理命令に、第１の種類の処理内容を含む処理命令が含まれていれば、当該処理命令の対象となるデータブロックと同一のデータブロックを対象とする他の処理内容を含む処理命令が含まれているという第１の条件、又は前記第１の種類の処理内容を含む処理命令が含まれていないという第２の条件を満たしているかを判断する処理
を含む請求項１記載の情報処理プログラム。
【請求項４】
前記判断する処理が、
前記第１の条件及び前記第２の条件を満たしていない場合、前記出力前の処理命令の数、前記出力前の処理命令のうち前記第１の種類の処理内容を含む処理命令の割合の逆数、又は前記出力前の処理命令のうち前記第１の種類とは異なる第２の種類の処理内容を含む処理命令の数が、閾値以上であるか否かを判断する処理
をさらに含む請求項３記載の情報処理プログラム。
【請求項５】
前記第１の種類の処理内容が、前記データ格納部に格納されている特定のデータブロックに含まれる一部の属性値の隠蔽及び前記データ格納部に格納されている特定のデータブロックに含まれる属性値の復元を含む
請求項２乃至４のいずれか１つ記載の情報処理プログラム。
【請求項６】
所定の関係を有する複数のデータブロックが存在するか否かに基づき実行される匿名化処理がなされたデータブロックを格納するデータ格納部に格納されているデータブロックに対する処理命令であって、前記匿名化処理の処理結果と当該処理結果を反映させる処理の内容とを含む１又は複数の処理命令を受信し、
受信された前記１又は複数の処理命令を含む出力前の処理命令が所定の条件を満たしているか判断し、
前記所定の条件を満たしている場合には、前記出力前の処理命令を出力し、
前記所定の条件を満たしていない場合には、前記出力前の処理命令を保持する
処理を含み、コンピュータにより実行させる情報処理方法。
【請求項７】
所定の関係を有する複数のデータブロックが存在するか否かに基づき実行される匿名化処理がなされたデータブロックを格納するデータ格納部に格納されているデータブロックに対する処理命令であって、前記匿名化処理の処理結果と当該処理結果を反映させる処理の内容とを含む１又は複数の処理命令を取得する取得部と、
受信された前記１又は複数の処理命令を含む出力前の処理命令が所定の条件を満たしているか判断する判断部と、
前記所定の条件を満たしている場合には、前記出力前の処理命令を出力する出力部と、
を有し、
前記所定の条件を満たしていない場合には、前記出力前の処理命令が保持される
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、データの秘匿化技術に関する。
【背景技術】
【０００２】
例えば、収集した個人情報を、個人を特定できないようにするために匿名化情報に加工する技術が存在している。
【０００３】
一般的に個人情報を匿名化情報にデータ加工しても、他の情報と照合して個人を識別できる（「容易照合性」と呼ぶ）場合は個人情報に該当する。しかしながら、「容易照合性」があるか否かの客観的な基準がなく、安全に匿名化情報を利用できるかの判断が難しい。この「容易照合性」には以下に示すような観点がある。
（１）他の情報と容易に照合できる環境にあるか否か。
（２）他の情報と照合した結果、個人を識別できるか否か。
【０００４】
（１）については、データ管理（参照権限、参照範囲、情報漏洩対策）も含めた対策を行って容易照合性が否定されることになるので、ソフトウェアだけで判断はできない。一方、（２）は個人識別可能性とも呼ばれるが、識別リスクのあるレコードを削るといった加工を行うことで、より安全な匿名化情報を生成できる。これにより、他の情報と容易に照合できる場合や、個人を識別する情報が他で漏洩した場合においても、個人を特定することができないため、安全に匿名化情報を利用させることができる。
【０００５】
例えば、個人情報と照合することで個人の特定につながる情報を判断して除き、匿名化情報に加工する技術がある。
【０００６】
また、匿名化情報自身におけるレコードの重複から個人識別可能性を検証してデータ加工する技術も存在している。これは、匿名化情報におけるレコードの重複数がＮ件以上であれば、個人情報と照合した結果がＮ件以上となるため匿名化情報から個人は識別できないという法則を利用している。
【０００７】
具体的には、図１に示すような処理が実施される。図１の左側に示す匿名化情報は３レコードを含んでおり、上の２行は同一であって２件以上の場合には個人識別可能性がないことが確認されるため［検証ＯＫ］として検証済の匿名化情報に加えられる。一方、ＡＢＣＤというレコードについては１行しかないので、個人識別可能性があり［検証ＮＧ］と判定される。そうすると、例えばＡＢＣＤの一部の属性値Ｂ及びＣをＸに変換してしまい、ＡＸＸＤというレコードを検証済みの匿名化情報に加える。一方、ＡＢＣＤというレコード自体については破棄してしまう。このような処理方法は、１つのデータベースにおいて既に蓄積済みのレコードを処理する場合には有効である。
【０００８】
しかしながら、様々な業務システムから適宜収集されるデータを匿名化して、匿名化したデータを活用する他のシステムに出力するような場合には問題がある。具体的には、図１の左側に示すような３レコードがまず収集されて、この３レコードについて上で述べたような処理を実施すると、図１の右側に示すようなデータが他のシステムに出力される。その後、図２の左側に示すような３レコードが新たに収集されて上で述べたような処理を新たな３レコードに実施すると、上２行は同一であって個人識別可能性がないということが確認され検証ＯＫとして検証済みの匿名化情報に加えられる。しかしながら、ＡＢＣＤというレコードについては１行しかないので、個人識別可能性があり［検証ＮＧ］と判定される。そうすると、一部の属性値Ｂ及びＣをＸに変換してしまい、ＡＸＸＤというレコードを検証済みの匿名化情報に加えることになる。そして、ＡＢＣＤというレコード自体については破棄してしまう。このように、ＡＢＣＤというレコードは２度出現しているが、収集タイミングが異なっているので、検証済みの匿名化情報には「ＡＸＸＤ」というレコードが２度登録されてしまう。これでは、ＡＢＣＤという情報は失われてしまい、他のシステムにおける統計処理などに支障を来すようになる。
【０００９】
また、個人が特定された一部の匿名化情報が漏洩した場合に、当該匿名化情報を用いて匿名化情報の経時差分から個人識別を行う手法も存在しており、検証済みの匿名化情報であっても、そのまま出力すると問題が発生する場合がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００９−１８１２０７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本技術の目的は、一側面によれば、個人識別可能性を抑制した匿名化処理技術を提供することである。
【課題を解決するための手段】
【００１２】
本技術に係る情報処理方法は、（Ａ）所定の関係を有する複数のデータブロックが存在するか否かに基づき実行される匿名化処理がなされたデータブロックを格納するデータ格納部に格納されているデータブロックに対する処理命令であって、匿名化処理の処理結果と当該処理結果を反映させる処理の内容とを含む１又は複数の処理命令を受信し、（Ｂ）受信された１又は複数の処理命令を含む出力前の処理命令が所定の条件を満たしているか判断し、（Ｃ）所定の条件を満たしている場合には、出力前の処理命令を出力し、（Ｄ）所定の条件を満たしていない場合には、出力前の処理命令を保持する処理を含む。
【発明の効果】
【００１３】
一側面によれば、匿名化を行う際に個人識別可能性を抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、従来技術を説明するための図である。
【図２】図２は、従来技術を説明するための図である。
【図３】図３は、第１の実施の形態に係る基本的な匿名化処理を説明するための図である。
【図４】図４は、第１の実施の形態に係る基本的な匿名化処理を説明するための図である。
【図５】図５は、第１の実施の形態に係る基本的な匿名化処理を説明するための図である。
【図６】図６は、第１の実施の形態に係る基本的な匿名化処理を説明するための図である。
【図７】図７は、経時差分を用いたデータ解析による個人識別可能性について説明するための図である。
【図８】図８は、経時差分を用いたデータ解析による個人識別可能性について説明するための図である。
【図９Ａ】図９Ａは、経時差分を用いたデータ解析による個人識別可能性について説明するための図である。
【図９Ｂ】図９Ｂは、経時差分を用いたデータ解析による個人識別可能性について説明するための図である。
【図９Ｃ】図９Ｃは、経時差分を用いたデータ解析による個人識別可能性について説明するための図である。
【図１０】図１０は、実施の形態に係るシステム構成例を示す図である。
【図１１】図１１は、情報処理装置の機能ブロック図である。
【図１２】図１２は、第１の実施の形態に係る処理命令制御部及びデータ格納部の構成例を示す図である。
【図１３】図１３は、実施の形態に係るメインの処理フローを示す図である。
【図１４】図１４は、収集されたデータの一例を示す図である。
【図１５】図１５は、定義データ格納部に格納されているデータの一例を示す図である。
【図１６】図１６は、データ変換の結果の一例を示す図である。
【図１７】図１７は、処理命令制御部に出力される処理命令の一例を示す図である。
【図１８】図１８は、匿名化処理部において保持されるレコードの一例を示す図である。
【図１９】図１９は、匿名化処理部の処理を説明するための図である。
【図２０】図２０は、匿名化処理部から処理命令制御部に出力されるデータの一例を示す図である。
【図２１】図２１は、第１の実施の形態に係る命令制御処理の処理フローを示す図である。
【図２２】図２２は、レコード管理テーブルに格納されるデータの一例を示す図である。
【図２３】図２３は、ターゲットシステムに蓄積されるデータの一例を示す図である。
【図２４】図２４は、匿名化処理部から処理命令制御部に次に出力されるデータの一例を示す図である。
【図２５】図２５は、レコード管理テーブルに次に格納されるデータの一例を示す図である。
【図２６】図２６は、匿名化処理部から処理命令制御部にさらに次に出力されるデータの一例を示す図である。
【図２７】図２７は、レコード管理テーブルに格納されるデータの次の状態を示す図である。
【図２８】図２８は、ターゲットシステムにおいて保持されるデータの一例を示す図である。
【図２９】図２９は、第２の実施の形態に係る処理命令制御部及びデータ格納部の構成例を示す図である。
【図３０】図３０は、第２の実施の形態に係る命令制御処理の処理フローを示す図である。
【図３１】図３１は、第３の実施の形態に係る処理命令制御部及びデータ格納部の構成例を示す図である。
【図３２】図３２は、第３の実施の形態に係る命令制御処理の処理フローを示す図である。
【図３３】図３３は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１５】
［実施の形態１］
図３乃至図２８を用いて第１の実施の形態における処理の概要を説明する。本実施の形態において処理を実施する情報処理装置は、１又は複数の業務システム（ソースシステムとも呼ぶ。）からデータを収集して匿名化し、以下で述べる処理を実施した上で、匿名化情報を活用する他のシステム（ターゲットシステムとも呼ぶ。）に配布可能な状態にする。
【００１６】
まず最初に、基本的な匿名化処理についての説明を行った上で、個人識別可能性の問題を説明し、さらに当該個人識別可能性の問題を解消する手法について説明する。
【００１７】
（ａ）基本的な匿名化処理
例えば、情報処理装置は、３件のレコードを収集した場合には、収集したレコードを匿名化し、図３の例に示すように、匿名化データ８０を生成する。ここで、匿名化データ８０は、匿名化のためのデータ変換処理が実行されたデータであり、属性値が対応する値域に変換されたり、仮名文字化されたり、レコードの一部の属性が破棄されたりしたデータである。図３の例では、匿名化データ８０は、ＡＢＣＤという属性値を含む２件のレコードと、ＥＦＧＨという属性値を含む１件のレコードとを有する。
【００１８】
そして、情報処理装置は、匿名化データ８０のレコードの重複数を計数する。続いて、情報処理装置は、計数した結果を、情報処理装置内に設けられた、レコードの重複数のカウンタである重複数テーブル（Table：TBL）８ｄに登録する。以下の説明では、「テーブル」、「Ｔａｂｌｅ」を、「ＴＢＬ」と略記する場合がある。図３の例に示すように、情報処理装置は、ＡＢＣＤという属性値を含むレコードの重複数「２」を、重複数ＴＢＬ８ｄに登録する。また、情報処理装置は、ＥＦＧＨという属性値を含むレコードの重複数「１」を、重複数ＴＢＬ８ｄに登録する。
【００１９】
続いて、情報処理装置は、匿名化データ８０の各レコードについて、個人が識別される可能性が高いレコードであるか否か検証する。例えば、情報処理装置は、図３の例に示すように、重複数ＴＢＬ８ｄを参照し、各レコードについて、重複数がＮ（Ｎは正の整数）以上であるか否かを判定する。以下、Ｎの値が「２」である場合について説明する。情報処理装置は、重複数がＮ以上となるＡＢＣＤという属性値を含む２件のレコードについては、「ＯＫ」、すなわち、個人が識別される可能性が低いと判定し、２回目の匿名化を行わずに、ターゲットシステムに追加レコードとして配布する。
【００２０】
一方、情報処理装置は、重複数がＮ未満となるＥＦＧＨという属性値を含む１件のレコードについては、「ＮＧ」、すなわち、個人が識別される可能性が高いと判定し、２回目の匿名化を行った上で、ターゲットシステムに追加レコードとして配布する。この結果、図３の例に示すように、検証済みの匿名化データ８２が配布される。なお、図３の例に示すように、検証済みの匿名化データ８２には、２回目の匿名化が行われた結果、ＥＦＧＨという属性値からＦＧという属性値が破棄（隠蔽とも呼ぶ）されたレコード８２ａが含まれている。
【００２１】
そして、情報処理装置は、新たに、ソースシステムから２件のレコードを収集した場合には、収集したレコードを匿名化し、図４の例に示すように、匿名化データ８３を生成する。図４の例では、匿名化データ８３は、ＥＦＧＨという属性値を含む１件のレコードと、ＩＪＫＬという属性値を含む１件のレコードとを有する。
【００２２】
そして、情報処理装置は、匿名化データ８３のレコードについて重複数を計数する。続いて、情報処理装置は、計数した結果を、重複数ＴＢＬ８ｄに反映する。すなわち、図４の例に示すように、情報処理装置は、重複数ＴＢＬ８ｄのＥＦＧＨという属性値を含むレコードの重複数を「１」から「２」に更新し、ＩＪＫＬという属性値を含むレコードの重複数として「１」を登録する。
【００２３】
続いて、情報処理装置は、匿名化データ８３の各レコードについて、個人が識別される可能性が高いレコードであるか否か検証する。例えば、情報処理装置は、図４の例に示すように、重複数ＴＢＬ８ｄを参照し、各レコードについて、重複数がＮ以上であるか否かを判定する。情報処理装置は、重複数がＮ以上となるＥＦＧＨという属性値を含むレコードについては、「ＯＫ」と判定し、２回目の匿名化を行わずに、ターゲットシステムに追加レコードとして配布する。また、ＥＸＸＨ（ＸＸは隠蔽された属性値を総称する）という属性値を含むレコード８２ａについては、個人が識別される可能性が低くなったため、情報処理装置は、レコード８２ａの２回目の匿名化を解除（復元とも呼ぶ）させるように、ターゲットシステムに復元命令を出力する。これにより、図４に示すように、ターゲットシステムでは、隠蔽されたＦＧという属性値をレコード８２ａに登録する。
【００２４】
情報処理装置は、上で述べたような処理を行うことで、収集したデータ群に含まれるデータのうち、「データの一致」というデータ間の所定の条件を満たさないと判定されるデータの量を抑制することができる。この結果、より多くのレコードが、ターゲットシステムにおいて統計処理などの所定の処理を行う際に有効に用いられるようになる。また、一部隠蔽される場合もあるが、新たなレコード群を取得すると、直ぐにターゲットシステムにレコードが追加されるので、即時性にも優れている。
【００２５】
一方、情報処理装置は、重複数がＮ未満となるＩＪＫＬというレコードについては、「ＮＧ」、すなわち、個人が識別される可能性が高いと判定し、２回目の匿名化（隠蔽）を行った上で、ターゲットシステムに追加レコードとして配布する。この結果、図４の例に示すような検証済みの匿名化データ８２が蓄積される。なお、図４の例に示すように、検証済みの匿名化データ８２には、２回目の匿名化が行われた結果、ＩＪＫＬという属性値からＪＫという属性値が隠蔽されたレコード８２ｂが含まれている。
【００２６】
ここで、ソースシステムは、ユーザからの指示などによって、自身のデータベースに格納されているデータの更新又は削除を行う。例えば、ｅｆｇｈという属性値を含むレコードをａｂｃｄという属性値を含むレコードに更新する指示をユーザから受け付けた場合、ソースシステムは次の処理を行う。すなわち、ソースシステムは、自身のデータベースに格納されているｅｆｇｈという属性値を含むレコードをａｂｃｄという属性値を含むレコードに更新する。なお、この場合における更新前のｅｆｇｈという属性値を含むレコードは、図３の例に示す匿名化データ８０のＥＦＧＨという属性値を含むレコードに対して匿名化が行われる前のレコードに対応する。また、ａｂｃｄという属性値を含むレコードは、匿名化が行われるとＡＢＣＤという属性値を含むレコードとなる。そして、ソースシステムは、ｅｆｇｈという属性値を含むレコードをａｂｃｄという属性値を含むレコードに更新したことを示す更新データを情報処理装置に送信する。
【００２７】
情報処理装置は、ｅｆｇｈという属性値を含むレコードをａｂｃｄという属性値を含むレコードに更新したことを示す更新データを受信した場合には、次のような処理を行う。すなわち、情報処理装置は、受信した更新データが示す更新に基づいて、配布されたレコードを更新するようにターゲットシステムに処理命令を出力する。ここで、情報処理装置が受信した更新データは、蓄積されたＥＦＧＨという属性値を含むレコードをＡＢＣＤという属性値を含むレコードに更新することを意味する。
【００２８】
すなわち、情報処理装置が受信した更新データは、ＥＦＧＨという属性値を含むレコードを１件削除し、ＡＢＣＤという属性値を含むレコードを１件追加することを意味する。このため、更新データを受信した情報処理装置は、図５の例に示すように、重複数ＴＢＬ８ｄのＥＦＧＨという属性値を含むレコードの重複数を「２」から「１」に更新し、ＡＢＣＤという属性値を含むレコードの重複数を「２」から「３」に更新する。
【００２９】
そして、情報処理装置は、図５の例に示すように、重複数ＴＢＬ８ｄを参照し、更新前のＥＦＧＨという属性値を含むレコードおよび更新後のＡＢＣＤという属性値を含むレコードについて、重複数がＮ以上であるか否かを判定する。そして、情報処理装置は、重複数がＮ以上となるＡＢＣＤという属性値を含むレコードについては「ＯＫ」と判定し、ＥＦＧＨという属性値を含むレコードをＡＢＣＤという属性値を含むレコードに更新する処理命令をターゲットシステムに配布する。これにより、図５に示すように、ターゲットシステムは、検証済みの匿名化データ８２に含まれるＥＦＧＨという属性値を含むレコード８２ｃをＡＢＣＤという属性値を含むレコードに更新する。
【００３０】
また、情報処理装置は、重複数がＮ未満となるＥＦＧＨという属性値を含む１件のレコードについては、「ＮＧ」と判定する。ここで、ＥＦＧＨという属性値を含む１件のレコードは、今回の更新によって、重複数が「Ｎ」から「Ｎ−１」となった。すなわち、ＥＦＧＨという属性値を含むレコード８２ａは、２回目の匿名化（すなわち隠蔽）が行われていないレコードであり、今回の更新によって、個人が識別される可能性が高くなった。そのため、重複数がＮ未満となるＥＦＧＨという属性値を含む１件のレコードに対して２回目の匿名化を行うことになる。そして、情報処理装置は、ＥＦＧＨという属性値を含むレコードを、ＥＦＧＨという属性値からＦＧの属性値を隠蔽する処理命令をターゲットシステムに送信する。これにより、図５に示すように、ターゲットシステムは、レコード８２ａをＥＦＧＨという属性値からＦＧの属性値が隠蔽された２回目の匿名化後のレコードに更新する。
【００３１】
このように、情報処理装置は、更新に係る情報である更新データを受信した場合に、更新前後のレコードについて重複数がＮ以上であるか否かを判定し、判定結果に応じて、隠蔽、復元、追加といった処理を行う。このように、情報処理装置によれば、更新データを受信するだけで、ターゲットシステムに蓄積されたデータを更新させることができる。
【００３２】
また、情報処理装置は、ｅｆｇｈという属性値を含むレコードを削除したことを表す更新データを受信した場合には、次のような処理を行う。すなわち、情報処理装置は、受信した更新データが示す更新に基づいて、配布されたレコードを更新するようにターゲットシステムに処理命令を出力する。
【００３３】
よって、情報処理装置が受信した更新データは、ＥＦＧＨという属性値を含むレコードを１件削除することを意味する。このため、更新データを受信した情報処理装置は、図６の例に示すように、重複数ＴＢＬ８ｄのＥＦＧＨという属性値を含むレコードの重複数を「１」から「０」に更新する。
【００３４】
そして、情報処理装置は、図６の例に示すように、重複数ＴＢＬ８ｄを参照し、削除前のＥＦＧＨという属性値を含むレコードについて、重複数がＮ−１になったのかを判定する。この場合、既に重複数はＮ未満となっているので、この条件は満たしていない。従って、情報処理装置は、ＥＸＸＨという属性値を含むレコードを削除する処理命令を、ターゲットシステムに出力する。これにより、図６において点線で示すように、ターゲットシステムは、レコード８２ａを削除する。
【００３５】
一方、レコードの削除の指示を受信した場合に削除されるレコードについて削除により重複数がＮ−１になった場合には、情報処理装置は、同一属性値を有するレコードについて隠蔽を行う処理命令をターゲットシステムに出力する。これによって、匿名化のレベルを維持することができるようになる。なお、削除されるレコードについて削除しても重複数がＮ以上であれば、情報処理装置は、単に指示されたレコードを削除する処理命令をターゲットシステムに出力する。ターゲットシステムは、情報処理装置からの処理命令に従って、保持するレコードを更新する。
【００３６】
（ｂ）個人識別可能性
例えば、図３に示した匿名化データ８２が生成された状態において、図７に示すように個人が特定された匿名化データが漏洩してしまうと、図４に示した匿名化データ８２との経時差分から、個人が特定されてしまう場合がある。具体的には、図８に示すハッチング部分が経時差分であるが、下２レコードは新たに追加されたレコードであるから、図３に示した匿名化データ８２において属性値が一部隠蔽されていたとしても、３番目のレコードは、名前「は」のレコードであることが分かってしまう。ここでは、センシティブ情報については図示を省略しているが、レコードにはセンシティブ情報も含まれているため、全体として個人が特定されたセンシティブ情報が外部に漏れてしまう。
【００３７】
また、他の例として、図９Ａに示すような匿名化データが生成された後、５番目のレコードが削除された場合には、図９Ｂに示すような匿名化データが生成される。なお、右側２列は、センシティブ情報を表し、他の部分は匿名化された個人情報を表している。また、図９Ａにおける３番目のレコードについては、Ｎ−１（すなわち１）レコードとなってしまったので、図９Ｂの匿名化データにおいてはＦＧが隠蔽される。ここで、図９Ａと図９Ｂとで経時差分をとると、図９Ｃのようになる。図９Ｃにおいてハッチング部分が、経時差分である。一方、図９Ｂの匿名化データが生成された時点において、図７に示すように個人が特定された匿名化データが漏洩してしまうと、隠蔽が行われた３番目のレコードが名前「は」のレコードであることが分かってしまう。より具体的には、図９Ｂの匿名化データが生成された時点において図７のような漏洩データが入手できた場合には、図９Ｃの５番目のレコードは、図９Ｂの匿名化データには含まれていないので、隠蔽が行われた３番目のレコードのみが名前「は」のレコードに対応してしまう。
【００３８】
（ｃ）本実施の形態における工夫
本実施の形態における基本的な匿名化処理においても、データ漏洩がなければ問題は発生しない。しかし、仮にデータ漏洩が起きてしまった場合に、個人識別可能性に特に影響のある「隠蔽」及び「復元」という処理命令を即時に実行すると、経時差分を用いたデータ解析によって個人識別可能性が出てきてしまうという問題がある。そこで、本実施の形態では、以下に述べるような処理を行うことで、処理命令の実行タイミングを適切に制御することで、個人識別可能性を抑えることができる。特に本実施の形態では、隠蔽又は復元という処理命令が実行された特定のレコードを含むレコード群についての処理命令群については、特定のレコードについて更新や削除といった他の処理命令が来るまで、その処理命令群を実行するタイミングを遅延させるものである。
【００３９】
以下、このような処理を行うためのシステム及び処理内容について説明する。
【００４０】
図１０の例に示すシステム１は、ソースシステム２及び３と、情報処理装置１００と、ターゲットシステム４及び５とを有する。ソースシステム２及び３の数並びにターゲットシステム４及び５の数は、２に限定されるものではなく、１以上の任意の数でよい。また、ソースシステム２及び３と、情報処理装置１００とはネットワーク９０を介して接続され、情報処理装置１００と、ターゲットシステム４及び５とはネットワーク９１を介して接続される。また、情報処理装置１００には、管理者などが操作するクライアント装置１０が、有線又は無線などの任意の通信網を介して接続されている。
【００４１】
ソースシステム２は、データベース（ＤＢ）２ａと出力部２ｂとを有し、ＤＢ２ａに対してレコードの追加、削除又は更新が発生すると、出力部２ｂは、ネットワーク９０を介して、更新などされたレコードについてのデータを、情報処理装置１００に送信する。同様に、ソースシステム３は、ＤＢ３ａ及び出力部３ｂとを有し、ＤＢ３ａに対してレコードの追加、削除又は更新が発生すると、出力部３ｂは、ネットワーク９０を介して、更新などされたレコードについてのデータを、情報処理装置１００に送信する。
【００４２】
また、ターゲットシステム４は、ＤＢ４ａ及び処理実行部４ｂとを有しており、ネットワーク９１を介して情報処理装置１００から処理命令を受信すると、処理実行部４ｂは、ＤＢ４ａに対して処理命令を実行する。また、ターゲットシステム５は、ＤＢ５ａ及び処理実行部５ｂとを有しており、ネットワーク９１を介して情報処理装置１００から処理命令を受信すると、処理実行部５ｂは、ＤＢ５ａに対して処理命令を実行する。
【００４３】
クライアント装置１０は、管理者などから、重複度の閾値Ｎ、その他の設定データを情報処理装置１００に対して出力する。
【００４４】
次に、情報処理装置１００の機能ブロック図を図１１に示す。本実施の形態に係る情報処理装置１００は、匿名化処理部１１０と、処理命令制御部１２０と、データ格納部１３０と、定義データ格納部１４０とを有する。
【００４５】
定義データ格納部１４０は、クライアント装置１０により入力され且つ匿名化処理部１１０及び処理命令制御部１２０によって用いられる設定データ等を格納する。
【００４６】
匿名化処理部１１０は、上で述べた（ａ）基本的な匿名化処理を実行する。そして、匿名化処理部１１０は、匿名化処理の処理結果と当該処理結果を反映させる処理内容とを含む処理命令を、処理命令制御部１２０に出力する。処理命令制御部１２０は、データ格納部１３０に処理命令を一時的保管した上で、処理命令の出力タイミングを判断して、適切なタイミングにて処理命令を、ターゲットシステム４及び５に出力する。
【００４７】
図１２に、本実施の形態に係る処理命令制御部１２０及びデータ格納部１３０の構成例を示す。処理命令制御部１２０は、データ取得部１２１と、設定部１２２と、検証部１２３と、出力部１２４とを有する。また、データ格納部１３０には、処理命令蓄積テーブル１３１と、レコード管理テーブル１３２とが格納される。
【００４８】
データ取得部１２１は、匿名化処理部１１０から処理命令を受信すると、処理命令蓄積テーブル１３１に格納すると共に、設定部１２２に出力する。設定部１２２は、処理命令を受信すると、レコード管理テーブル１３２に設定を行って、検証部１２３に処理を指示する。検証部１２３は、レコード管理テーブル１３２に従って処理命令蓄積テーブル１３１に格納されている処理命令を出力しても良いのか否かを検証する。検証部１２３は、処理命令蓄積テーブル１３１に格納されている処理命令を出力できないと判定すれば何もしないが、処理命令を出力できると判定すると、出力部１２４に対して出力指示を出力する。出力部１２４は、検証部１２３からの出力指示に応じて、処理命令蓄積テーブル１３１に格納されている処理命令を、ターゲットシステム４及び５に出力する。
【００４９】
次に、図１３乃至図２８を用いて、情報処理装置１００の処理内容について説明する。まず、匿名化処理部１１０は、ソースシステム２又は３からデータを収集するデータ収集処理を実行する（図１３：ステップＳ１）。例えば図１４に示すようなデータが収集される。図１４の例では、各レコードには、個人識別子（ＩＤ）と、氏名と、性別と、年齢と、身長と、体重とが含まれる。なお、番号（Ｎｏ．）は、この後の処理の説明においてレコードを識別しやすくするために、便宜上付加したもので、実際には含まれない。
【００５０】
また、匿名化処理部１１０は、定義データ格納部１４０に格納されているデータに従って、所定のデータ変換処理を実行する（ステップＳ３）。定義データ格納部１４０に格納されている定義データの一例を図１５に示す。図１５の例では、匿名化の判定基準である重複数と、各項目について検証の対象か否かを示すデータと、各項目について隠蔽の対象か否かを示すデータとが含まれる。図１５の例では、「性別」「年齢」「身長」「体重」が項目として列挙されており、個人情報においてそれ以外の項目のデータについては、匿名化のために破棄されるものとする。具体的には「個人ＩＤ」及び「氏名」については破棄される。本実施の形態では、検証の対象として指示されている項目については、曖昧化の一例として、予め定められた値域のいずれに属するかという判定を行って、その値域を特定するためのデータに置換するものとする。そうすると、図１４のデータは、図１６に示すデータに変換されることになる。なお、センシティブ情報については、図１４及び図１６についても省略している。
【００５１】
その後、匿名化処理部１１０は、データ変換処理の処理結果に対してデータ検証処理を実行する（ステップＳ５）。このデータ検証処理については、データ変換以外であって図３乃至図６を用いて説明した処理を実行する。
【００５２】
図１６に示したデータを最初に処理する場合には、レコード番号「１」「２」「５」「６」「７」「９」のレコードについては、重複数「２」以上となるので、これらのレコードについては、そのまま「追加」処理を行うことになる。従って、図１７に示すように、レコード管理ＩＤと処理内容「追加」が、それらの各レコードに設定される。処理内容が含まれるので、これらは処理命令として取り扱われる。
【００５３】
さらに、一方、レコード番号「３」「４」「８」「１０」のレコードについては、重複数「２」未満なので、これらのレコードについては、後の処理のために図１８に示すようにレコード管理ＩＤを付与した上で保持しておく。さらに、レコード番号「３」「４」「８」「１０」のレコードについては２回目の匿名化処理、すなわち隠蔽を行うと共に、図１８と同じレコード管理ＩＤを付与して、さらに処理内容「追加」を付与する。すなわち、図１９に示すような処理命令が得られる。結果として、図２０に示すような処理命令群が生成されることになる。図２０の例では、図１７及び図１９の処理命令群に加えて、終了フラグが付与される。終了フラグは、今回処理対象となる処理命令群における最後の処理命令であるか否かを判別できるようにするためのフラグであり、レコード番号「１０」のみが「ＹＥＳ」に設定される。
【００５４】
その後、匿名化処理部１１０は、図２０に示すような処理命令群を、処理命令制御部１２０に出力する。
【００５５】
処理命令制御部１２０は、匿名化処理部１１０から受け取った処理命令群に対して命令制御処理を実行する（ステップＳ７）。命令制御処理については、図２１乃至図２８を用いて説明する。なお、処理はステップＳ７を実行すると終了する。
【００５６】
処理命令制御部１２０のデータ取得部１２１は、匿名化処理部１１０から受け取った処理命令群のうち、未処理の１処理命令を、データ格納部１３０における処理命令蓄積テーブル１３１に格納する（ステップＳ１１）。具体的には先頭から順番に選択する。また、データ取得部１２１は、当該処理命令を設定部１２２に出力する。
【００５７】
設定部１２２は、当該処理命令からレコード管理ＩＤ及び処理内容を抽出し（ステップＳ１３）、データ格納部１３０におけるレコード管理テーブル１３２に、抽出されたレコード管理ＩＤと同一のレコード管理ＩＤのレコードが登録されているか判断する（ステップＳ１５）。初めてレコードを追加するような場合には、抽出されたレコード管理ＩＤと同一のレコード管理ＩＤのデータがレコード管理テーブル１３２に登録されていることはない。
【００５８】
抽出されたレコード管理ＩＤと同一のデータが未登録であれば（ステップＳ１５：Ｎｏルート）、設定部１２２は、抽出された処理内容が「隠蔽」又は「復元」であるか判断する（ステップＳ１７）。これらの操作のみが行われた場合には、経時差分を取った場合に個人識別可能性が高まることが分かっているので、ここで確認している。抽出された処理内容が「隠蔽」又は「復元」である場合には、設定部１２２は、検証結果「ＮＧ」と抽出されたレコード管理ＩＤとをレコード管理テーブル１３２に格納する（ステップＳ１９）。そして処理はステップＳ２５に移行する。一方、抽出された処理内容が「隠蔽」又は「復元」ではない場合には、設定部１２２は、検証結果「ＯＫ」と抽出されたレコード管理ＩＤとをレコード管理テーブル１３２に格納する（ステップＳ２１）。そして処理はステップＳ２５に移行する。
【００５９】
例えば、図２０に示すような処理命令群については、全てステップＳ２１を経由して処理されて図２２に示すようなレコード管理テーブル１３２が得られるようになる。
【００６０】
一方、レコード管理テーブル１３２に、抽出されたレコード管理ＩＤと同一のデータが登録されていれば（ステップＳ１５：Ｙｅｓルート）、「隠蔽」又は「復元」したレコードに対して「更新」又は「削除」する場合、「隠蔽」したレコードを「復元」する場合、「復元」したレコードを「隠蔽」する場合であり、これらは経時差分を取られても問題ない場合である。従って、設定部１２２は、レコード管理テーブル１３２において、抽出されたレコード管理ＩＤの検証結果を「ＯＫ」に変更する（ステップＳ２３）。そして処理はステップＳ２５に移行する。
【００６１】
そして、設定部１２２は、取得された処理命令群の最後であるか、すなわち処理に係る処理命令の終了フラグが「ＹＥＳ」を表しているか判断する（ステップＳ２５）。処理命令の終了フラグが「ＮＯ」であれば、処理はステップＳ１１に戻る。
【００６２】
一方、処理に係る処理命令の終了フラグが「ＹＥＳ」であれば、設定部１２２は、検証部１２３に処理を指示する。検証部１２３は、データ格納部１３０におけるレコード管理テーブル１３２において、検証結果がＮＧのレコードが存在しているか判断する（ステップＳ２７）。１つでも検証結果がＮＧのレコードが存在する場合には、経時差分を取った場合に個人識別可能性が高くなるので、ターゲットシステム４及び５に処理命令蓄積テーブル１３１に格納されている処理命令を出力しない。
【００６３】
一方、１つも検証結果がＮＧであるレコードが存在しない場合には、検証部１２３は、出力部１２４に処理を指示する。なお、検証部１２３は、この段階でレコード管理テーブル１３２に格納されているデータをクリアする。出力部１２４は、処理命令蓄積テーブル１３１に格納されている処理命令群を読み出して、ターゲットシステム４及び５に出力する（ステップＳ２９）。
【００６４】
ターゲットシステム４及び５の処理実行部４ｂ及び５ｂは、情報処理装置１００から受信した処理命令群を順番にＤＢ４ａ及び５ａに対して実行する。そうすると、図２０の例では、図２３に示すようなデータが、ＤＢ４ａ及び５ｂに蓄積されるようになる。図２３でも、センシティブ情報は省略されている。
【００６５】
次に、処理命令制御部１２０は、図２４に示すような処理命令群を受信したものとする。これは、レコード管理ＩＤ「ａａａ１１」のレコードを追加することで、レコード管理ＩＤ「ａａａ０４」のレコードを復元することになった場合を示している。
【００６６】
このような処理命令群に対して図２１に示した処理フローを実行すると、図２５に示すようなレコード管理テーブル１３２が得られるようになる。すなわち、レコード管理ＩＤ「ａａａ０４」については処理内容「復元」であるから、検証結果は「ＮＧ」となり、レコード管理ＩＤ「ａａａ１１」については処理内容「追加」であるから、検証結果は「ＯＫ」となる。そうなると、経時差分から個人識別可能性を高めることになるので、これらの処理命令を出力しないようにする。
【００６７】
次に、処理命令制御部１２０は、図２６に示すような処理命令群を受信したものとする。これは、レコード管理ＩＤ「ａａａ０４」のレコードにおける年齢、身長及び体重を更新したため、重複度がＮを下回わり、レコード管理ＩＤ「ａａａ１１」のレコードを隠蔽することになったことを示している。
【００６８】
このような処理命令群に対して図２１に示した処理フローを実行すると、図２７に示すようなレコード管理テーブル１３２が得られるようになる。すなわち、いずれのレコード管理ＩＤについての検証結果も「ＯＫ」になるので、図２４及び図２６に示した処理命令群は、ターゲットシステム４及び５に出力されることになる。
【００６９】
結果としては、ターゲットシステム４及び５のＤＢ４ｂ及び５ｂには、図２８に示すようなデータが蓄積されるようになる。図２８の例では、レコード管理ＩＤ「ａａａ０４」のレコードが更新されており、レコード管理ＩＤ「ａａａ１１」のレコードが隠蔽された状態で追加される。
【００７０】
このような処理を実行することで、匿名化処理を確実に行うと共に、経時差分によるデータ解析を行っても個人識別可能性を抑えることができるようになる。
【００７１】
［実施の形態２］
第１の実施の形態では、復元又は隠蔽が行われたレコードについて再度処理命令が出力されないと、その処理命令を含む処理命令群が、ターゲットシステム４及び５に出力されないため、データ更新がなかなか行われないケースが生じ得る。そこで、本実施の形態では、可能な限り個人識別可能性を抑えるが、即時性を優先させる場合の実施の形態を説明する。
【００７２】
本実施の形態に係る処理命令制御部１２０ｂ及びデータ格納部１３０ｂの構成例を図２９に示す。
【００７３】
処理命令制御部１２０ｂは、データ取得部１２１ｂと、検証部１２３ｂと、出力部１２４ｂとを有する。また、データ格納部１３０ｂには、処理命令蓄積テーブル１３１ｂが格納される。
【００７４】
次に、図３０を用いて、命令制御処理の処理内容について説明する。まず、データ取得部１２１ｂは、匿名化処理部１１０から処理命令群を受信すると、処理命令蓄積テーブル１３１ｂに格納する（図３０：ステップＳ３１）。本実施の形態では、終了フラグは用いられないので、匿名化処理部１１０も終了フラグを添付しないでも良い。そして、データ取得部１２１ｂは、検証部１２３ｂに処理を指示する。
【００７５】
検証部１２３ｂは、データ格納部１３０ｂにおける処理命令蓄積テーブル１３１ｂに格納されている処理命令に基づき、予め定められた指標値を算出する（ステップＳ３３）。本実施の形態では、例えば３つの指標値のいずれかを算出する。
【００７６】
すなわち、（Ａ）処理命令の総数、（Ｂ）個人識別可能性とは関係のない処理命令（「復元」及び「隠蔽」以外の処理命令）の数、（Ｃ）個人識別可能性に関係のある処理命令（「復元」又は「隠蔽」）の数に対する処理命令の総数の割合（＝処理命令の総数に対する個人識別可能性に関係のある処理命令の割合の逆数）のいずれかである。
【００７７】
本実施の形態においては、ある程度の数の処理命令を実行すれば、様々な処理バリエーションが考えられるため、容易に推定ができなくなるという考え方に基づいている。（Ｂ）の場合には、「隠蔽」や「復元」という処理命令が多数来ていないことを確認するものである。また、（Ｃ）の場合には、隠蔽や復元という処理命令の割合が少ないことを確認するためであり、隠蔽や復元という処理命令の割合が少なければ（Ｃ）の指標値が大きくなる。
【００７８】
そして、検証部１２３ｂは、指標値が、定義データ格納部１４０に格納されている条件を満たしているか否かを判断する（ステップＳ３５）。条件は、例えば閾値であり、例えば（Ａ）及び（Ｂ）の指標値であれば閾値「４」以上であるという条件であり、（Ｃ）の指標値であれば閾値「４」以上であるという条件である。（Ｃ）の指標値であれば、隠蔽や復元という処理命令の４倍以上の処理命令群が得られることを条件としている。
【００７９】
なお、これらの閾値については実験的に、個人識別可能性を検証した上で決定される場合もある。
【００８０】
そして、指標値が条件を満たしていなければ、処理は終了する。一方、指標値が条件を満たしていれば、検証部１２３ｂは、出力部１２４ｂに処理を指示する。そうすると、出力部１２４ｂは、処理命令蓄積テーブル１３１ｂに格納されている処理命令群を、ターゲットシステム４及び５に出力する（ステップＳ３７）。
【００８１】
このような処理を実行することによって、ある程度の処理命令群を受信すればターゲットシステム４及び５に処理命令群を出力することになるので、処理命令群を受け取る度に出力する場合と比べると頻度は低下するが、データ更新の即時性をあまり損ねずに、個人識別可能性をある程度抑えることができるようになる。
【００８２】
［実施の形態３］
第１の実施の形態と第２の実施の形態を組み合わせることによって、データ更新を比較的多頻度で行いつつ、経時差分を用いたデータ解析による個人識別可能性を効果的に抑制できるようになる。
【００８３】
本実施の形態に係る処理命令制御部１２０ｃ及びデータ格納部１３０ｃの構成例を図３１に示す。処理命令制御部１２０ｃは、データ取得部１２１ｃと、設定部１２２ｃと、第１検証部１２５と、第２検証部１２６と、出力部１２４ｃとを有する。また、データ格納部１３０ｃには、処理命令蓄積テーブル１３１ｃと、レコード管理テーブル１３２ｃとが格納される。
【００８４】
第１検証部１２５は、第１の実施の形態に係る検証部１２３と同様の処理を実行する。第２検証部１２６は、第２の実施の形態に係る検証部１２３ｂと同様の処理を実行する。
【００８５】
次に、図３２を用いて処理命令制御部１２０ｃの処理内容について説明する。
【００８６】
処理命令制御部１２０ｃのデータ取得部１２１ｃは、匿名化処理部１１０から受け取った処理命令群のうち、未処理の１処理命令を、データ格納部１３０ｃにおける処理命令蓄積テーブル１３１ｃに格納する（ステップＳ４１）。具体的には先頭から順番に選択する。また、データ取得部１２１ｃは、当該処理命令を設定部１２２ｃに出力する。
【００８７】
設定部１２２ｃは、当該処理命令からレコード管理ＩＤ及び処理内容を抽出し（ステップＳ４３）、データ格納部１３０ｃにおけるレコード管理テーブル１３２ｃに、抽出されたレコード管理ＩＤと同一のレコード管理ＩＤのレコードが登録されているか判断する（ステップＳ４５）。初めてレコードを追加するような場合には、抽出されたレコード管理ＩＤと同一のレコード管理ＩＤのデータがレコード管理テーブル１３２ｃに登録されていることはない。
【００８８】
抽出されたレコード管理ＩＤと同一のデータが未登録であれば（ステップＳ４５：Ｎｏルート）、設定部１２２ｃは、抽出された処理内容が「隠蔽」又は「復元」であるか判断する（ステップＳ４７）。これらの操作のみが行われた場合には、経時差分を取った場合に個人識別可能性が高まることが分かっているので、ここで確認している。抽出された処理内容が「隠蔽」又は「復元」である場合には、設定部１２２ｃは、検証結果「ＮＧ」と抽出されたレコード管理ＩＤとをレコード管理テーブル１３２ｃに格納する（ステップＳ４９）。そして処理はステップＳ５５に移行する。一方、抽出された処理内容が「隠蔽」又は「復元」ではない場合には、設定部１２２ｃは、検証結果「ＯＫ」と抽出されたレコード管理ＩＤとをレコード管理テーブル１３２ｃに格納する（ステップＳ５１）。そして処理はステップＳ５５に移行する。
【００８９】
一方、レコード管理テーブル１３２ｃに、抽出されたレコード管理ＩＤと同一のデータが登録されていれば（ステップＳ４５：Ｙｅｓルート）、「隠蔽」又は「復元」したレコードに対して「更新」又は「削除」する場合、「隠蔽」したレコードを「復元」する場合、「復元」したレコードを「隠蔽」する場合であり、これらは経時差分を取られても問題ない場合である。従って、設定部１２２ｃは、レコード管理テーブル１３２ｃにおいて、抽出されたレコード管理ＩＤの検証結果を「ＯＫ」に変更する（ステップＳ５３）。そして処理はステップＳ５５に移行する。
【００９０】
そして、設定部１２２ｃは、取得された処理命令群の最後であるか、すなわち処理に係る処理命令の終了フラグが「ＹＥＳ」を表しているか判断する（ステップＳ５５）。処理命令の終了フラグが「ＮＯ」であれば、処理はステップＳ４１に戻る。
【００９１】
一方、処理に係る処理命令の終了フラグが「ＹＥＳ」であれば、設定部１２２ｃは、第１検証部１２５に処理を指示する。第１検証部１２５は、データ格納部１３０ｃにおけるレコード管理テーブル１３２ｃにおいて、検証結果がＮＧのレコードが存在しているか判断する（ステップＳ５７）。本実施の形態では、同じレコードに対して再度の処理命令が出力されないと処理命令群がいつまでも出力されないという問題を回避するため、検証結果がＮＧのレコードが存在している場合には、第１検証部１２５は、第２検証部１２６に対して処理を指示する。第２検証部１２６は、データ格納部１３０ｃにおける処理命令蓄積テーブル１３１ｃに格納されている処理命令に基づき、予め定められた指標値を算出する（ステップＳ５９）。本実施の形態でも、第２の実施の形態と同様に、例えば３つの指標値のいずれかを算出する。
【００９２】
すなわち、（Ａ）処理命令の総数、（Ｂ）個人識別可能性とは関係のない処理命令（「復元」及び「隠蔽」以外の処理命令）の数、（Ｃ）個人識別可能性に関係のある処理命令（「復元」又は「隠蔽」）の数に対する処理命令の総数の割合（＝処理命令の総数に対する個人識別可能性に関係のある処理命令の割合の逆数）のいずれかである。
【００９３】
そして、第２検証部１２６は、指標値が、定義データ格納部１４０に格納されている条件を満たしているか否かを判断する（ステップＳ６１）。条件は、例えば閾値であり、例えば（Ａ）及び（Ｂ）の指標値であれば閾値「４」以上であるという条件であり、（Ｃ）の指標値であれば閾値「４」以上であるという条件である。（Ｃ）の指標値であれば、隠蔽や復元という処理命令の４倍以上の処理命令が得られることを条件としている。なお、これらの閾値については実験的に、個人識別可能性を検証した上で決定される場合もある。
【００９４】
そして、指標値が条件を満たしていなければ、処理は終了する。一方、指標値が条件を満たしていれば、第２検証部１２６は、出力部１２４ｃに処理を指示する。また、第２検証部１２６は、レコード管理テーブル１３２ｃをクリアする。そうすると、出力部１２４ｃは、処理命令蓄積テーブル１３１ｃに格納されている処理命令群を、ターゲットシステム４及び５に出力する（ステップＳ６３）。
【００９５】
一方、１つも検証結果がＮＧのレコードが存在しない場合には、第１検証部１２５は、出力部１２４ｃに処理を指示する。また、第１検証部１２５は、レコード管理テーブル１３２ｃをクリアする。すなわち、処理はステップＳ６３に移行する。
【００９６】
ターゲットシステム４及び５の処理実行部４ｂ及び５ｂは、情報処理装置１００から受信した処理命令群を順番にＤＢ４ａ及び５ａに対して実行する。
【００９７】
このような処理を実行することで、データ更新の即時性をある程度担保しつつ、経時差分によるデータ解析が行われても個人識別可能性を抑えることができるようになる。
【００９８】
以上本技術の実施の形態を説明したが、本技術はこれに限定されない。例えば、上で述べた情報処理装置１００の機能ブロック構成は一例であり、プログラムモジュール構成とは一致しない場合もある。さらに、処理フローについても、処理結果が変わらない限り、処理順番を入れ替えたり、処理を並列実行するようにしても良い。
【００９９】
なお、上で述べた情報処理装置１００、ソースシステム２及び３、並びにターゲットシステム４及び５は、１又は複数のコンピュータ装置であって、図３３に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１００】
以上述べた本実施の形態をまとめると、以下のようになる。
【０１０１】
本実施の形態に係る情報処理方法は、（Ａ）所定の関係を有する複数のデータブロックが存在するか否かに基づき実行される匿名化処理がなされたデータブロックを格納するデータ格納部に格納されているデータブロックに対する処理命令であって、匿名化処理の処理結果と当該処理結果を反映させる処理の内容とを含む１又は複数の処理命令を受信し、（Ｂ）受信された１又は複数の処理命令を含む出力前の処理命令が所定の条件を満たしているか判断し、（Ｃ）所定の条件を満たしている場合には、出力前の処理命令を出力し、（Ｄ）所定の条件を満たしていない場合には、出力前の処理命令を保持する処理を含む。
【０１０２】
個人識別可能性が十分抑えられるようになるまで処理命令の出力を抑止するものである。
【０１０３】
上記判断する処理が、出力前の処理命令の数、出力前の処理命令のうち第１の種類の処理内容を含む処理命令の割合の逆数、又は出力前の処理命令のうち第１の種類とは異なる第２の種類の処理内容を含む処理命令の数が、閾値以上であるか否かを判断する処理を含むようにしても良い。閾値を適切に設定することで、データ更新の即時性をあまり損なわずに、処理命令を出力できるようになる。
【０１０４】
また、上記判断する処理が、出力前の処理命令に、第１の種類の処理内容を含む処理命令が含まれていれば、当該処理命令の対象となるデータブロックと同一のデータブロックを対象とする他の処理内容を含む処理命令が含まれているという第１の条件、又は第１の種類の処理内容を含む処理命令が含まれていないという第２の条件を満たしているかを判断する処理を含むようにしても良い。個人識別可能性に影響がある第１の種類の処理内容に着目して、経時差分を用いたデータ解析によっても個人識別可能性が抑えられるようになる。
【０１０５】
さらに、上記判断する処理が、第１の条件及び第２の条件を満たしていない場合、第１の条件及び第２の条件を満たしていない場合、出力前の処理命令の数、出力前の処理命令のうち第１の種類の処理内容を含む処理命令の割合の逆数、又は出力前の処理命令のうち第１の種類とは異なる第２の種類の処理内容を含む処理命令の数が、閾値以上であるか否かを判断する処理をさらに含むようにしても良い。このようにすれば、データ更新の即時性と個人識別可能性の抑制とをバランスさせることができるようになる。
【０１０６】
さらに、第１の種類の処理内容が、データ格納部に格納されている特定のデータブロックに含まれる一部の属性値の隠蔽及びデータ格納部に格納されている特定のデータブロックに含まれる属性値の復元を含むようにしても良い。これらの処理内容については、個人識別可能性に影響がある処理内容であり、これらに着目するものである。
【０１０７】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【０１０８】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０９】
（付記１）
所定の関係を有する複数のデータブロックが存在するか否かに基づき実行される匿名化処理がなされたデータブロックを格納するデータ格納部に格納されているデータブロックに対する処理命令であって、前記匿名化処理の処理結果と当該処理結果を反映させる処理の内容とを含む１又は複数の処理命令を受信し、
受信された前記１又は複数の処理命令を含む出力前の処理命令が所定の条件を満たしているか判断し、
前記所定の条件を満たしている場合には、前記出力前の処理命令を出力し、
前記所定の条件を満たしていない場合には、前記出力前の処理命令を保持する
処理を、コンピュータに実行させるための情報処理プログラム。
【０１１０】
（付記２）
前記判断する処理が、
前記出力前の処理命令の数、前記出力前の処理命令のうち第１の種類の処理内容を含む処理命令の割合の逆数、又は前記出力前の処理命令のうち前記第１の種類とは異なる第２の種類の処理内容を含む処理命令の数が、閾値以上であるか否かを判断する処理
を含む付記１記載の情報処理プログラム。
【０１１１】
（付記３）
前記判断する処理が、
前記出力前の処理命令に、第１の種類の処理内容を含む処理命令が含まれていれば、当該処理命令の対象となるデータブロックと同一のデータブロックを対象とする他の処理内容を含む処理命令が含まれているという第１の条件、又は前記第１の種類の処理内容を含む処理命令が含まれていないという第２の条件を満たしているかを判断する処理
を含む付記１記載の情報処理プログラム。
【０１１２】
（付記４）
前記判断する処理が、
前記第１の条件及び前記第２の条件を満たしていない場合、前記出力前の処理命令の数、前記出力前の処理命令のうち前記第１の種類の処理内容を含む処理命令の割合の逆数、又は前記出力前の処理命令のうち前記第１の種類とは異なる第２の種類の処理内容を含む処理命令の数が、閾値以上であるか否かを判断する処理
をさらに含む付記３記載の情報処理プログラム。
【０１１３】
（付記５）
前記第１の種類の処理内容が、前記データ格納部に格納されている特定のデータブロックに含まれる一部の属性値の隠蔽及び前記データ格納部に格納されている特定のデータブロックに含まれる属性値の復元を含む
付記２乃至４のいずれか１つ記載の情報処理プログラム。
【０１１４】
（付記６）
所定の関係を有する複数のデータブロックが存在するか否かに基づき実行される匿名化処理がなされたデータブロックを格納するデータ格納部に格納されているデータブロックに対する処理命令であって、前記匿名化処理の処理結果と当該処理結果を反映させる処理の内容とを含む１又は複数の処理命令を受信し、
受信された前記１又は複数の処理命令を含む出力前の処理命令が所定の条件を満たしているか判断し、
前記所定の条件を満たしている場合には、前記出力前の処理命令を出力し、
前記所定の条件を満たしていない場合には、前記出力前の処理命令を保持する
処理を含み、コンピュータにより実行させる情報処理方法。
【０１１５】
（付記７）
所定の関係を有する複数のデータブロックが存在するか否かに基づき実行される匿名化処理がなされたデータブロックを格納するデータ格納部に格納されているデータブロックに対する処理命令であって、前記匿名化処理の処理結果と当該処理結果を反映させる処理の内容とを含む１又は複数の処理命令を取得する取得部と、
受信された前記１又は複数の処理命令を含む出力前の処理命令が所定の条件を満たしているか判断する判断部と、
前記所定の条件を満たしている場合には、前記出力前の処理命令を出力する出力部と、
を有し、
前記所定の条件を満たしていない場合には、前記出力前の処理命令が保持される
情報処理装置。
【符号の説明】
【０１１６】
１００  情報処理装置
１１０  匿名化処理部
１２０  処理命令制御部
１２１  データ取得部
１２２  設定部
１２３  検証部
１２４  出力部
１２５  第１検証部
１２６  第２検証部
【図１】
2014127037.tif 000003
【図２】
2014127037.tif 000004
【図３】
2014127037.tif 000005
【図４】
2014127037.tif 000006
【図５】
2014127037.tif 000007
【図６】
2014127037.tif 000008
【図７】
2014127037.tif 000009
【図８】
2014127037.tif 000010
【図９Ａ】
2014127037.tif 000011
【図９Ｂ】
2014127037.tif 000012
【図９Ｃ】
2014127037.tif 000013
【図１０】
2014127037.tif 000014
【図１１】
2014127037.tif 000015
【図１２】
2014127037.tif 000016
【図１３】
2014127037.tif 000017
【図１４】
2014127037.tif 000018
【図１５】
2014127037.tif 000019
【図１６】
2014127037.tif 000020
【図１７】
2014127037.tif 000021
【図１８】
2014127037.tif 000022
【図１９】
2014127037.tif 000023
【図２０】
2014127037.tif 000024
【図２１】
2014127037.tif 000025
【図２２】
2014127037.tif 000026
【図２３】
2014127037.tif 000027
【図２４】
2014127037.tif 000028
【図２５】
2014127037.tif 000029
【図２６】
2014127037.tif 000030
【図２７】
2014127037.tif 000031
【図２８】
2014127037.tif 000032
【図２９】
2014127037.tif 000033
【図３０】
2014127037.tif 000034
【図３１】
2014127037.tif 000035
【図３２】
2014127037.tif 000036
【図３３】
2014127037.tif 000037