(57)【要約】      （修正有）【課題】プライバシ情報提供者がプライバシ情報を利用者に提供してしまった後でも、そのプライバシ情報に関して制御できるようにする。【解決手段】操作監視部と、操作割込部と、プライバシ情報開示部と、プライバシ情報開示判定部と、プライバシ情報秘匿部と、派生プライバシ情報登録部とを備え、プライバシ情報を利用するプログラムが実行しようとする操作を監視し、その操作の種類によって、開示可能なプライバシ情報を開示して参照できるようにしたり、漏洩する可能性がある操作に開示されたプライバシ情報を強制的に秘匿したり、操作を置き換えるよう動作する。このような構成を採用し、プライバシ情報を秘匿化した状態で配布し、プライバシ情報の開示制御をすることができる。【選択図】図３
2010134731.tif 000002
【特許請求の範囲】
【請求項１】
プライバシ情報を利用するプログラムにより該プライバシ情報に対して実行される操作を監視する操作監視部と、
前記プログラムの前記操作が秘匿化プライバシ情報を参照する操作であるとき、前記プログラムの実行をフックし、前記秘匿化プライバシ情報の開示を指示する操作割込部と、
秘匿化プライバシ情報の開示の条件を示す開示ポリシに基づいて、前記秘匿化プライバシ情報の開示が可能かどうかを判定するプライバシ情報開示判定部と、
前記プライバシ情報開示判定部により開示が可能であると判定されたとき、前記操作割込部からの指示に応答して前記秘匿化プライバシ情報を復号化して、開示プライバシ情報を生成するプライバシ開示部と
を備え、
前記操作割込部は、前記プログラムの前記操作を前記秘匿化プライバシ情報を参照する操作から前記開示プライバシ情報を参照する操作に変更して前記プログラムに前記操作の後の処理を継続させる
プライバシ情報保護システム。
【請求項２】
請求項１に記載のプライバシ情報保護システムにおいて、
前記秘匿化プライバシ情報と前記開示プライバシ情報とを関連付ける管理情報を保持するプライバシ管理情報格納部を
更に備える
プライバシ情報保護システム。
【請求項３】
請求項２に記載のプライバシ情報保護システムにおいて、
前記プライバシ管理情報格納部を参照して、前記開示プライバシ情報の前記管理情報に基づいて前記開示プライバシ情報を再秘匿化プライバシ情報に変換するプライバシ情報秘匿化部
を更に備え、
前記操作割込部は、前記プログラムの前記操作が、前記開示プライバシ情報が漏洩する可能性のある操作であるとき、前記プログラムの実行をフックし、前記開示プライバシ情報を前記再秘匿化プライバシ情報に変換するように前記プライバシ情報秘匿化部に指示を発行し、前記再秘匿化プライバシ情報への変換が終了したとき、前記プログラムの前記操作を前記開示プライバシ情報に対する操作から前記再秘匿化開示プライバシ情報を参照する操作に変更して前記プログラムに前記操作の後の処理を継続させる
プライバシ情報保護システム。
【請求項４】
請求項３に記載のプライバシ情報保護システムにおいて、
前記プライバシ情報秘匿化部は、前記再秘匿化プライバシ情報の管理情報を前記プライバシ管理情報格納部に格納する
プライバシ情報保護システム。
【請求項５】
請求項２に記載のプライバシ情報保護システムにおいて、
前記プライバシ管理情報格納部を参照して、派生元プライバシ情報としての前記開示プライバシ情報の前記管理情報を取得し、前記取得された管理情報を前記派生元プライバシ情報から生成される派生プライバシ情報と関連付けて前記プライバシ管理情報格納部に格納する派生プライバシ情報登録部
を更に具備し、
前記操作割込部は、前記プログラムの前記操作が、前記派生元プライバシ情報から前記派生プライバシ情報を生成する操作であるとき、前記プログラムの実行をフックし、前記派生プライバシ情報の前記管理情報が前記プライバシ管理情報格納部に格納された後、前記プログラムに前記操作の後の処理を継続させる
プライバシ情報保護システム。
【請求項６】
請求項１ないし５のいずれか一項に記載のプライバシ情報保護システムにおいて、
前記操作割込部からの前記操作のログを保持する操作ログ格納部
を更に備える
プライバシ情報保護システム。
【請求項７】
プライバシ情報を利用するプログラムにより該プライバシ情報に対して実行される操作を監視するステップと、
前記プログラムの前記操作が秘匿化プライバシ情報を参照する操作であるとき、前記プログラムの実行をフックして、前記秘匿化プライバシ情報の開示を指示する開示指示ステップと、
前記開示指示に応答して、前記秘匿化プライバシ情報の開示の条件を示す開示ポリシに基づいて、前記秘匿化プライバシ情報の開示が可能かどうかを判定するステップと、
前記秘匿化プライバシ情報の開示が可能であると判定されたとき、前記秘匿化プライバシ情報を復号化して、開示プライバシ情報を生成する開示ステップと、
前記プログラムの前記操作を前記秘匿化プライバシ情報を参照する操作から前記開示プライバシ情報を参照する操作に変更して前記プログラムに前記操作の後の処理を継続させるステップと
を備える
プライバシ情報保護方法。
【請求項８】
請求項７に記載のプライバシ情報保護方法において、
前記秘匿化プライバシ情報と前記開示プライバシ情報とを関連付ける管理情報をプライバシ管理情報格納部に格納するステップ
を更に備える
プライバシ情報保護方法。
【請求項９】
請求項８に記載のプライバシ情報保護方法において、
前記プログラムの前記操作が、前記開示プライバシ情報が漏洩する可能性のある操作であるとき、前記プログラムの実行をフックして、前記開示プライバシ情報を前記再秘匿化プライバシ情報に変換するように前記プライバシ情報秘匿化部に再変換指示を発行するステップと、
前記プライバシ管理情報格納部を参照して、前記開示プライバシ情報の前記管理情報に基づいて前記開示プライバシ情報を再秘匿化プライバシ情報に変換するステップと、
前記再秘匿化プライバシ情報への変換が終了したとき、前記プログラムの前記操作を前記開示プライバシ情報に対する操作から前記再秘匿化開示プライバシ情報を参照する操作に変更して前記プログラムに前記操作の後の処理を継続させるステップと
を更に備える
プライバシ情報保護方法。
【請求項１０】
請求項９に記載のプライバシ情報保護方法において、
前記再秘匿化プライバシ情報の管理情報を前記プライバシ管理情報格納部に格納するステップ
を更に備える
プライバシ情報保護方法。
【請求項１１】
請求項８ないし１０のいずれか一項に記載のプライバシ情報保護方法において、
前記プライバシ管理情報格納部を参照して、派生元プライバシ情報としての前記開示プライバシ情報の前記管理情報を取得するステップと、
前記取得された管理情報を前記派生元プライバシ情報から生成される派生プライバシ情報と関連付けて前記プライバシ管理情報格納部に格納するステップと、
前記プログラムの前記操作が、前記派生元プライバシ情報から前記派生プライバシ情報を生成する操作であるとき、前記プログラムの実行をフックするステップと、
前記派生プライバシ情報の前記管理情報が前記プライバシ管理情報格納部に格納された後、前記プログラムに前記操作の後の処理を継続させるステップと
を更に備える
プライバシ情報保護方法。
【請求項１２】
請求項７ないし１１のいずれか一項に記載のプライバシ情報保護方法において、
前記操作のログを操作ログ格納部に格納するステップ
を更に備える
プライバシ情報保護方法。
【請求項１３】
請求項７ないし１２のいずれか一項に記載のプライバシ情報保護方法を実現するための計算機によって実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プライバシ情報保護システムとその方法に関し、特に、プライバシ情報利用者側でプライバシ情報の開示・秘匿制御を実現するプライバシ情報保護システム、プライバシ情報保護方法、およびそのためのプログラムに関する。
【背景技術】
【０００２】
従来のプライバシ情報保護システムの例が、特許文献１（特開２００４−１０２９１３号公報）、特許文献２（特開２００５−０９９９４４号公報）に記載されている。
【０００３】
図１に示される第１の従来例では、プライバシ情報保護システムは、個人情報管理部と、利用許可要求管理部と、サービス利用者用入出力部、情報利用希望者用入出力部とを備えている。このような構成を有する従来のプライバシ情報保護システムはつぎのように動作する。すなわち、プライバシ情報利用サービスを受けたい者は、情報利用希望者用入出力部から、利用したいプライバシ情報に対する利用許可を申請し、それが利用許可要求管理部へ蓄積される。一方で、サービス利用者は、サービス利用者用入出力部を介して、利用許可申請に対してプライバシ情報の利用の可否を設定する。これにより、利用許可要求管理部を参照して利用可であれば、プライバシ情報利用者は、個人情報管理部にあるプライバシ情報を閲覧することが可能となる。
【０００４】
また、図２に示される第２の従来例では、プライバシ情報保護システムは、ポリシチェック手段と、エージェント制御手段と、パーソナルプライバシプロキシ手段とから構成されている。このような構成を有する従来のプライバシ情報保護システムはつぎのように動作する。すなわち、プライバシ情報利用者は、プライバシ情報を処理するモバイルエージェントを作成し、どのプライバシ情報を利用するかを記述したプライバシポリシを付与して、それをプライバシ情報提供者の元へ送信する。プライバシ情報提供者は、ポリシチェック手段により、送られてきたプライバシポリシが提供ポリシの範囲内であるかをチェックし、合致すれば、パーソナルプライバシプロキシ手段内でモバイルエージェントを実行する。実行結果は、エージェント制御手段を介してプライバシ情報利用者に返却される。
【０００５】
上記のような従来例では、プライバシ情報利用者にプライバシ情報が渡ってしまった時点で、プライバシ情報はプライバシ情報提供者の管理下から外れている。このため、プライバシ情報提供者がプライバシ情報利用者にプライバシ情報を開示してしまうと二度とそのプライバシ情報に対して制御をかけることができなかった。
【０００６】
また、プライバシ情報利用者からのプライバシ情報を利用するエージェント（プログラム）がプライバシ情報提供者の環境下で動作するので、プライバシ情報提供者側で大規模なインフラが提供されなければ、プライバシ情報を統計処理するなど大規模な計算処理を行うことができなかった。
【０００７】
上記説明と関連して以下の技術を説明する。
特許文献３（特開２００５−２２２１５５号公報）は機密文書管理装置を開示している。機密文書管理装置は、オペレーティングシステムと、アプリケーションソフトウェアと、デバイスドライバとが搭載され、機密文書を、暗号化することによって保護する機密文書管理装置である。機密文書管理装置は、オペレーティングシステムのメッセージにもとづいて前記アプリケーションソフトウェアの実行状態を推定するアプリケーション実行状態推定手段と、デバイスドライバを用いて文書へのアクセスを検出した場合に、前記アプリケーション実行状態推定手段が推定した実行状態の推定結果にもとづいて、文書を暗号化するか否か、または復号するか否かを判断する処理判断手段とを備えている。
【０００８】
また、特許文献４（特開２００８−１８１２９０号公報）は、文書管理システムを開示している。文書管理システムは、文書識別情報で特定される文書に対して許容される利用制限を規定した利用制限情報を該文書識別情報に対応して記憶する記憶部を備えている。認証部は、文書の利用者の認証を行い、検索部は、前記利用者により操作される文書に付与された文書識別情報に基づいて当該文書の利用制限情報を前記記憶部から検索する。背制限部は、前記検索部によって検索された前記利用制限情報に基づいて前記認証部によって正当性が確認された利用者の当該文書に対する操作を制限する。付与部は、文書の前記制限部により制限された操作により当該文書から派生する新たな文書が生成された場合は、該新たな文書に新たな文書識別情報を付与する。生成部は、付与部により新たな文書識別情報が付与された文書の派生元文書の利用制限情報に対応する利用制限情報を生成する。記憶制御部は、前記付与部により付与された文書識別情報に対応して前記生成部により生成した新たな利用制限情報を前記記憶部に記憶する。
【特許文献１】特開２００４−１０２９１３号公報
【特許文献２】特開２００５−０９９９４４号公報
【特許文献３】特開２００５−２２２１５５号公報
【特許文献４】特開２００８−１８１２９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従って、本発明は、プライバシ情報をプライバシ情報利用者に提供したあとでも、プライバシ情報の開示制御が可能であるプライバシ情報保護システムを提供する。
【課題を解決するための手段】
【００１０】
本発明のプライバシ情報保護システムは、操作監視部と、操作割込部と、プライバシ情報開示部と、プライバシ情報開示判定部と、プライバシ情報秘匿部と、派生プライバシ情報登録部とを備え、プライバシ情報を利用するプログラムが実行しようとする操作を監視し、その操作の種類によって、開示可能なプライバシ情報を開示して参照できるようにしたり、漏洩する可能性がある操作に開示されたプライバシ情報を強制的に秘匿したり、操作を置き換えるよう動作する。このような構成を採用し、プライバシ情報を暗号化など秘匿した状態で配布し、プライバシ情報の開示制御をすることにより本発明の目的を達成することができる。
【発明の効果】
【００１１】
以上のように、プライバシ情報は秘匿された状態で流通され、プライバシ情報を開示するためには、プライバシ情報利用者はプライバシ情報保護システムを導入することが必要である。従って、プライバシ情報がプライバシ情報利用者に渡った後でも開示制御できることにある。
【００１２】
また、開示されたプライバシ情報が漏洩される可能性があるときには、プライバシ情報保護システムによりプライバシ情報は強制的に秘匿化される。このため、プライバシ情報の漏洩なしに、プライバシ情報利用者側で、プライバシ情報を扱うプログラムが実行されることできる。
【００１３】
更に、プライバシ情報を開示、秘匿する毎にその操作が記録されることが可能であるので、どのプライバシ情報が利用されたかをプライバシ情報提供者が確認することができる。
【発明を実施するための最良の形態】
【００１４】
次に、本発明のプライバシ情報保護システムについて添付図面を参照して詳細に説明する。
【００１５】
図３は、本発明の一実施形態によるプライバシ情報保護システムの構成を示すブロック図である。図３を参照して、本発明の一実施形態によるプライバシ情報保護システムは、情報利用端末２００と、情報サーバ３００と、情報処理ユニット１００とを備えている。
【００１６】
情報利用端末２００は、プライバシ情報利用プログラム１５０を実行して、プライバシ情報の参照・加工等の、プログラム１５０に規定された操作を行う。この例では、プログラム１５０は、プライバシ情報への操作を行うとき、好ましくは操作を行う前に、操作の内容を情報処理ユニット１００に通知する。その通知には、情報利用端末２００の利用者の情報と秘匿化プライバシ情報等が添付されている。
情報サーバ３００は、秘匿化プライバシ情報１６０を格納している。秘匿化プライバシ情報１６０は、プライバシ情報および当該プライバシ情報に関する管理情報を暗号化したデータである。秘匿化プライバシ情報１６０はプログラム１５０により読み出される。
【００１７】
情報処理ユニット１００は、記録媒体（図示せず）からロードされたプログラムを実行することにより実現され、例えば、中央処理装置、プロセッサ、データ処理装置などで構成されている。情報処理ユニット１００は、情報利用端末２００で実行されるべき操作を監視し、必要により利用プログラム１５０に割込みが発行される。プライバシ情報利用プログラム１５０による操作が開示ポリシに合致すれば、暗号化されている秘匿化プライバシ情報１６０を復号化して利用可能とする。その操作がプライバシ情報を公開するもの、あるいはその可能性があるものであるときは、利用されているプライバシ情報や、それから派生されたプライバシ情報は秘匿化（暗号化）される。復号化された情報や秘匿化された情報を管理するための情報も保存される。また、利用プログラム１５０の操作のログも保存される。
【００１８】
情報利用端末２００と、情報サーバ３００と、情報処理ユニット１００との間は、直接接続されていても良いし、またネットワークあるいはインターネットを介して接続されていてもよい。情報処理ユニット１００は、情報利用端末２００に直接接続されていてもよいし、あるいはその中に組み込まれていてもよい。
【００１９】
再び図３を参照して、本発明の実施形態によるプライバシ情報保護システムの情報処理ユニット１００は、プライバシ管理情報格納部１１０と、開示ポリシ格納部１２０と、操作ログ格納部１３０とに接続されている。プライバシ管理情報格納部１１０は、開示されたプライバシ情報を管理するための情報と、秘匿化されたプライバシ情報を管理するための情報を格納している。開示ポリシ格納部１２０は、どのプライバシ情報が開示可能であるかが記述された開示ポリシを格納している。操作ログ格納部１３０は、どのプライバシ情報に対してなされた操作を格納している。以下に詳細に説明する。
【００２０】
プライバシ管理情報格納部１１０は、図７に示されるように、開示されたプライバシ情報へのポインタ、秘匿化プライバシ情報へのポインタ、管理情報を組として格納している。
【００２１】
開示ポリシ格納部１２０は、開示ポリシを格納し、開示ポリシはプライバシ情報の識別子、所有者、種別などの秘匿化プライバシ情報に関連する管理情報に関連付けられている。例えば、図６に示されるように、どのプライバシ情報利用者ないしはプライバシ情報利用者グループに対してどのプライバシ情報が開示可能かが格納されている。つまり、開示ポリシは、どのプライバシ情報がどのプライバシ情報利用者に開示可能かということを示すデータであればよい。この例では、開示ポリシは、プライバシ情報の種別とプライバシ情報利用者グループのマトリックスとして保持されている。
【００２２】
操作ログ格納部１３０は、プライバシ情報利用プログラム１５０で実行される操作を記録している。操作ログ格納部１３０の例が図８に示されている。図８を参照して、この例では、１列目は日付、２列目はプライバシ情報の利用者のＩＤ、３列目は、操作の種類、４列目以降は、操作の種類ごとにおけるパラメータを示している。１行目は、ａｄｄｒｅｓｓが開示されたこと、２行目は、ａｄｄｒｅｓｓが秘匿化されたこと、３行目は、ａｄｄｒｅｓｓからｃｏｄｅが派生されたことを示す。なお、ここで、ｘａｗｘｓａａｅｅｇｓは秘匿化されたａｄｄｒｅｓｓの値を示し、ｅｎｓｉｎａａｚｅｅｅｅは秘匿化されたｃｏｄｅの値を示す。
【００２３】
図８では、プライバシ情報を示す方法として秘匿化プライバシ情報の値を用いられているが、例えば、各プライバシ情報に対して一意となるＩＤをふるのであれば、そのＩＤを代わりに出力してもよい。すなわち、操作ログ格納部１３０は、誰が、どのプライバシ情報に対して、どのような操作（処理）を行ったのかを記録できるのであれば、その形式はなんでもよい。
【００２４】
また、情報処理ユニット１００は、操作監視部１０１と、操作割込部１０２と、プライバシ情報開示部１０３と、プライバシ情報開示判定部１０４と、プライバシ情報秘匿部１０５と、派生プライバシ情報登録部１０６とを備えている。
【００２５】
操作監視部１０１は、プライバシ情報利用プログラム１５０の実行を監視し、秘匿化プライバシ情報に対する操作を検出したとき（プログラム１５０からの操作についての通知を受けたとき）、割込み発生指示を発生し、情報利用端末２００の利用者情報と秘匿化プライバシ情報等と共に、操作割込部１０２に出力する。
【００２６】
操作割込部１０２は、操作監視部１０１からの割込み発生指示に応答して、プライバシ情報利用プログラム１５０の操作に対して割り込みを発生し、該操作をフックし、あるいは該操作を別の操作に置き換える。また、操作が秘匿化プライバシ情報１６０を参照する操作であると判定されるとき、情報利用端末２００の利用者情報と秘匿化プライバシ情報等を送付してプライバシ開示部１０３に秘匿化プライバシ情報の開示を指示する。また、開示されているプライバシ情報が漏洩する可能性がある操作であると判定されるときは、情報利用端末２００の利用者情報等を送付して開示されているプライバシ情報の秘匿化をプライバシ情報秘匿化部１０５に指示する。漏洩する可能性がある操作は、他のスレッドからも参照可能なフィールドへの代入、フィールドへの参照、メソッドの呼び出し、コンストラクタの生成、メソッドの実行開始、メソッドのリターン、ファイルへの書き込み、ネットワークへの送信などを含んでいる。派生プライバシ情報が存在するときは、情報利用端末２００の利用者情報と秘匿化プライバシ情報等を送付して派生プライバシ情報も秘匿化するようにプライバシ情報秘匿化部１０５に指示する。操作割込部１０２は、プライバシ情報に対してなされた操作を操作ログ格納部１３０に格納する。
【００２７】
プライバシ情報開示部１０３は、情報利用端末２００の利用者情報と秘匿化プライバシ情報等をプライバシ情報開示判定部１０４に送付して、情報利用端末２００により利用されるべき秘匿化プライバシ情報が開示されてもよいか否かの判定をプライバシ情報開示判定部１０４に指示する。秘匿化プライバシ情報が開示可能であると判定されたとき、プライバシ情報開示部１０３は、秘匿化プライバシ情報を復号化してプライバシ情報を情報利用端末２００の利用者に開示する。
【００２８】
プラバシ情報開示判定部１０４は、情報利用端末２００の利用者情報と秘匿化プライバシ情報等をプライバシ情報開示部１０３から受信して、それらに基づいて開示ポリシ格納部１２０を検索して、該秘匿化プライバシ情報が開示可能であるか否かを判定する。この例では、図６に示されるように、秘匿化ライバシ情報の種別とプライバシ情報利用者グループに基づいて開示ポリシ格納部１２０をアクセスする。プライバシ情報の種別がＨｉｇｈで、プライバシ情報利用者グループがＨｉｇｈの場合、このマトリックスではＴＲＵＥであるので、このプライバシ情報は開示可能であると判定される。一方でプライバシ情報の種別がＨｉｇｈであるが、プライバシ情報利用者グループがＬｏｗである場合、ＦＡＬＳＥであるので、プライバシ情報は開示不可と判定される。ここで、プライバシ情報保護システムが、プライバシ情報利用者側とプライバシ情報提供者側とに分離されている場合、接続元を識別することによりプライバシ情報利用者を特定してもよい。
【００２９】
プライバシ情報秘匿部１０５は、操作割込部１０２の指示に応答して、格納部１１０のプライバシ管理情報を参照して、そのプライバシ情報に関連する管理情報を取得し、その管理情報に基づいてプライバシ情報を暗号化して再秘匿化する。
【００３０】
派生プライバシ情報登録部１０６は、あるプライバシ情報（＝派生元プライバシ情報）に基づいて新しいプライバシ情報（＝派生プライバシ情報）が生成されたとき、派生元プライバシ情報の管理情報を引き継いで、派生プライバシ情報とその管理情報をプライバシ管理情報格納部１１０に格納する。
【００３１】
次に、図４のフローチャートを参照して本発明のプライバシ情報保護システムの動作について詳細に説明する。
【００３２】
まず、プライバシ情報利用プログラム１５０が実行されるとき、操作監視部１０１はそのプログラム１５０の実行に伴う操作を監視する（ステップＡ１）。操作監視部１０１が秘匿化プライバシ情報１６０を参照する操作を検出したとき、操作監視部１０１は割り込み発生指示を操作割込部１０２に出力する。操作割込部１０２は、当該プログラム１５０の実行に対して割込みを発生し、その操作の実行をフックする（ステップＡ２−１）。
【００３３】
操作割込部１０２は、プライバシ情報開示部１０３に秘匿化プライバシ情報の開示を指示する。プライバシ情報開示部１０３は、当該秘匿化プライバシ情報１６０を開示してよいかをプライバシ情報開示判定部１０４に問い合わせる。プライバシ情報開示判定部１０４は、情報利用端末２００の利用者の情報と、秘匿化プライバシ情報１６０に含まれる当該プライバシ情報に関する管理情報とに基づいて、格納部１２０に格納されている開示ポリシを参照して、当該秘匿化プライバシ情報１６０が開示可能であるかどうかを判定する（ステップＡ３−１）。
【００３４】
開示可能であれば、プライバシ情報開示部１０３は、当該秘匿化プライバシ情報１６０を復号化して、開示プライバシ情報に変換する（ステップＡ４−１）。この際、プライバシ情報開示部１０３は、開示プライバシ情報と秘匿化プライバシ情報とをプライバシ管理情報格納部１１０に格納する（ステップＡ５−１）。操作割込部１０２は、ステップＡ２−１でフックされた秘匿化プライバシ情報１６０への参照を、開示プライバシ情報への参照に置換する（ステップＡ６−１）。
【００３５】
プライバシ情報プログラム１５０の実行に伴う操作が、他のスレッドからも参照可能なフィールドへの代入、ファイルへの書き込み、ネットワークへの送信など、開示プライバシ情報が漏洩される可能性がある操作であると操作監視部１０１が判定した場合、操作割込部１０２は、当該プログラム１５０に対して割込みを発生し、その操作の実行をフックする（ステップＡ２−２）。プライバシ情報秘匿部１０５は、開示プライバシ情報に基づいてプライバシ管理情報格納部１１０から秘匿化プライバシ情報を取得し、その秘匿化プライバシ情報に関連する管理情報に基づいて開示プライバシ情報を再秘匿化する（ステップＡ３−２）。再秘匿化の終了後、操作割込部１０２は、ステップＡ２−２でフックされた操作を、秘匿化プライバシ情報に対する操作に置換する（Ａ４−２）。
【００３６】
プライバシ情報利用プログラム１５０の実行に伴う操作が、プライバシ情報を引数にとり、新たなプライバシ情報を返すメソッドなど、派生プライバシ情報を生成する操作であるとき、操作割込部１０２は、当該プログラム１５０の実行に割込みを発生し、その操作の実行をフックする（ステップＡ２−３）。新たに生成されたプライバシ情報を派生プライバシ情報とし、その派生プライバシ情報の元になったプライバシ情報を派生元プライバシ情報とするとき、派生プライバシ情報登録部１０６は、プライバシ管理情報格納部１１０より派生元プライバシ情報の管理情報を取得し、その管理情報を派生プライバシ情報に関連付けて、プライバシ管理情報格納部１１０に格納する（ステップＡ３−３）。
【００３７】
続いて、操作割込部１０２は、上記の各割込処理に関する操作ログを操作ログ格納部１３０へ格納する（ステップＡ９）。最後に、操作割込部１０２は、フック後のプログラム１５０の処理へ復帰し、動作を継続する（ステップＡ１０）。
【００３８】
次に、図５は、プライバシ情報利用プログラム１５０の一部を示している。図５を参照して、Ｚｉｐｃｏｄｅメソッドの引数のＡｄｄｒｅｓｓが秘匿化プライバシ情報として情報利用端末２００から操作監視部１０１に通知されたとする。まず、Ａｄｄｒｅｓｓが秘匿化プライバシ情報であるので、プログラム１５０のｃｒｅａｔｅ＿ｐｒｏｆｉｌｅメソッドの実行開始時点で、その通知はなされる。
【００３９】
ここでは、プライバシ情報の種別がＨｉｇｈであり、プライバシ情報利用者グループもＨｉｇｈであるとして、プライバシ情報開示判定部１０４により開示可能と判定される。プライバシ情報開示部１０３は、秘匿化プライバシ情報を復号化し、プライバシ管理情報格納部１１０に格納する。プライバシ管理情報格納部１１０は、例えば、図７に示されるように、開示されたプライバシ情報へのポインタ、秘匿化プライバシ情報へのポインタ、管理情報を組として格納する。ここでは、図７に示されるように、ａｄｄｒｅｓｓに関するポインタが格納される。その結果、操作割込部１０２は、利用プログラム１５０の割込みを解く。これにより、情報利用端末２００は、開示されたプライバシ情報に置換されたａｄｄｒｅｓｓを引数としてｓｅｔＺｉｐｃｏｄｅメソッドの実行を継続する。
【００４０】
図５の２行目で、Ｓｙｓｔｅｍ．ｏｕｔ．ｐｒｉｎｔｌｎメソッドの呼び出し操作は、プライバシ情報等がコンソール出力されるので、開示されたプライバシ情報が漏洩する可能性があるメソッド呼び出し操作である。この操作も操作監視部１０１により監視され、割り込み発生指示が操作割込部１０２に出力される。このため、操作割込部１０２により利用プログラム１５０に対してプライバシ情報の秘匿化の割り込みがかかる。プライバシ情報秘匿部１０５は、開示されたプライバシ情報のａｄｄｒｅｓｓを、秘匿化プライバシ情報のａｄｄｒｅｓｓへと秘匿化してプライバシ管理情報格納部１１０に格納する。その後、操作割込部１０２の割込みが解かれ、情報利用端末２００は、利用プログラム１５０の実行を再開し、そのメソッド呼び出しを継続する。この結果、コンソール上には秘匿化されたａｄｄｒｅｓｓの値が表示されることになる。
【００４１】
図５の３行目で、Ｚｉｐｃｏｄｅメソッドが呼び出される。これは、プライバシ情報を引数にとるメソッドであるので、このメソッドの実行終了後、派生プライバシ情報登録部１０６は、開始されているプライバシ情報から派生的にプライバシ譲歩を生成し、プライバシ管理情報格納部１１０に格納する。この例では、派生元プライバシ情報はａｄｄｒｅｓｓ、派生プライバシ情報はｃｏｄｅとなる。そこで、図７の３行目に示すように、派生プライバシ情報登録部１０６は、プライバシ管理情報格納部１１０から、ａｄｄｒｅｓｓの管理情報を取得し、派生プライバシ情報ｃｏｄｅを生成する。
【００４２】
図５の４行目で、Ｚｉｐｃｏｄｅフィールドに派生プライバシ情報ｃｏｄｅを代入する操作が行われる。その操作も操作監視部１０１を介して操作割込部１０２に通知される。  フィールドに代入される値は、他のスレッド等によりアクセスされる可能性があるので、漏洩する可能性がある。そこで、開示されているプライバシ情報の秘匿化が行われる。プライバシ情報秘匿部１０５は、プライバシ管理情報格納部１１０からｃｏｄｅに関する管理情報を取得し、それに基づいてｃｏｄｅの値を秘匿化する。操作割込部１０２は、Ｚｉｐｃｏｄｅフィールドに派生プライバシ情報ｃｏｄｅを代入する操作を無効化し、秘匿化された派生プライバシ情報ｃｏｄｅをｚｉｐｃｏｄｅフィールドへ代入する。
【００４３】
Ｚｉｐｃｏｄｅメソッドの実行終了後、プライバシ管理情報格納部１１０に格納された内容は必要なくなるので、例えば、Ｚｉｐｃｏｄｅメソッドの終了と共に図７に示される情報は削除される。プライバシ管理情報格納部１１０がメモリ上に確保されば、Ｚｉｐｃｏｄｅメソッドの終了と共にプライバシ管理情報格納部１１０のエリアも削除されるので、プライバシ管理情報格納部１１０からプライバシ情報が漏洩する危険性を減らすことができる。
【００４４】
ＡｓｐｅｃｔＪにおいては、メソッド呼出しごとにＡｄｖｉｃｅを生成することが可能であるため、Ａｄｖｉｃｅの管理域内にプライバシ管理情報を格納する場所を設ければ容易に実現可能である。
【００４５】
以上述べたように、本発明によれば、プライバシ情報は秘匿化された状態で流通され、プライバシ情報を開示するためには、プライバシ情報利用者はプライバシ情報保護システムを利用しなければならない。このため、プライバシ情報がプライバシ情報利用者に渡った後でも開示制御できる。
【００４６】
また、本発明によれば、開示プライバシ情報が漏洩される可能性があるとき、プライバシ情報は強制的に秘匿化される。このため、プライバシ情報をセキュアにプライバシ情報利用者に配布できる。
【００４７】
また、本発明によれば、どのプライバシ情報に対して加えられた操作が記録されることができる。このため、プライバシ情報提供者は、プライバシ情報利用者が行った操作を追跡することが可能である。
【００４８】
次に、具体的な例を用いて本発明のプライバシ情報保護システムの動作を説明する。プライバシ情報利用プログラム１５０は、Ｊａｖａ（登録商標）などのプログラミング言語で書かれたプログラムである。
【００４９】
秘匿化プライバシ情報は、ＳＨＡ−１などの暗号化された形式のプライバシ情報と、当該プライバシ情報に付随する管理情報とを含んでいる。管理情報としては、そのプライバシ情報の識別子のほかに、そのプライバシ情報の所有者の識別子やプライバシ情報の種別など、開示の可否を判定するために必要な情報を含んでいる。また、プライバシ情報利用者による管理情報の改竄を防止するために、管理情報自体も暗号化されていることが望ましい。
【００５０】
具体例として、ＡＯＰ（Ａｓｐｅｃｔ−Ｏｒｉｅｎｔｅｄ−Ｐｒｏｇｒａｍｍｉｎｇ）を利用する方法を挙げる。ＡＯＰが提供する機能として、プログラム中のある時点の処理に対応する操作の実行をフックし、別の操作（処理）を実行させる機能がある。Ｊａｖａ（登録商標）に対するＡＯＰの実装であるＡｓｐｅｃｔＪを例として説明する。
【００５１】
ＡｓｐｅｃｔＪには、プログラム中のある時点を指定する方法として、ＰｏｉｎｔＣｕｔという機能があり、例えば、あるメソッドを呼び出した時点、オブジェクトのフィールドへの参照があった時点などを指定できる。また、別の処理を定義する方法としてＡｄｖｉｃｅがあり、どのＰｏｉｎｔＣｕｔでどのＡｄｖｉｃｅを実行させるかを指定することができる。ＰｏｉｎｔＣｕｔ、Ａｄｖｉｃｅとして定義されたＡｓｐｅｃｔを、ＡｓｐｅｃｔＷｅａｖｅｒというツールによるコンパイル時や、Ｊａｖａ（登録商標）の実行系であるＪａｖａ（登録商標）ＶＭへのロード時に、織り込むことが可能である。
【００５２】
操作監視部、操作割込部の実現方法として、監視したい操作（処理）に対するＰｏｉｎｔＣｕｔを定義し、割り込みたい処理をＡｄｖｉｃｅとして定義し、これらのＡｓｐｅｃｔをＡｓｐｅｃｔＷｅａｖｅｒにより織り込めば実現できる。監視対象の操作としては、フィールドへの参照、フィールドへの代入、メソッドの呼び出し、コンストラクタの生成、メソッドの実行開始、メソッドのリターン、例外のスローがある。割り込む処理としては、秘匿化プライバシ情報の開示と、開示されたプライバシ情報の秘匿化がある。
【００５３】
秘匿化プライバシ情報の開示は、
あるメソッドにおいて
・そのメソッドの実行開始の時点で、かつ、その引数が秘匿化プライバシ情報だったとき、
・秘匿化プライバシ情報が格納されたフィールドを参照したとき、
・別のメソッドを呼び出して、秘匿化されたプライバシ情報に対する返り値が秘匿化プライバシ情報だったとき、
・別のメソッドやコンストラクタを呼び出して、秘匿化プライバシ情報に対する返り値が秘匿化プライバシ情報だったとき、
割り込みが行われ、開示されたプライバシ情報への置換が行われる。
【００５４】
開示プライバシ情報の秘匿化は、
あるメソッドにおいて
・そのメソッドが開示プライバシ情報を返り値として返そうとしたとき、
・そのメソッドが開示プライバシ情報を例外として投げようとしたとき、
・フィールドへ代入しようとしたとき、
・ファイルへの書き込み、ネットワークへの送信、ＤＢへの書込みなどプライバシ情報の漏洩の可能性があるメソッドの引数に開示プライバシ情報を渡して、呼び出そうとしたとき、
割り込みが行われ、秘匿化プライバシ情報への置換が行われる。
【００５５】
また、派生プライバシ情報の登録は、あるメソッドにおいて
・プライバシ情報を引数としてとり、返り値を返そうとしたとき、
割り込みが行われ、派生プライバシ情報の登録が行われる。
【００５６】
ここであげた例のように、プログラミング言語のもつ機能に合わせて、割込が行われる操作が定義されればよい。また逆に、上の例では逐次割り込みをかけているが、例えば、秘匿した直後に開示する場合に秘匿処理をスキップしたり、プライバシ情報を引数にとるメソッドのうち、明らかにその返り値は、もはやプライバシ情報とは考えられないもの（例：プライバシ情報の文字列長を返す、いくつかのプライバシ情報から統計値を返す）をスキップしたりするなど、プライバシ情報が漏洩しない範囲で、割り込み箇所を減らすような最適化を施してもよい。
【００５７】
また、秘匿化プライバシ情報の例を示す。プライバシ情報開示部１０３とプライバシ情報秘匿部１０５は、秘匿化プライバシ情報で採用した暗号化方式に従って、復号化、暗号化すればよいので、秘匿化プライバシ情報のプライバシ情報の暗号化形式の実施例を挙げる。暗号化アルゴリズムは既知のものを使用するが、暗号化、復号化には鍵が必要となるので、その鍵の保持方法、構成方法について説明する。
【００５８】
一つの例としては、プライバシ情報利用者毎に、またはプライバシ情報利用者グループ毎に、利用者鍵をプライバシ情報開示部１０３とプライバシ情報秘匿部１０５に組込み、秘匿化プライバシ情報がプライバシ情報利用者へ配布される際、配布先の利用者鍵とプライバシ情報に関連付けられた鍵とで、暗号鍵が生成され、その暗号鍵でプライバシ情報が暗号化される。プライバシ情報に関連付けられた鍵は、そのプライバシ情報に関連付けられた開示ポリシと関連付けて、開示ポリシ格納部１２０に保持される。プライバシ情報が開示されるとき、プライバシ情報利用者またはプライバシ情報利用者グループはプライバシ情報開示判定部１０４を通じて、鍵を取得する。
【００５９】
別の例としては、プライバシ情報利用者毎ないしはプライバシ情報利用者グループ毎に利用者鍵をプライバシ情報開示部１０３、プライバシ情報秘匿化部１０５に組み込むのではなく、鍵配布サーバを別途設置するなどして定期的に配布して更新する方法である。
【００６０】
本発明によれば、プライバシ情報を活用したパーソナライズサービス用途に適用できる。
【図面の簡単な説明】
【００６１】
【図１】従来例の構成を示すブロック図である。
【図２】他の従来例の構成を示すブロック図である。
【図３】本発明の一実施形態によるプライバシ情報保護システムの構成を示すブロック図である。
【図４】本発明の実施形態によるプライバシ情報保護システムの動作を示すフローチャートである。
【図５】本発明の実施形態によるプライバシ情報保護システムで使用される利用プログラムを示す図である。
【図６】本発明の実施形態によるプライバシ情報保護システムで使用される開示ポリシを示す図である。
【図７】本発明の実施形態によるプライバシ情報保護システムで使用されるプライバシ管理情報を示す図である。
【図８】本発明の実施形態によるプライバシ情報保護システムで使用される操作ログを示す図である。
【符号の説明】
【００６２】
１００    情報処理ユニット（中央処理装置；プロセッサ；データ処理装置）
１０１    操作監視部
１０２    操作割込部
１０３    プライバシ情報開示部
１０４    プライバシ情報開示判定部
１０５    プライバシ情報秘匿化部
１０６    派生プライバシ情報登録部
１１０    プライバシ管理情報格納部
１２０    開示ポリシ格納部
１３０    操作ログ格納部
１５０    プライバシ情報利用プログラム
１６０    秘匿化プライバシ情報
２００    情報利用端末
３００    情報サーバ
【図１】
2010134731.tif 000003
【図２】
2010134731.tif 000004
【図３】
2010134731.tif 000005
【図４】
2010134731.tif 000006
【図５】
2010134731.tif 000007
【図６】
2010134731.tif 000008
【図７】
2010134731.tif 000009
【図８】
2010134731.tif 000010