IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2023-5647個人情報管理システムおよび個人情報管理方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023005647
(43)【公開日】2023-01-18
(54)【発明の名称】個人情報管理システムおよび個人情報管理方法
(51)【国際特許分類】
   G06F 21/62 20130101AFI20230111BHJP
   G06F 16/28 20190101ALI20230111BHJP
【FI】
G06F21/62 345
G06F16/28
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2021107693
(22)【出願日】2021-06-29
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】鬼頭 大介
(72)【発明者】
【氏名】木下 雅文
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175KA12
(57)【要約】
【課題】直接的な個人情報に関る情報と間接的な個人情報に関る情報に関して、合理的に保護するための判断の指標を与え、個人情報の保護とデータの利活用を両立させる。
【解決手段】個人情報管理システムは、個人情報アクセスクライアントとそれにネットワークにより接続された個人情報管理サーバを有する。個人情報アクセスクライアントは、個人情報データベースのテーブルのカラムに対して直接の個人情報の保護種類を指定し、個人情報管理サーバは、テーブルのカラムに対して直接の個人情報の保護種類を指定されたテーブルとの関係データベースにおける紐づき関係に基づいて、各々のテーブルに対する個人情報保護の保護クラスを設定する。また、1:1、多:1などのRDBにおける対応関係、対応に関係するレコード数により、保護クラスを調整する。
【選択図】 図12
【特許請求の範囲】
【請求項1】
個人情報アクセスクライアントと、前記個人情報アクセスクライアントとネットワークにより接続された個人情報データベースを保持する個人情報管理サーバとを有し、前記個人情報アクセスクライアントからの要求によって、前記個人情報管理サーバが、個人情報に関るデータの個人情報保護処理を行う個人情報管理システムであって、
前記個人情報アクセスクライアントは、前記個人情報データベースのテーブルのカラムに対して直接の個人情報の保護種類を指定し、
前記個人情報管理サーバは、前記テーブルのカラムに対して直接の個人情報の保護種類を指定されたテーブルとの関係データベースにおける紐づき関係に基づいて、各々のテーブルに対する個人情報保護の保護クラスを設定することを特徴とする個人情報管理システム。
【請求項2】
前記保護クラスは、前記テーブルのカラムに対して直接の個人情報の保護種類を指定されたテーブルとの紐づき関係のテーブルの段数から各々のテーブルに対する個人情報の保護の強度を異ならしめることを特徴とする請求項1記載の個人情報管理システム。
【請求項3】
前記個人情報管理サーバは、前記テーブルのカラムに対して直接の個人情報の保護種類を指定されたテーブルに対して、保護の強度が一番強い「must保護」を設定し、
関係データベースにおける参照元テーブルと参照先テーブルの紐づき関係において、前記参照先テーブルは、前記参照元テーブルの保護クラスと同じ保護クラスか、または、前記参照元テーブルの保護クラスよりも保護の強度の弱い保護クラスを設定されることを特徴とする請求項1記載の個人情報管理システム。
【請求項4】
前記参照元テーブルと前記参照先テーブルの関係データベースにおける対応関係が1:1のときには、前記参照先テーブルは、前記参照元テーブルの保護クラスと同じ保護クラスが設定され、
前記参照先テーブルの紐づきカラムの値と同一の値を有する参照先テーブルのレコード数のそれぞれの紐づきカラムの値にわたる最小値が所定の閾値未満のときには、前記参照先テーブルは、前記参照元テーブルの保護クラスと同じ保護クラスが設定され、
前記参照先テーブルの紐づきカラムの値と同一の値を有する参照元テーブルのレコード数のそれぞれの紐づきカラムの値にわたる最小値が所定の閾値以上であるときには、前記参照先テーブルは、前記参照元テーブルの保護クラスよりも保護の強度の弱い保護クラスを設定されることを特徴とする請求項3記載の個人情報管理システム。
【請求項5】
前記個人情報管理サーバは、各々のテーブルに対する保護クラスに対しての個人情報保護の内容を定めた保護ポリシを保持することを特徴とする請求項1記載の個人情報管理システム。
【請求項6】
前記個人情報管理サーバは、前記テーブルのカラムに対して個人情報の保護レベルを設定することを特徴とする請求項1記載の個人情報管理システム。
【請求項7】
前記個人情報アクセスクライアントは、前記個人情報管理サーバに対して、「安全なデータのみ」の移転要求を受信し、
前記個人情報管理サーバは、前記テーブルのカラムに対して個人情報の保護レベル示す保護強度の低いカラムのデータのみを移転要求の対象とすることを特徴とする請求項6記載の個人情報管理システム。
【請求項8】
個人情報アクセスクライアントと、前記個人情報アクセスクライアントとネットワークにより接続された個人情報データベースを保持する個人情報管理サーバとを有し、前記個人情報アクセスクライアントからの要求によって、前記個人情報管理サーバが、個人情報に関るデータの個人情報保護処理を行う個人情報管理システムであって、
前記個人情報アクセスクライアントは、前記個人情報データベースのテーブルに対して個人情報に関して監視するテーブルを指定し、
前記個人情報管理サーバは、前記監視するテーブルを参照元テーブルとした前記監視するテーブルの関係データベースにおける紐づき関係を判定し、
前記監視するテーブルと前記監視するテーブルの参照先テーブルの関係データベースにおける対応関係が1:1のとき、または、前記参照先テーブルの紐づきカラムの値と同一の値を有する参照先テーブルのレコード数のそれぞれの紐づきカラムの値にわたる最小値が所定の閾値未満のときには、前記監視するテーブルの参照先テーブルについて、個人情報保護処理を行うことを特徴とする個人情報管理システム。
【請求項9】
個人情報管理システムにより、個人情報に関るデータの個人情報保護処理を行う個人情報管理方法であって、
前記個人情報管理システムは、
個人情報アクセスクライアントと、
前記個人情報アクセスクライアントとネットワークにより接続された個人情報データベースを保持する個人情報管理サーバとを有し、
前記個人情報アクセスクライアントが、前記個人情報データベースのテーブルのカラムに対して直接の個人情報の保護種類を指定するステップと、
前記個人情報管理サーバが、前記テーブルのカラムに対して直接の個人情報の保護種類を指定されたテーブルとの関係データベースにおける紐づき関係に基づいて、各々のテーブルに対する個人情報保護の保護クラスを設定するステップとを有することを特徴とする個人情報管理方法。
【請求項10】
各々のテーブルに対する個人情報保護の保護クラスを設定するステップにおいて、前記保護クラスは、前記テーブルのカラムに対して直接の個人情報の保護種類を指定されたテーブルとの紐づき関係のテーブルの段数から各々のテーブルに対する個人情報の保護の強度を異ならしめることを特徴とする請求項9記載の個人情報管理システム。
【請求項11】
前記個人情報管理サーバは、各々のテーブルに対する個人情報の保護の強度を異ならしめる保護クラスを設定するステップにおいて、
前記テーブルのカラムに対して直接の個人情報の保護種類を指定されたテーブルに対して、保護の強度が一番強い「must保護」を設定し、
関係データベースにおける参照元テーブルと参照先テーブルの紐づき関係において、前記参照先テーブルは、前記参照元テーブルの保護クラスと同じ保護クラスか、または、前記参照元テーブルの保護クラスよりも保護の強度の弱い保護クラスを設定することを特徴とする請求項9記載の個人情報管理方法。
【請求項12】
各々のテーブルに対する個人情報保護の保護クラスを設定するステップにおいて、
前記個人情報管理サーバは、前記参照元テーブルと前記参照先テーブルの関係データベースにおける対応関係が1:1のときには、前記参照先テーブルは、前記参照元テーブルの保護クラスと同じ保護クラスを設定し、
前記参照先テーブルの紐づきカラムの値と同一の値を有する参照先テーブルのレコード数のそれぞれの紐づきカラムの値にわたる最小値が所定の閾値未満のときには、前記参照先テーブルは、前記参照元テーブルの保護クラスと同じ保護クラスを設定し、
前記参照先テーブルの紐づきカラムの値と同一の値を有する参照元テーブルのレコード数のそれぞれの紐づきカラムの値にわたる最小値が所定の閾値以上であるときには、前記参照先テーブルは、前記参照元テーブルの保護クラスよりも保護の強度の弱い保護クラスを設定することを特徴とする請求項11記載の個人情報管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、個人情報管理システムおよび個人情報管理方法に係り、特に、直接的な個人情報に関る情報と間接的な個人情報に関る情報に関して、合理的に保護するための判断の指標を与え、個人情報の保護とデータの利活用を両立させるのに好適な個人情報管理システムおよび個人情報管理方法に関する。
【背景技術】
【0002】
欧州のGDPR(General Data Protection Regulation:EU一般データ保護規則)をはじめ、世界各国で個人情報保護に関する法律が整備されつつある。個人情報の収集、保存、参照・更新等の取扱いを行う事業者は、これらの法律の遵守が必要である。国によって細かな要件のずれは存在するものの、個人情報の定義としては、多くの国で、個人を直接識別できる情報、または、他の情報と組合わせて個人を識別できる情報というようなカテゴリーによって定義されている。前者は、例えば氏名等の情報が該当し、後者は、例えばユーザID等の情報が該当すると考えられる。個人情報については、個人の一意特定につながる可能性のある情報でも、その特定の処理が複雑等、現実的に困難な場合は、運用上は、個人情報と見なさなくてもよい可能性がある。そのため、直接識別できる情報やそれらを組合わせて識別できる情報は、一律に保護する以外に、個人情報としての認識し易さの度合に応じた保護を行うことが考えられる。
【0003】
個人情報を保護するためのデータベースとしては、関係データベース(RDB:Relational DataBase)が広く利用されている。関係データベースを利用したシステムにおいて、ある情報と関係性のある情報の発見を容易にする公知技術としては、例えば、特許文献1がある。この特許文献1によれば、データベース内のレコード間の関係が表示され、あるレコードを選択すると、それと関連のあるレコードのリストが表示される。このようにシステムがRDBのデータを速やかにユーザに表示することにより、ユーザは、データベースのレコードを一つずつブラウジングする手間を省くことができるとしている。
【0004】
また、個人情報とそれと関連する情報の取扱いを異ならせる技術については、特許文献2に記載がある。特許文献2のシステムでは、個人を特定するための情報を省略して個人情報を関連付けて記憶した個人情報データベースと、個人と連絡先情報を関連付けた連絡先情報データベースを保有する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001-318816号公報
【特許文献2】特開2017-49958号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1は、単純にRDB上におけるデータつながりの有無だけを見るようにしているため、個人情報とそれに関連する情報の保護のための判断の指標を与えることについては、記載されていない。というのも、例えばユーザグループとそれに所属するユーザの関係のように、大枠のエンティティ自体は固定であるが、関係性が1対多や1対1にもなり得るようなものにおいて、つながり先に対する適格な判断(つながりがあっても関係しないと見なす、あるいは、つながりがあるので関係すると見なす)を行うことができないためである。この例では、ユーザグループに複数人が所属する場合は、ユーザグループの情報からユーザを一意に識別できないため、状況により、必ずしも個人情報としての保護が必要ではないこともあり得るが、ユーザグループに1人しか所属しない場合は、ユーザグループは実質的にユーザと等価とみなすことができるため、ユーザグループの情報からユーザを識別し得ることになり、個人情報としての保護が必要になる可能性がある。特許文献1の記載されたシステムでは、システムの利用者は、このような判断を行うことができず、ユーザとつながりのあるユーザグループを一律に関係があると見なしてしまう。
【0007】
また、特許文献2に記載された技術は、個人を特定できない個人情報と、連絡先情報データベースを別々に保管することにより、個人情報の大量流出をさけることができるとしているが、個人を特定できる情報と、それに紐付けられた様々な間接的な情報の保護についての明確な指標を与えることについては記載されていない。
【0008】
本発明の目的は、直接的な個人情報に関る情報と間接的な個人情報に関る情報に関して、合理的に保護するための判断の指標を与え、個人情報の保護とデータの利活用を両立させることのできる個人情報管理システムおよび個人情報管理方法を提供することにある。
【課題を解決するための手段】
【0009】
本発明の個人情報管理システムの構成は、好ましくは、個人情報アクセスクライアントと、個人情報アクセスクライアントとネットワークにより接続された個人情報データベースを保持する個人情報管理サーバとを有し、個人情報アクセスクライアントからの要求によって、個人情報管理サーバが、個人情報に関るデータの個人情報保護処理を行う個人情報管理システムであって、個人情報アクセスクライアントは、個人情報データベースのテーブルのカラムに対して直接の個人情報の保護種類を指定し、個人情報管理サーバは、テーブルのカラムに対して直接の個人情報の保護種類を指定されたテーブルとの関係データベースにおける紐づき関係に基づいて、各々のテーブルに対する個人情報保護の保護クラスを設定するようにしたものである。
【発明の効果】
【0010】
本発明によれば、直接的な個人情報に関る情報と間接的な個人情報に関る情報に関して、合理的に保護するための判断の指標を与え、個人情報の保護とデータの利活用を両立させることのできる個人情報管理システムおよび個人情報管理方法を提供することができる。
【図面の簡単な説明】
【0011】
図1】個人情報管理システムの全体構成図である。
図2】個人情報管理サーバのハードウェア・ソフトウェア構成図である。
図3】テーブル定義テーブルの一例を示す図である。
図4】テーブル関係情報テーブルの一例を示す図である。
図5】ER図の一例を示す図である。
図6】個人情報管理テーブルの一例を示す図である。
図7A】保護クラス情報テーブルの一例を示す図である(その一)。
図7B】保護クラス情報テーブルの一例を示す図である(その二)。
図8】保護ポリシ管理テーブルの一例を示す図である。
図9】カラムの保護種類として、「直接」の保護を指定されたときに、テーブルに対して、それに伴う保護クラスの設定処理を示すフローチャートである。
図10A】参照先テーブルの保護クラス設定処理を示すフローチャートである(その一)。
図10B】参照先テーブルの保護クラス設定処理を示すフローチャートである(その二)。
図11A】個人情報DBに含まれるテーブルの具体的な紐づき関係の例を示す図である(その一)。
図11B】個人情報DBに含まれるテーブルの具体的な紐づき関係の例を示す図である(その二)。
図12】テーブルの紐づき関係とテーブルに付与される保護クラスの具体例を記す図である。
図13】ユーザの個人情報の保護指定を契機とする個人情報管理システムの個人情報の保護処理を示すフローチャートである。
図14】指定された個人情報保護のテーブルと関連テーブルの監視処理を示すフローチャートである。
図15】アラート判定処理を示すフローチャートである。
図16】個人情報の移転リクエストがあったときの処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明に係る一実施形態を、図1ないし図16を用いて説明する。
【0013】
先ず、図1および図2を用いて本発明の一実施形態に係る個人情報管理システムの構成について説明する。
【0014】
個人情報管理システムは、図1に示されるように、一つ以上の個人情報管理サーバ100(図1では、100a、100b、…と表記)と、個人情報アクセスクライアント10が、ネットワーク5により接続された形態である。ネットワーク5は、LAN(Local Network)でもよいし、インターネットのようなグルーバルネットワークであってもよい。
【0015】
個人情報管理サーバ100は、個人情報に関するデータベースを保持しており、個人情報アクセスクライアント10からの処理の要請に対して応答し、個人情報の保護の観点から許される場合のみ処理を許可して、要請された処理を行う。
【0016】
個人情報管理サーバ100は、クライアント連携部101、個人情報管理部102、関連テーブル抽出部103、保護処理実行部104、保護ポリシ管理部105、個人情報DBアクセス部106、記憶部110の機能構成部からなる。
【0017】
クライアント連携部101は、個人情報アクセスクライアント10からデータや指令を受け付けて、連携動作を行う機能部である。個人情報管理部102は、個人情報アクセスクライアント10からの要求を受けて、個人情報の種類に関する設定(詳細は後述)や、抽出された個人情報の保護レベル(詳細は後述)等の情報の提示を行う機能部である。関連テーブル抽出部103は、個人情報の種類に関する設定や、個人情報アクセスクライアント10からのテーブル抽出要求等を契機として、個人情報と紐づくテーブルの抽出を行う機能部である。保護処理実行部104は、保護対象の個人情報に対して暗号化やアクセス禁止、保管場所の別離等の保護処理を行う機能部である。保護ポリシ管理部105は、個人情報アクセスクライアント10からの要求を受けて、有効にする保護ポリシ(詳細は後述)の変更や、新規追加、削除等の更新を行う機能部である。個人情報DBアクセス部106は、個人情報DB(データベース)にアクセスし、データの読み出し、書込み、設定をする機能部である。記憶部110は、個人情報管理サーバ100で使用されるデータを記憶する機能部である。
【0018】
記憶部110には、テーブル定義テーブル200、テーブル関係情報テーブル201、個人情報管理テーブル202、保護クラス情報テーブル203、保護ポリシ管理テーブル204、個人情報DB210が記憶される。
個人情報DB210は、個人情報に関するテーブルを保持するデータベースである。なお、各テーブルの詳細は、後に説明する。
【0019】
個人情報アクセスクライアント10は、個人情報に関する処理の要求や設定をするクライアント端末である。個人情報アクセスクライアント10は、サーバ連携部11、入出力部12の機能構成部からなる。
【0020】
サーバ連携部11は、データや指令を個人情報管理サーバ100に送信し、サーバとの連携を行う機能部である。入出力部12は、ユーザからデータや指令を入力したり、個人情報管理サーバ100から受信したデータや設定情報などをユーザに出力する機能部である。
【0021】
次に、図2を用いて個人情報管理サーバ100のハードウェア・ソフトウェア構成を説明する。
【0022】
個人情報管理サーバ100のハードウェア構成としては、例えば、図2に示されるサーバ装置のような一般的な情報処理装置で実現される。
個人情報管理サーバ100は、CPU(Central Processing Unit)302、主記憶装置304、ネットワークI/F(InterFace)306、表示I/F308、入出力I/F310、補助記憶I/F312が、バスにより結合された形態になっている。
【0023】
CPU302は、個人情報管理サーバ100の各部を制御し、主記憶装置304に必要なプログラムをロードして実行する。
主記憶装置304は、通常、RAMなどの揮発メモリで構成され、CPU302が実行するプログラム、参照するデータが記憶される。
【0024】
ネットワークI/F306は、ネットワーク5と接続するためのインタフェースである。
【0025】
表示I/F308は、LCD(Liquid Crystal Display)などの表示装置320を接続するためのインタフェースである。
【0026】
入出力I/F310は、入出力装置を接続するためのインタフェースである。図2の例では、キーボード330とポインティングデバイスのマウス332が接続されている。
【0027】
補助記憶I/F312は、HDD(Hard Disk Drive)350やSSD(Solid State Drive)などの補助記憶装置を接続するためのインタフェースである。
HDD350は、大容量の記憶容量を有しており、本実施形態を実行するためのプログラムが格納されている。個人情報管理サーバ100には、クライアント連携プログラム361、個人情報管理プログラム362、関連テーブル抽出プログラム363、保護処理実行プログラム364、保護ポリシ管理プログラム365、個人情報DBアクセスプログラム366がインストールされている。
【0028】
クライアント連携プログラム361、個人情報管理プログラム362、関連テーブル抽出プログラム363、保護処理実行プログラム364、保護ポリシ管理プログラム365、個人情報DBアクセスプログラム366は、それぞれクライアント連携部101、個人情報管理部102、関連テーブル抽出部103、保護処理実行部104、保護ポリシ管理部105、個人情報DBアクセス部106の機能を実行するためのプログラムである。
【0029】
また、HDD350は、テーブル定義テーブル200、テーブル関係情報テーブル201、個人情報管理テーブル202、保護クラス情報テーブル203、保護ポリシ管理テーブル204、個人情報DB210を格納する。
【0030】
次に、図3ないし図8を用いて本実施形態の個人情報管理システムで使用されるデータ構造について説明する。
【0031】
テーブル定義テーブル200は、個人情報管理サーバ100が保有する個人情報DB210で使用されているテーブルを定義する情報を格納するテーブルであり、データベース内に存在するテーブルおよびそのカラム構成の把握を可能ならしめるテーブルである。
【0032】
テーブル定義テーブル200は、個人情報を格納する個人情報DB210のテーブルに関する構造の定義情報を保持するテーブルであり、図3に示されるように、テーブルカラムID200a、テーブル名200b、カラム名200c、カラムタイプ200d、リンク先200eの各カラムから構成される。
【0033】
テーブルカラムID200aには、このレコードの格納情報を一意に識別するIDが格納される。テーブル名200bには、定義に関する個人情報DB210のテーブルの名称が格納される。カラム名200cには、定義に関するテーブルにおけるカラムの名称が格納される。カラムタイプ200dには、該当するカラムのタイプが格納される。例えば、RDBにおける概念を使用して、主キー(レコードの一意識別に使用されるキー)、外部キー(他のテーブルのカラムの参照に使用されるキー)、ユニークキー(他のレコードとの値の重複が許されない(主キーは、テーブルの中に一つのみ定義されるが、ユニークキーは、複数定義されることもあり得る))などのカラムのタイプが格納される。リンク先200eには、当該カラムが、主キー、外部キー、ユニークキー等のタイプに該当するとき、そのカラムの値によって他のテーブルのカラムを参照する際に、その参照先のカラムのテーブルカラムID200aの値が格納される。
【0034】
テーブル関係情報テーブル201は、テーブル定義テーブル200に定義されたテーブルの参照、被参照の関係に関する情報を格納するためのテーブルであり、図4に示されように、テーブル関係ID201a、参照元テーブル名201b、参照先テーブル名201c、紐づき関係201d、紐付きカラム201eの各カラムから構成される。
【0035】
テーブル関係ID201aには、このレコードの格納情報を一意に識別するIDが格納される。参照元テーブル名201bには、紐づけ関係において参照元となる該当するテーブルの名称が格納される。参照先テーブル名201cには、紐づけ関係において参照元テーブル名201bのテーブルが参照している参照先のテーブルの名称が格納される。紐づき関係201dには、参照元テーブル名201bのテーブルと、参照先テーブル名201cのテーブルの参照関係が、1対1、1対多、多対1、多対多のいずれかであるか(詳細は、後述)を示す情報が格納される。紐づきカラム201eには、このレコードの示す対応関係で、参照している方のカラムを示すテーブル定義テーブル200におけるテーブルカラムID200aが格納される。例えば、テーブル関係ID201aの値が「1」の紐づき関係については、テーブル名「ユーザ」の「所属グループID」のカラムによって、テーブル名「グループ」の「グループID」のカラム(テーブルカラムIDの値は、「2-1」)の値を格納することにより紐づいていることを示している。
【0036】
ここで、図5を用いて紐づき関係の具体例について説明する。
図5は、いわゆるER図(Entity Relationship Diagram)で本実施形態のモデルとするRDBのテーブルの関係を図示したものである。ER図とは、「エンティティ=モノ」と「リレーションシップ=関係」の組み合わせにより、システムのデータやデータ間の処理構造を示す図である。
【0037】
この例では、ユーザテーブルとデバイステーブルは、デバイスIDを介して1対1で紐づいている。これは一つのユーザIDには、一つのデバイスIDのみが紐づくことを意味する。一方で、ユーザテーブルとパスワード履歴テーブルは1対多で紐づいている。これは一つのユーザIDに複数のシーケンスIDが紐づく、すなわち、一人のユーザが複数の旧パスワードを保有し得ることを意味する。また、ユーザテーブルとグループテーブルは、多対1で紐づいている。これは一つのユーザIDには、一つのグループIDにのみ紐づくが、多数のユーザが同じグループに属する可能性があることを意味している。
【0038】
個人情報管理テーブル202は、個人情報を管理するための情報を保持するためのテーブルであり、図6に示されるように、個人情報ID202a、テーブル名202b、カラム名202c、保護種類202d、段数202e、保護レベル202fの各カラムから構成される。
【0039】
個人情報ID202aには、このレコードの格納情報を一意に識別するIDが格納される。テーブル名202bには、該当するテーブルの名称が格納される。カラム名202cには、テーブル名202bのテーブルの該当するカラムが格納される。保護種類202dには、個人情報として保護の種類が格納される。例えば、保護種類202dの値が「直接」であれば、当該カラムによって直接個人を特定し得る情報(氏名等)であることを示し、「間接」であれば、当該カラムは他のカラムとの組み合わせによって個人を特定し得る可能性がある間接的な個人情報であることを示している。段数202eには、そのカラムが紐づき関係において、「直接」と指定されたカラムからどれほど隔たっているかの情報が格納される。例えば、そのカラムが「直接」と指定されたカラムである、または、「直接」と指定されたカラムと同じテーブルに属するときには、段数202eに「0」が格納され、そのカラムが段数「0」のカラムを有するテーブルと紐づき関係にあるときは、段数202eに「1」が格納される。
【0040】
以下、同様に、そのカラムが段数「i」(i≧0なる整数)のカラムを有するテーブルと紐づき関係にあるときは、段数202eに「i+1」が格納される。保護レベル202fには、該当するカラムの個人情報保護における保護のレベルが格納される。本実施形態の例では、値が小さいものを保護レベルが強いものとし、例えば、段数405の値が「0」のカラムは、保護レベル「1」が設定され、そのカラムの情報は、強い保護、例えば強度の高い暗号化の実施や厳密なアクセス制御やログ取得等が施されるのに対し、段数405の値が「1」以上のカラムについては、その段数に応じて、保護レベルの値が「2、3、…」と設定され、保護レベルの値が大きくなるにつれて、ゆるい保護、例えば、個人情報保護システムにおいて、簡易なアクセス制御のみを行う等の設定が施される。なお、上記の保護情報の設定の仕方は一例であり、他にも保管場所を隔離する、二段階認証等の高度な認証を採用する等、様々な方法が存在し得る。
【0041】
保護クラス情報テーブル203(タイプI)は、テーブルに対しての本システムで設定された保護クラスに関する情報を格納するテーブルであり、図7Aに示されるように、保護クラスID203a、テーブル名203b、保護クラス203c、段数203d、起点テーブル名203eの各カラムから構成される。
【0042】
保護クラスID203aには、このレコードの格納情報を一意に識別するIDが格納される。テーブル名203bには、該当するテーブルの名称が格納される。保護クラス203cには、個人情報保護システムにおけるが該当するテーブルの保護クラスが格納される。保護クラスとは、個人情報の保護対象となるテーブルごとに定義される情報であり、「must保護」クラスと「may保護」クラスの二種類がある。must保護が設定されるテーブルは、個人情報の保護が必須であることを意味し、may保護クラスが設定されるテーブルは、個人情報の保護については、状況によって保護が必要になる可能性があり、その属する保護クラスの等級に従って、個人情報の保護をすることを意味する。保護クラスの保護の強度としては、must保護>may1保護>may2保護>may3保護>…とする。
【0043】
本実施形態では、後に説明するように、保護種類として「直接」を指定されたカラムを有するテーブルの保護クラスは、「must保護」となり、参照先のテーブルの保護クラスは、参照元のテーブルの保護クラスは同じであるか、あるいは、そのテーブルの段数が大きくなるにつれて、参照元のテーブルの保護クラスの強度は弱くなるように設定する。なお、保護クラスの設定の仕方は、後に詳説する。段数203dには、該当するテーブルが、保護種類が「直接」としたカラムと紐づき関係の段数が格納される。そのようなテーブルが複数あるときには、最小の段数が格納される。起点テーブル名203eには、段数を算出した紐づき関係の最初のテーブルの名称が格納される。該当するテーブル自体が、「直接」としたカラムがないときには、空欄となる。
【0044】
保護クラス情報テーブル203(タイプII)は、保護クラス情報テーブル203(タイプII)に加えて、個人情報保護を行うときの時間情報を格納するテーブルであり、図7Bに示されるように、保護クラスID203a、テーブル名203b、保護クラス203c、段数203d、起点テーブル名203e、開始期間203f、終了期間203g、監視契機203hの各カラムから構成される。
【0045】
保護クラスID203a、テーブル名203b、保護クラス203c、段数203d、起点テーブル名203eについては、保護クラス情報テーブル203(タイプII)と同様である。
【0046】
開始期間203f、終了期間203gには、それぞれ該当するテーブルに対して、テーブルについて個人情報保護を有効とする開始期間と、終了期間が格納される。図7Bの例では、日にち単位で設定しているが、より詳細に、分単位、秒単で設定するようにしてもよい。監視契機203hには、個人情報を監視する契機を示す識別子か文字列が格納される。例えば、監視契機203hの値が、「1」であれば、定期的な監視を行う、「2」であればリアルタイムにテーブルのデータの変動を監視する、「3」であればユーザからの要求を契機に個人情報の監視を行うことにする。
【0047】
保護ポリシ管理テーブル204は、個人情報管理システムにおいて、何に対してどのように個人情報の保護を行うかのポリシに関する情報を格納するテーブルであり、図8に示されように、保護ポリシID204a、保護ポリシ内容204b、設定204cの各カラムから構成される。
【0048】
保護ポリシID204aには、このレコードの格納情報を一意に識別するIDが格納される。保護ポリシ内容204bには、このレコードで設定される保護ポリシの具体的な内容が格納される。保護ポリシとは、個人情報管理システムが何に対してどのように個人情報の保護を行うかの具体的な内容を指示する指針となる情報である。例えば、保護種類が「直接」のカラムの個人情報は保護対象とする、must保護クラスの設定されたテーブルの主キーのカラムのデータについては保護対象とする、保護種類が「直接」のカラムからの段数の値が、5未満のテーブルのみ保護する等のポリシである。設定204cには、このレコードが示す保護ポリシを現在有効とするか否かのフラグが格納され、設定204cの値が、「on」の保護ポリシが適用され、「off」の保護ポリシが適用されないことを示している。なお、特定の保護ポリシ、例えば、保護ポリシID204aの値「1」のポリシが有効にならなければ、他のポリシを有効化できない等の制御を行ったり、推奨のポリシセットを提供する等の処理を組込んでもよい。
【0049】
次に、図9ないし図16を用いて個人情報管理システムの処理について説明する。
【0050】
先ず、図9を用いてカラムの保護種類として、「直接」の保護を指定されたときに、テーブルに対して、それに伴う保護クラスの設定処理について説明する。
先ず、ユーザが個人情報アクセスクライアント10から、個人情報DB210に含まれるテーブルのカラムに対して、保護種類として「直接」を指定したとする。保護種類として「直接」が指定されるカラムの情報は、個人情報に直接に関連し、秘匿性の高い情報であることを意味し、例えば、テーブル名がユーザのテーブルの「氏名」が指定されたとする。
それを受けて、個人情報管理サーバ100のクライアント連携部101は、個人情報アクセスクライアント10からの「直接」の個人情報の設定の要求を受付ける(S101)。
【0051】
これにより、個人情報管理部102は、指定されたテーブルのカラムの保護種類を「直接」に設定し、指定されたテーブルの保護クラスを「must保護」に設定する(S102)。具体的には、図6に示す個人情報管理テーブル202の当該指定されたカラムに対応する保護種類202dの値が「直接」に設定される。例えば、テーブル名がユーザのテーブルの「氏名」のカラムの情報を「直接」の個人情報とする指定を受けた場合は、該当するレコードにおける保護種類202d値が「直接」と設定される。また、図7Aの保護クラス情報テーブル203において、保護クラスID203aの値「1」のレコードのように、テーブル名203bに「ユーザ」が登録され、保護クラス203cのカラムに「must保護」の値が設定される。
【0052】
次に、T←(カラムの保護種類を「直接」に設定したテーブル名)、C←「must保護」とする(S103)。
次に、Tの全てのカラムに対して、S105の処理を行う(S104-S107)。
S104-S107のループの中で、図4のテーブル関係情報テーブル201を参照し、そのカラムに紐づけカラムがあるときには(S105:YES)、パラメータ(T,カラム,C)に対して、参照先テーブルの保護クラス設定処理(T,カラム,C)を行う(S106)。参照先テーブルの保護クラス設定処理は、後に詳説する。
【0053】
S104-S106のループを抜けて、クライアント連携部101は、個人情報アクセスクライアント10に結果(成功or失敗)を送信する(S108)。
【0054】
次に、図10Aおよび図10Bを用いて参照先テーブルの保護クラス設定処理について説明する。
これは、図9のS105に該当する処理である。
【0055】
先ず、個人情報管理サーバ100の個人情報管理部102は、図4に示したテーブル関係情報テーブル201を参照し、パラメータのTに該当するレコードの被参照テーブル名303cの値を取得し、T1←(被参照テーブル名303cの値)とする(S201)。
【0056】
次に、C1←(T1のテーブルに設定されている保護クラス)とする(S202)なお、T1のテーブルに設定されている保護クラスが設定されていないとには、C1←NULLとし、このときの保護クラスの強度は最弱と定義する。
次に、パラメータのTに該当するレコードの紐づき関係201dの値を取得する(S203)。
【0057】
そして、S202で取得した紐づき関係201dの値により、参照元テーブルと参照先テーブルの対応関係を判定し(S204)、1:1のときには、S205に行き(S204:(1:1))、その他のときには(S204:Other)、S207に行く。
【0058】
参照元テーブルと参照先テーブルの対応関係が1:1のときには、Cの保護クラスの強度と、C1の保護クラスの強度を比較し(S205)、Cの保護クラスの強度>C1の保護クラスの強度のときには(S205:YES)、C1←C、参照先テーブルであるT1の保護クラス←Cとし(S206)、S211に行く。
【0059】
参照元テーブルと参照先テーブルの対応関係が1:1以外のときには、参照先テーブルの紐づきカラムの値と同一の値を有する参照元テーブルのレコード数のそれぞれの紐づきカラムの値にわたる最小値が所定の閾値以上であるか否かを判定し(S207)、所定の閾値以上であるときには(S207:YES)、S208に行き、所定の閾値未満であるときには(S207:NO)、S205に行く。なお、S207の判定条件は、後に具体例により詳説する。
【0060】
S207で所定の閾値以上のときには、C2←(Cより強度の弱い保護クラス)とする。例えば、C=「must保護」ときには、C2=「may1保護」、C=「may1保護」ときには、C2=「may2保護」とする。
【0061】
次に、C2の保護クラスの強度と、C1の保護クラスの強度を比較し(S205)、C2の保護クラスの強度>C1の保護クラスの強度のときには(S209:YES)、C1←C2、参照先テーブルであるT1の保護クラス←C2とし(S210)、S211に行く。
【0062】
次に、T1の全てのカラムに対して、S212の処理を行う(S211-S214)。
S211-S214のループの中で、図4のテーブル関係情報テーブル201を参照し、そのカラムに紐づけカラムがあるときには(S212:YES)、パラメータ(T1,カラム,C1)に対して、参照先テーブルの保護クラス設定処理(T1,カラム,C1)を行う(S213)。この参照先テーブルの保護クラス設定処理は、再帰処理呼出になっていることに留意する。
【0063】
次に、図11Aおよび図11Bを用いて、S206における判定処理の具体例について説明する。
この例では、参照元テーブルのテーブル名が「ユーザ」であり、参照先テーブルのテーブル名が「グループ」のテーブルである。
【0064】
「ユーザ」のテーブルの主キーのカラムは、「ユーザID」であり、外部キーの「所属グループID」に「グループ」のテーブルのグループIDの値が設定されることより、「グループ」のテーブルに紐づけられている。
【0065】
また、「ユーザ」のテーブルの「氏名」のカラムには、保護種類として「直接」が指定されているとする。
【0066】
「ユーザ」のテーブルの「所属グループID」には、一つの値のみ格納が許されているとすると、「ユーザ」のテーブルから見ると、多:1の対応関係になる。
【0067】
ここで、図11Aに示されるように、「ユーザID」が「U001」、「U002」、「U003」のユーザの「所属グループID」が全て「G001」であり、「ユーザID」が「U011」、「U012」のユーザの「所属グループID」が全て「G002」となっているとする。
【0068】
この場合には、「ユーザ」のテーブルの紐づきカラムの値の「G001」と同一の値を有する参照元テーブル(「ユーザ」のテーブル)のレコード数は、3であり、「ユーザ」のテーブルの紐づきカラムの値の「G002」と同一の値を有する参照元テーブルのレコード数は、2である。
【0069】
したがって、最小値は、2であり、所定の閾値以上が2とすると、「ユーザ」のテーブルには、「must保護」が設定され、「グループ」のテーブルには、それより保護強度が低い「may1保護」が設定される。
【0070】
一方、図11Bに示されるように、「ユーザID」が「U004」、「U005」、「U006」、「U021」、「U022」のユーザの「所属グループID」が、それぞれ「G001」、「G002」、「G003」、「G004」、「G005」、であるときには、同じ値を有する参照元テーブル(「ユーザ」のテーブル)のレコード数は、全て1であるため、所定の閾値を2としたときに、所定の閾値未満となる。
【0071】
そのため、このときには、「グループ」のテーブルにも、「ユーザ」のテーブルと同様の「must保護」が設定される。
【0072】
すなわち、本実施形態の個人情報管理システムの個人情報の取扱いは、所定の閾値(上の例では、2としたが実際には、個人情報を保護されるための十分大きな数値が望ましい)より、参照元のテーブルが参照先テーブルの関連において、十分に大きなレコード数を有するときには、個人情報の保護は、氏名などの直接の個人情報に比べて、個人情報の保護の保護強度を弱めて扱ってもよいという思想にたつものである。
【0073】
次に、図12を用いてテーブルの紐づき関係とテーブルに付与される保護クラスの具体例について説明する。尚、ここでは、保護ポリシID204aの値が「1」、「2」、「3」、「4」のレコードの設定204cが全て「on」になっている場合を例に説明する。
Table1のカラム10に保護種類として「直接」が設定されたとする。Table1の保護クラスは、「must保護」である。
【0074】
Table2は、参照先テーブルとして、カラム21で、Table1のカラム11に、1:1で紐づいているとする。このときのTable2の保護クラスは、Table1と同様の「must保護」である。
【0075】
Table3は、参照先テーブルとして、カラム31で、Table1のカラム13に、多:1で紐づいており、カラム31の値と同一の値を有するTable1内のレコード数の最小値が所定の閾値未満であるとする。このときのTable3の保護クラスは、Table1と同様の「must保護」である。
【0076】
Table4は、参照先テーブルとして、カラム41で、Table1のカラム12に、多:1で紐づいており、カラム41の値と同一の値を有するTable1内のレコード数の最小値が所定の閾値以上であるとする。このときのTable4の保護クラスは、Table1より保護強度が弱い「may1保護」である。
【0077】
Table5は、参照先テーブルとして、カラム42で、Table4のカラム42に、1:1で紐づいているとする。このときのTable5の保護クラスは、Table4と同様の「may1保護」である。
【0078】
Table6は、参照先テーブルとして、カラム61で、Table4のカラム43に、多:1で紐づいており、カラム61の値と同一の値を有するTable4内レコード数の最小値が所定の閾値以上であるとする。このときのTable6の保護クラスは、Table4より保護強度が弱い「may2保護」である。尚、例えば、保護ポリシID204aの値が「1」、「2」、「3」、「4」のレコードのうち、値が「1」の設定204cのみ「on」になっている場合は、「直接」が設定されたカラムを含むテーブルの参照先テーブルに保護クラスが設定され、「直接」が設定されたカラムまたは、当該カラムを含むテーブルの主キーを外部から参照しているテーブルに保護クラスが設定される。当該カラムを含むテーブルの中の当該カラムでもなく主キーでもないカラムのみ外部から参照しているテーブルには、前述の場合とは異なり、保護クラスは設定されない。
【0079】
次に、図13を用いてユーザの個人情報の保護指定を契機とする個人情報管理システムの個人情報の保護処理について説明する。
個人情報管理サーバ100の保護処理実行部104は、個人情報アクセスクライアント10からの図6の個人情報管理テーブル202のカラムに対する保護種類の「直接」の指定の要求や、図7Aの保護クラス情報テーブル203で示した保護クラスの更新や、図8の保護ポリシ管理テーブル204の保護ポリシの更新等の要求を契機として、関係するテーブルやカラムの個人情報に関する保護の情報を更新する(S301)。
【0080】
具体的には、当該要求に関係するテーブルやカラムについて、個人情報管理テーブル202の保護レベル202fや保護クラス情報テーブル203の保護クラス203cの値が更新される。例えば、新規の個人情報の登録する場合であれば、新たな個人情報の保護に関する情報の値が登録される。有効にする保護ポリシ内容204bの変更であれば、登録済みのカラムの保護レベル202fの値が、「1」から「2」へ変更されたり、保護クラス情報テーブル203の保護クラス203cの値が「may2保護」から登録なし(保護対象にしない)にするといった変更が行われる。保護処理実行部104は、更新したカラムやテーブルについて、更新された個人情報に関する保護の情報に応じた保護処理を実施する(S302)。個人情報に関する保護の情報に応じた保護処理とは、例えば、カラムに対する保護レベルが「1」であれば、そのカラムに格納された情報に対して、強度の高い暗号化の実施や厳密なアクセス制御やログ取得等の強い保護を施すのに対し、保護レベルが「2」であれば、簡易なアクセス制御のみ実施等の緩い保護を施す等である。
【0081】
なお、上記の保護方法は一例であり、他にも保管場所を隔離する、二段階認証等の高度な認証を採用する等、様々な方法や組合わせが存在し得る。
【0082】
そして、クライアント連携部101は、個人情報アクセスクライアント10に対して処理結果(成功OR失敗)を送信する(S303)。
【0083】
次に、図14を用いて指定された個人情報保護のテーブルと関連テーブルの監視処理について説明する。
この処理は、指定された個人情報保護のテーブルが参照するテーブルで、may1保護クラスやmay2保護クラスといった、must保護以外のフラグが設定されたテーブルに対して、個人情報保護を監視するときに有用な処理である。
【0084】
また、この例では、図7Bに示されるように、テーブル監視に関して、開始期間と終了期間が定められているものとする。
【0085】
先ず、ユーザは、個人情報アクセスクライアント10から、個人情報保護について監視したいテーブルを指定する。
次に、個人情報管理サーバ100のクライアント連携部101は、監視したいテーブルの指定を個人情報アクセスクライアント10から受信する(S401)。
次に、T←(監視したいテーブルのテーブル名)とする(S402)。
【0086】
次に、個人情報管理サーバ100の保護処理実行部104は、監視期間内であるか否かを判定し(S403)、監視期間内であるときには(S403:YES)、S404に行き、監視期間内でないときには(S403:NO)、S412に行く。
Tの全てのカラムについて、S405-S407、S409-S411の処理を行う(S404-S408)。
【0087】
S404-S408のループの中で、そのカラムに紐づけカラムがあるときには(S405:YES)、アラート判定処理(T,カラム)を呼び出す(S406)。アラート判定処理の詳細は、後に説明する。
【0088】
アラート判定処理でアラート要と判定されたときには(S407:YES)、個人情報アクセスクライアント10にアラートを通知する(S409)。
そして、個人情報アクセスクライアント10から保護処理の要求があるか否かを判定し(S410)、保護処理の要求があったときには(S410:YES)、個人情報管理サーバ100の保護処理実行部104は、システム所定の、あるいは、ユーザが指定した保護処理を実施し(S411)、保護処理の要求がなかったときには(S410:NO)、次のカラムに行く。
【0089】
なお、監視の契機としては、例えば、図7Bの保護クラス情報テーブルの監視契機203hの値が「1」であれば、月毎等定期的に監視し、値が「2」であればリアルタイムで常時監視し、値が「3」であればユーザからの要求があったときに、随時監視する。定期的な監視やリアルタイムでの監視の場合は、開始期間203fや終了期間203gの期間が設定されている場合は、その期間での監視とし、期間終了後はまた新たな保護クラスの設定や監視を行う。
【0090】
S404-S408のループを抜け、クライアント連携部101は、個人情報アクセスクライアント10に結果(成功or失敗)を送信する(S412)。
【0091】
次に、図15を用いてアラート判定処理について説明する。
これは、図14のS406に該当する処理である。
【0092】
先ず、参照元テーブル←Tとし(S501)、図4のテーブル関係情報テーブル201を参照し、カラムについての紐づき関係を判定し(S502)、参照元テーブルと参照先テーブルの関係が、1:1のときには(S502:(1:1))、S503に行き、その他のときは(S502:Other)、S504に行く。
【0093】
参照元テーブルと参照先テーブルの関係が、1:1のときには、アラート判定要をReturnにする(S503)。
【0094】
参照元テーブルと参照先テーブルの関係が、1:1以外のときには、参照先テーブルの紐づきカラムの値と同一の値を有する参照元テーブルのレコード数のそれぞれの紐づきカラムの値にわたる最小値が所定の閾値以上であるか否かを判定し(S504)、所定の閾値以上であるときには(S504:YES)、アラート判定不要をReturnし(S505)、所定の閾値未満であるときには(S504:NO)、S503に行く。
【0095】
なお、以上例では、当該テーブルの個人情報に関する保護を行うかのクライアント問い合わせ結果に基づいて保護を行うことにしたが、それ以外に、アラート通知後に、自動的にシステムが個人情報の保護を行うようにしてもいい。
【0096】
次に、図16を用いて個人情報の移転リクエストがあったときの処理について説明する。
個人情報の移転リクエストとは、例えば、図1に示したある個人情報管理サーバ100aから別の個人情報管理サーバ100bへ移転する処理である。
【0097】
ここで、ユーザは、個人情報の移転リクエストに関して、「安全なデータのみ」移転をリクエストできることとする。「安全なデータのみ」移転とは、システムが定めた個人情報に関する保護強度が低い、例えば、図6の個人情報管理テーブル202のテーブルのカラムに対する保護レベル202fの強度が低い(値が大きい)データのみを移転することである。
【0098】
先ず、個人情報管理サーバ100のクライアント連携部101は、個人情報アクセスクライアント10から、データの移転要求を受け付ける(S601)。
【0099】
そして、個人情報管理サーバ100は、要求内容が「安全なデータのみ」の移転であるか否かを判定する(S602)。「安全なデータのみ」の移転要求の場合には(S602:YES)、個人情報管理サーバ100は、個人情報DB210のテーブルに格納されているデータの要求されたもののうちで、カラムに付与されている保護レベル(個人情報管理テーブル202の保護レベル202f)の強度が所定の閾値より低いデータのみを収集し(S603)、収集したデータを個人情報アクセスクライアント10に返信してデータの移転を行わせる(S604)。なお、データの移転は、クライアント経由で行う以外に、移転先の情報も同時に受け付けて、データの移転要求を受けた個人情報管理サーバ100が、直接、他の個人情報管理サーバ100b等にデータを送信して行ってもいい。「安全なデータのみ」の移転要求で無かった場合には(S602:NO)、個人情報管理サーバ100は、データの保護レベルによらず要求されたデータを収集し(S604)、収集したデータを個人情報アクセスクライアント10に返信してデータの移転を行わせる(S604)。
【0100】
最後に、クライアント連携部101は、個人情報アクセスクライアント10に結果(成功or失敗)を送信する(S605)。
【0101】
以上、本実施形態の個人情報管理システムによれば、個人情報の保護が必要なデータに対して、個人の「氏名」などのように、ユーザが個人情報保護が必須とみなすデータに対して、保護種類として「直接」を指定させる。
【0102】
そして、保護種類として「直接」の情報を有するテーブルとのRDBの紐づき関係の段数により、テーブルのカラムごとの保護レベルを設定する。また、RDBの紐づき関係の段数、1:1や多:1などのRDBの紐づき関係の形態、紐づきに関係するテーブルのレコード数により、テーブルに対して保護クラスとして、「must保護」、「may保護」の設定を行なう。
【0103】
これらによって、本実施形態の個人情報管理システムによれば、個人情報としての識別が困難な情報を含めて、合理的に保護するための判断の指標を与え、個人情報の抽出を容易にし、個人情報の保護とデータの利活用を両立させることができ、個人情報に留意したデータの受渡し等を容易に行えるようになる。
【符号の説明】
【0104】
5…ネットワーク、
10…個人情報アクセスクライアント、11…サーバ連携部、12…入出力部、
100…個人情報管理サーバ、101…クライアント連携部、102…個人情報管理部、103…関連テーブル抽出部、104…保護処理実行部、105…保護ポリシ管理部、106…個人情報DBアクセス部、110…記憶部、
200…テーブル定義テーブル、201…テーブル関係情報テーブル、202…個人情報管理テーブル、203…保護クラス情報テーブル、204…保護ポリシ管理テーブル、210…個人情報DB
図1
図2
図3
図4
図5
図6
図7A
図7B
図8
図9
図10A
図10B
図11A
図11B
図12
図13
図14
図15
図16