(57)【要約】【課題】必要なデータ公開を実現しつつ、公開データに基づいて非公開データが推論されることを防止する。【解決手段】本発明のデータ読み出し管理プログラム６は、コンピュータ４に、データベース２に対するデータ読み出し要求を受け付ける受付機能８と、受付機能８によってデータ読み出し要求が受け付けられた場合に、データベース２の登録件数がデータベース２の公開データから非公開データが推論されることを防止するために必要なデータ登録数の下限として設定された所定のデータ件数以上か否か判定する判定機能１０と、判定機能１０によってデータベース２の登録件数が所定のデータ件数以上と判定された場合、データ読み出し要求を許可し、データベース２の登録件数が所定のデータ件数以上でないと判定された場合、データ読み出し要求を不許可とする制限機能９とを実現させる。【選択図】　　図１
2004110122.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
データベースに対するデータ読み出し要求を受け付ける受付機能と、
前記受付機能によってデータ読み出し要求が受け付けられた場合に、前記データベースの登録件数が、前記データベースの公開データから非公開データが推論されることを防止するために必要なデータ登録数の下限として設定された所定のデータ件数以上か否か判定する判定機能と、
前記判定機能によって前記データベースの登録件数が前記所定のデータ件数以上と判定された場合、前記データ読み出し要求を許可し、前記データベースの登録件数が前記所定のデータ件数以上でないと判定された場合、前記データ読み出し要求を不許可とする制限機能と
を実現させるためのデータ読み出し管理プログラム。
【請求項２】
請求項１記載のデータ読み出し管理プログラムにおいて、
前記制限機能は、前記データベースの登録件数が前記所定のデータ件数以上でない状態から前記所定のデータ件数以上の状態に変化した場合、前記データ読み出し要求の不許可状態を許可状態に変更する
ことを特徴とするデータ読み出し管理プログラム。
【請求項３】
コンピュータに、
データベースに対するデータ読み出し要求を受け付ける受付機能と、
前記受付機能によってデータ読み出し要求が受け付けられた場合に、前記データベースに登録されているデータの値の分散が、前記データベースの公開データから非公開データが推論されることを防止可能な分散の下限として設定された所定の分散以上か否か判定する判定機能と、
前記判定機能によって前記データベースに登録されているデータの値の分散が前記所定の分散以上と判定された場合、前記データ読み出し要求を許可し、前記データベースに登録されているデータの値の分散が前記所定の分散以上でないと判定された場合、前記データ読み出し要求を不許可とする制限機能と
を実現させるためのデータ読み出し管理プログラム。
【請求項４】
請求項３記載のデータ読み出し管理プログラムにおいて、
前記制限機能は、前記データベースに登録されているデータの値の分散が前記所定の分散以上でない状態から前記所定の分散以上の状態に変化した場合、前記データ読み出し要求の不許可状態を許可状態に変更する
ことを特徴とするデータ読み出し管理プログラム。
【請求項５】
コンピュータに、
データベースから読み出すデータの指定を含むデータ読み出し要求を受け付ける受付機能と、
前記受付機能によって受け付けられたデータ読み出し要求に含まれている指定を記録した記録情報を作成する作成機能と、
前記データベースの公開データから非公開データが推論される場合の指定パターンを設定した制限パターン情報と前記記録情報とが一致するか否か判定する判定機能と、
前記判定機能によって一致すると判定された場合、前記データ読み出し要求を不許可とし、一致しないと判定された場合、前記データ読み出し要求を許可する制限機能と
を実現させるためのデータ読み出し管理プログラム。
【請求項６】
請求項５記載のデータ読み出し管理プログラムにおいて、
前記作成機能は、外部からの命令にしたがって前記記録情報を変更し、
前記制限機能は、前記判定機能による判定結果が一致を示す状態から不一致を示す状態に変化した場合、前記データ読み出し要求の不許可状態を許可状態に変更する
ことを特徴とするデータ読み出し管理プログラム。
【請求項７】
請求項１乃至請求項６のいずれか記載のデータ読み出し管理プログラムにおいて、
コンピュータに、
前記受付機能によって受け付けられたデータ読み出し要求の発信元毎に、データ読み出し回数をカウントするカウント機能を実現させ、
前記判定機能は、前記発信元毎のデータ読み出し回数が、前記データベースの公開データから非公開データを推論するために必要なデータ読み出し回数の下限として設定された所定の回数以上か否か判定し、
前記制限機能は、前記判定機能によってデータ読み出し回数が前記所定の回数以上と判定された発信元について前記データ読み出し要求を不許可とし、前記所定の回数以上でないと判定された発信元について前記データ読み出し要求を許可する
ことを特徴とするデータ読み出し管理プログラム。
【請求項８】
請求項７記載のデータ読み出し管理プログラムにおいて、
前記カウント機能は、外部からの命令にしたがって、カウントしたデータ読み出し回数を変更することを特徴とするデータ読み出し管理プログラム。
【請求項９】
請求項１乃至請求項８のいずれか記載のデータ読み出し管理プログラムにおいて、
コンピュータに、
前記受付機能によって受け付けられたデータ読み出し要求の発信元毎に、読み出しを要求した前記データベースのデータ項目の数をカウントする項目数カウント機能を実現させ、
前記判定機能は、前記発信元毎の読み出しを要求したデータ項目の数が、前記データベースの公開データから非公開データを推論するために読み出す必要のあるデータ項目数の下限として設定された所定の項目数以上か否か判定し、
前記制限機能は、前記判定機能によって読み出しを要求したデータ項目の数が前記所定の項目数以上と判定された発信元について前記データ読み出し要求を不許可とし、前記所定数以上でないと判定された発信元について前記データ読み出し要求を許可する
ことを特徴とするデータ読み出し管理プログラム。
【請求項１０】
請求項９記載のデータ読み出し管理プログラムにおいて、前記項目数カウント機能は、外部からの命令にしたがって、カウントしたデータ項目の数を変更することを特徴とするデータ読み出し管理プログラム。
【請求項１１】
データベースに対するデータの読み出しを管理するシステムにおいて、
前記データベースに対するデータ読み出し要求を受け付ける受付手段と、
前記受付手段によってデータ読み出し要求が受け付けられた場合に、前記データベースの登録件数が、前記データベースの公開データから非公開データが推論されることを防止するために必要なデータ登録数の下限として設定された所定のデータ件数以上か否か判定する判定手段と、
前記判定手段によって前記データベースの登録件数が前記所定のデータ件数以上と判定された場合、前記データ読み出し要求を許可し、前記データベースの登録件数が前記所定のデータ件数以上でないと判定された場合、前記データ読み出し要求を不許可とする制限手段と
を具備したことを特徴とするデータ読み出し管理システム。
【請求項１２】
データベースに対するデータの読み出しを管理するシステムにおいて、
前記データベースに対するデータ読み出し要求を受け付ける受付手段と、
前記受付手段によってデータ読み出し要求が受け付けられた場合に、前記データベースに登録されているデータの値の分散が、前記データベースの公開データから非公開データが推論されることを防止可能な分散の下限として設定された所定の分散以上か否か判定する判定手段と、
前記判定手段によって前記データベースに登録されているデータの値の分散が前記所定の分散以上と判定された場合、前記データ読み出し要求を許可し、前記データベースに登録されているデータの値の分散が前記所定の分散以上でないと判定された場合、前記データ読み出し要求を不許可とする制限手段と
を具備したことを特徴とするデータ読み出し管理システム。
【請求項１３】
データベースに対するデータの読み出しを管理するシステムにおいて、
前記データベースから読み出すデータの指定を含むデータ読み出し要求を受け付ける受付手段と、
前記受付手段によって受け付けられたデータ読み出し要求に含まれている指定を記録した記録情報を作成する作成手段と、
前記データベースの公開データから非公開データが推論される場合の指定パターンを設定した制限パターン情報と前記記録情報とが一致するか否か判定する判定手段と、
前記判定手段によって一致すると判定された場合、前記データ読み出し要求を不許可とし、一致しないと判定された場合、前記データ読み出し要求を許可する制限手段と
を具備したことを特徴とするデータ読み出し管理システム。
【請求項１４】
コンピュータによりデータベースに対するデータの読み出しを管理する方法において、
前記データベースに対するデータ読み出し要求を受け付け、
前記データ読み出し要求が受け付けられた場合に、前記データベースの登録件数が、前記データベースの公開データから非公開データが推論されることを防止するために必要なデータ登録数の下限として設定された所定のデータ件数以上か否か判定し、
前記データベースの登録件数が前記所定のデータ件数以上と判定された場合、前記データ読み出し要求を許可し、前記データベースの登録件数が前記所定のデータ件数以上でないと判定された場合、前記データ読み出し要求を不許可とすることを特徴とするデータ読み出し管理方法。
【請求項１５】
コンピュータによりデータベースに対するデータの読み出しを管理する方法において、
前記データベースに対するデータ読み出し要求を受け付け、
前記データ読み出し要求が受け付けられた場合に、前記データベースに登録されているデータの値の分散が、前記データベースの公開データから非公開データが推論されることを防止可能な分散の下限として設定された所定の分散以上か否か判定し、
前記データベースに登録されているデータの値の分散が前記所定の分散以上と判定された場合、前記データ読み出し要求を許可し、前記データベースに登録されているデータの値の分散が前記所定の分散以上でないと判定された場合、前記データ読み出し要求を不許可とする
ことを特徴とするデータ読み出し管理方法。
【請求項１６】
コンピュータによりデータベースに対するデータの読み出しを管理する方法において、
前記データベースから読み出すデータの指定を含むデータ読み出し要求を受け付け、
前記データ読み出し要求に基づいて、前記データベースから読み出すデータの指定を記録した記録情報を作成し、
前記データベースの公開データから非公開データが推論される場合の指定パターンを設定した制限パターン情報と前記記録情報とが一致するか否か判定し、
一致すると判定された場合、前記データ読み出し要求を不許可とし、一致しないと判定された場合、前記データ読み出し要求を許可する
ことを特徴とするデータ読み出し管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各種データベース管理システム、ファイルシステムによって管理されているデータの読み出しを管理するプログラム及びシステム並びに方法に関する。
【０００２】
【従来の技術】
リレーショナルデータベース管理システム（以下、「ＲＤＢＭＳ」という）又はファイルシステムは、複数のユーザやアプリケーションにアクセスされるデータソース（以下、「データベース」という）を管理する。
【０００３】
複数のユーザやアプリケーションがデータベースを共有し、目的に応じたデータの書き込みや読み出しを行うことにより、データが有効に活用される。
【０００４】
その一方で、データベースには、個人情報や会社の機密情報など、公開されてはならないデータが格納される場合もある。
【０００５】
この場合には、一般的に、公開するデータか非公開とするデータかを予め設定し、各種のアクセス制御により非公開のデータの読み出しを制限する手法が利用される。
【０００６】
従来のリレーショナルデータベースでは、ユーザ管理やビューテーブルによるアクセス制御が提供され、セキュリティが確保される（例えば、非特許文献１参照）。
【０００７】
また、従来のデータベースでは、件数をもとにした読み出し制御が実行される（例えば、非特許文献２参照）。
【０００８】
【非特許文献１】
増永良文，“リレーショナルデータベース入門−データモデル・ＳＱＬ，管理システム−”，サイエンス社，１９９１
【０００９】
【非特許文献２】
Ｓｉｌｖａｎａ　Ｃａｓｔａｎｏ　ｅｔ．ａｌ，“Ｄａｔａｂａｓｅ　Ｓｅｃｕｒｉｔｙ”，ａｃｍ　ｐｒｅｓｓ，１９９４
【００１０】
【発明が解決しようとする課題】
データ件数が少ない場合、公開データを組み合わせて非公開データを推測可能な場合がある。
【００１１】
例えば、氏名、年齢、年収を含む会員データをデータベースに登録し、会員の氏名、会員の年齢の平均値、会員の年収の平均値、データベースに登録されているデータ件数（登録されている会員の人数）を公開データとし、各会員の年齢、各会員の年収を非公開データとする。
【００１２】
このデータベースにおいてデータ件数が１件の場合、公開データである年齢の平均値と年収の平均値からデータベースに登録されている会員の氏名、年齢、年収が一義的に把握可能である。
【００１３】
また、データベースに登録されているデータ件数が２件の場合にデータの最大値と最小値、データ件数が公開されると、最大値と最小値がデータベースに登録されている２件のデータの内容を一義的に示すことが容易に推測される。
【００１４】
また、人口の少ない村のデータベースにおいて村民の年齢と個人情報とを匿名で公開すると、年齢からその村民を推測可能である。
【００１５】
情報公開に対する要求は近年急速に高まっており、上記のような公開データに基づいて個人のプライバシーや組織の秘密情報が流出することを防止する必要がある。
【００１６】
すなわち、一般的なデータベースでは、アクセス制御などは提供されているが推論を想定した制御機構は備えていない。また、件数をもとに読み出し制御を実現しても、制限の回復については検討されていない。
【００１７】
本発明は、以上のような実情に鑑みてなされたもので、必要なデータ公開を実現しつつ、公開データに基づいて非公開データが推論されることを防止するデータ読み出し管理プログラム及びシステム並びに方法を提供することを目的とする。
【００１８】
【課題を解決するための手段】
本発明を実現するにあたって講じた具体的手段について以下に説明する。
【００１９】
第１の発明のデータ読み出し管理プログラムは、コンピュータに、データベースに対するデータ読み出し要求を受け付ける受付機能と、受付機能によってデータ読み出し要求が受け付けられた場合に、データベースの登録件数がデータベースの公開データから非公開データが推論されることを防止するために必要なデータ登録数の下限として設定された所定のデータ件数以上か否か判定する判定機能と、判定機能によってデータベースの登録件数が所定のデータ件数以上と判定された場合、データ読み出し要求を許可し、データベースの登録件数が所定のデータ件数以上でないと判定された場合、データ読み出し要求を不許可とする制限機能とを実現させる。
【００２０】
これにより、登録件数が少ないために公開データから非公開データが推論されることを防止できる。また、迅速に制限の回復を実現できる。
【００２１】
なお、制限機能は、データベースの登録件数が所定のデータ件数以上でない状態から所定のデータ件数以上の状態に変化した場合、データ読み出し要求の不許可状態を許可状態に変更するとしてもよい。これにより、推論不可能となった時点で公開データを公開することができる。
【００２２】
第２の発明のデータ読み出しプログラムは、コンピュータに、データベースに対するデータ読み出し要求を受け付ける受付機能と、受付機能によってデータ読み出し要求が受け付けられた場合に、データベースに登録されているデータの値の分散がデータベースの公開データから非公開データが推論されることを防止可能な分散の下限として設定された所定の分散以上か否か判定する判定機能と、判定機能によってデータベースに登録されているデータの値の分散が所定の分散以上と判定された場合、データ読み出し要求を許可し、データベースに登録されているデータの値の分散が所定の分散以上でないと判定された場合、データ読み出し要求を不許可とする制限機能とを実現させる。
【００２３】
これにより、データの内容が一定の範囲に集中しているために公開データから非公開データが推論されることを防止できる。また、迅速に制限の回復を実現できる。
【００２４】
なお、制限機能は、制限機能は、データベースに登録されているデータの値の分散が所定の分散以上でない状態から所定の分散以上の状態に変化した場合、データ読み出し要求の不許可状態を許可状態に変更するとしてもよい。これにより、推論不可能となった時点で公開データを公開することができる。
【００２５】
第３の発明のデータ読み出し管理プログラムは、コンピュータに、データベースから読み出すデータの指定を含むデータ読み出し要求を受け付ける受付機能と、受付機能によって受け付けられたデータ読み出し要求に含まれている指定を記録した記録情報を作成する作成機能と、データベースの公開データから非公開データが推論されるデータ項目の指定パターンを設定した制限パターン情報と記録情報とが一致するか否か判定する判定機能と、判定機能によって一致すると判定された場合、データ読み出し要求を不許可とし、一致しないと判定された場合、データ読み出し要求を許可する制限機能とを実現させる。
【００２６】
これにより、複数の公開データの内容を組み合わせて非公開データが推論されることを防止できる。また、迅速に制限の回復を実現できる。
【００２７】
なお、作成機能は、外部からの命令にしたがって記録情報を変更し、制限機能は、判定機能による判定結果が一致を示す状態から不一致を示す状態に変化した場合、データ読み出し要求の不許可状態を許可状態に変更するとしてもよい。これにより、記録情報を変更して自由に読み出し許可・不許可を変更できる。
【００２８】
上記各発明のデータ読み出し管理プログラムは、コンピュータに、受付機能によって受け付けられたデータ読み出し要求の発信元毎に、データ読み出し回数をカウントするカウント機能を実現させ、判定機能は、発信元毎のデータ読み出し回数が、データベースの公開データから非公開データを推論するために必要なデータ読み出し回数の下限として設定された所定の回数以上か否か判定し、制限機能は、判定機能によってデータ読み出し回数が所定の回数以上と判定された発信元についてデータ読み出し要求を不許可とし、所定の回数以上でないと判定された発信元についてデータ読み出し要求を許可するとしてもよい。
【００２９】
これにより、公開データを一定限度以上読み出して非公開データを推論する行為を防止することができる。また、迅速に制限の回復を実現できる。
【００３０】
なお、カウント機能は、外部からの命令にしたがって、カウントしたデータ読み出し回数を変更するとしてもよい。これにより、発信元毎に、読み出し回数を変更して自由に読み出し許可・不許可を変更できる。
【００３１】
上記各発明のデータ読み出し管理プログラムは、コンピュータに、受付機能によって受け付けられたデータ読み出し要求の発信元毎に、読み出しを要求したデータベースのデータ項目の数をカウントする項目数カウント機能を実現させ、判定機能は、発信元毎の読み出しを要求したデータ項目の数がデータベースの公開データから非公開データを推論するために読み出す必要のあるデータ項目数の下限として設定された所定の項目数以上か否か判定し、制限機能は、判定機能によって読み出しを要求したデータ項目の数が所定の項目数以上と判定された発信元についてデータ読み出し要求を不許可とし、所定数以上でないと判定された発信元についてデータ読み出し要求を許可するとしてもよい。
【００３２】
これにより、データベースのデータ項目に対するデータ読み出しが一定限度以上実行されて非公開データが推論されることを防止することができる。
【００３３】
なお、項目数カウント機能は、外部からの命令にしたがって、カウントしたデータ項目の数を変更するとしてもよい。これにより、発信元毎に、カウントされたデータ項目数を変更して自由に読み出し許可・不許可を変更できる。
【００３４】
上記のようなデータ読み出し管理プログラム及びこのプログラムを記録した記録媒体を用いることによって、上述した機能を有していないコンピュータ、コンピュータシステム、サーバやクライアント等に対して、簡単に上述した機能を付加することができる。
【００３５】
本発明のデータ読み出し管理プログラムで実現される機能と同様に動作する手段をデータ読み出し管理システムに具備してもよい。
【００３６】
また、本発明のデータ読み出し管理プログラムによって実施されるデータ読み出し管理方法を発明の対象としてもよい。
【００３７】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について説明する。なお、以下に示す各図において、同一の部分については同一の符号を付してその説明を省略する。
【００３８】
（第１の実施の形態）
本実施の形態においては、データベースに登録されたデータの件数が予め設定したデータ件数に満たない場合にデータ読み出しを制限する。
【００３９】
なお、以下においては、データ読み出しの一態様として、データ検索を行う場合について説明する。
【００４０】
図１は、本実施の形態に係るデータ読み出し管理プログラム及びデータ読み出し管理システムの一例を示すブロック図である。
【００４１】
データ管理部１は、データベース２に登録されているデータへのアクセスを管理する。このデータ管理部１の具体例として、リレーショナルデータベース管理システム、オペレーティングシステムが提供するファイルシステム、アクセスインタフェースを付加したファイルシステムなどがある。例えば、データ管理部１は、質問文の内容に応じてデータベース２に対する検索を実行する。
【００４２】
データベース２は、記憶装置と処理装置とを具備する装置である。
【００４３】
本実施の形態においては、データベース２は表形式でデータＤ１〜ＤＮを管理するとする。なお、データベース２のテーブルＴ１は、各データＤ１〜ＤＮの値を項目Ａ１〜ＡＭ毎に管理する。
【００４４】
検索要求側３は、データベース２に対する検索要求を発する。検索要求側３の具体例としては、ユーザ３ａ、アプリケーション３ｂ、外部システム３ｃなどがある。なお、以下においては、検索要求側３がユーザ３ａである場合について説明するが、他の場合でも同様である。
【００４５】
データ読み出し管理システム４は、記録媒体５に記録されているデータ読み出し管理プログラム６を読み込み、実行する。
【００４６】
データ読み出し管理プログラム６は、データ読み出し管理システム４上で起動されると、設定機能７、受付機能８、制限機能９、判定機能１０を実現する。
【００４７】
なお、設定機能７はデータ読み出し管理システム４の管理部１１に対応し、受付機能８と制限機能９は受付部１２に対応し、判定機能１０はデータ監視部１３に対応する。
【００４８】
データ読み出し管理システム４は、設定情報１４を記憶する設定記憶部１５と制限状態情報１６を記憶する制限状態記憶部１７とを備える。なお、設定記憶部１５と制限状態記憶部１７とは、データ読み出し管理システム４の外部記憶装置としてもよい。
【００４９】
管理部１１の設定機能７は、データ読み出しを許可する最小限のデータ件数の設定を管理者１８から受け付け、このデータ読み出しを許可する最小限のデータ件数を設定情報１４として設定記憶部１５に記憶する。
【００５０】
図２は、設定情報１４の具体例を示す図である。この設定情報１４では、データ読み出しを許可する最小限のデータ件数がｎ件であると設定されている。
【００５１】
データ読み出しを許可する最小限のデータ件数は、公開データから非公開データを推論不可能となるデータ登録数の下限から定められる。なお、本実施の形態においては、データ読み出しを許可する最小限のデータ件数を設定するとしているが、データ読み出しを許可しない最大のデータ件数を設定してもよい。
【００５２】
受付部１２の受付機能８は、ユーザ３ａから質問文を含む検索要求を受け付ける。
【００５３】
また、受付機能８は、検索要求を受け付けると、データ監視部１３を起動する。
【００５４】
データ監視部１３の判定機能１０は、データベース２のデータ登録件数と設定情報１４の示すデータ読み出しを許可する最小限のデータ件数とを比較する。
【００５５】
判定機能１０は、比較の結果、データ登録件数が設定情報１４の示すデータ件数以上であれば読み出し許可とし、データ登録件数が設定情報１４の示すデータ件数に満たなければ読み出し不許可とする。
【００５６】
そして、判定機能１０は、読み出しの可否を制限状態情報１６として制限状態記憶部１７に記憶する。
【００５７】
図３は、データ登録件数が設定情報１４の示すデータ件数以上となる場合の制限状態情報１６の具体例を示す図である。データベース２に登録されたデータ件数がｎ件よりも多いため、制限状態が許可とされている。
【００５８】
図４は、データ登録件数が設定情報１４の示すデータ件数に満たない場合の制限状態情報１６の具体例を示す図である。データベース２に登録されたデータ件数がｎ件に満たないため、制限状態が不許可とされている。
【００５９】
受付部１２の制限機能９は、設定情報１４の内容が読み出し許可を示す場合に、データ管理部１に検索要求に含まれる質問文を通知し、データ管理部１から検索結果を受け付けてユーザ３ａに通知する。
【００６０】
一方、制限機能９は、設定情報１４の内容が読み出し不許可を示す場合に、推論防止のため読み出しをエラーとする旨をユーザ３ａに通知する。
【００６１】
以下に、本実施の形態に係るデータ読み出し管理システム４及びデータ読み出し管理プログラム６によって実施されるデータ読み出し管理方法についてフローチャートを用いて説明する。
【００６２】
図５は、設定機能７による設定情報１４の設定動作の一例を示すフローチャートである。
【００６３】
ステップＳ１において、設定機能７は、設定記憶部１５の内容を読み出し、表示する。
【００６４】
ステップＳ２において、設定機能７は、管理者１８からデータ読み出しを許可する最小限のデータ件数を設定値として受け付ける。
【００６５】
ステップＳ５０３において、設定機能７は、設定値を設定情報１４として設定記憶部１５に書き込む。
【００６６】
図６は、受付部１２の動作の一例を示すフローチャートである。
【００６７】
ステップＴ１において、受付部１２の受付機能８は、ユーザ３ａから検索要求を受け付ける。なお、検索要求には、ユーザＩＤ、データ管理部１に対する質問文などが含まれる。
【００６８】
ステップＴ２において、受付機能８は、検索要求に含まれているユーザＩＤなどに基づいて、ユーザ３ａ（検索要求側３）が推論制御の対象か否かを判断する。推論制御対象でない場合には、ステップＴ６以下の処理を実行する。
【００６９】
ユーザ３ａが推論制御対象の場合、ステップＴ３において、受付機能８は、データ監視部１３を起動する。するとデータ監視部１３により制限状態情報１６が制限状態記憶部１７に記憶される。
【００７０】
ステップＴ４において、受付部１２の制限機能９は、制限状態記憶部１７に記憶されている制限状態情報１６の内容を調べる。
【００７１】
制限状態情報１６が読み出し不許可を示す場合、ステップＴ５において、制限機能９は、ユーザ３ａにエラーを通知する。
【００７２】
制限状態情報１６が読み出し許可を示す場合、制限機能９は、ステップＴ６において検索要求に含まれている質問文をデータ管理部１に通知する。データ管理部１は、通知された質問文にしたがってデータベース２に対する検索を実行し、結果を制限機能９に通知する。
【００７３】
ステップＴ７において、制限機能９は、検索結果をデータ管理部１から受ける。
【００７４】
ステップＴ８において、制限機能９は、検索結果をユーザ３ａに通知する。
【００７５】
図７は、データ監視部１３によるデータ許可・不許可の判定動作の一例を示すフローチャートである。
【００７６】
ステップＵ１において、データ監視部１３の判定機能１０は、データ管理部１を経由してデータベース２に登録されているデータ件数を読み出す。
【００７７】
ステップＵ２において、判定機能１０は、データベース２に登録されているデータ件数が設定記憶部１４に記憶されている設定情報１４の示すデータ件数以上か否かを判定する。
【００７８】
データベース２に登録されているデータ件数が設定情報１４の示すデータ件数以上であれば、ステップＵ３において、判定機能１０は、読み出し許可を示す制限状態情報１６を制限状態記憶部１７に記憶する。
【００７９】
データベース２に登録されているデータ件数が設定情報１４の示すデータ件数に満たなければ、ステップＵ４において、判定機能１０は、読み出し不許可を示す制限状態情報１６を制限状態記憶部１７に記憶する。
【００８０】
以上説明した本実施の形態においては、データベース２に登録されているデータ件数が少ない場合にデータの読み出しが制限されるため、データベース２の登録件数が少ないことを原因とする推論を防止することができる。
【００８１】
したがって、個人のプライバシーや組織の機密情報を保護しつつ、必要なデータを安全に公開できる。
【００８２】
また、本実施の形態においては、検索要求に含まれているユーザＩＤに基づいて、受付機能８によって推論制御対象のユーザからの読み出しか否か判定される。読み出しを要求したユーザが推論制御対象のユーザか否か判断するために設定される情報（例えば推論制御対象ユーザのユーザＩＤ）を変更することにより、容易に推論制御の解除、開始を切り換えることができ、管理者１８の管理労力を軽減できる。
【００８３】
（第２の実施の形態）
本実施の形態においては、上記第１の実施の形態の変形例について説明する。本実施の形態では、データベースで管理されるテーブルの各項目の値について分散を求め、分散が所定値以上の項目に対するデータの読み出しを許可する。
【００８４】
本実施の形態に係るデータ読み出し管理プログラム及びデータ読み出し管理システムは、上記図１に示す構成と同様の構成を持つため、ここでは図１を用いて本実施の形態の特徴的な部分について説明する。
【００８５】
なお、分散とは、値のばらつきの度合いを示す値である。例えば、項目Ａ１の分散には、各データの項目Ａ１の値から項目Ａ１の平均値を減算した結果の二乗を合計した値（平方和）を、項目Ａ１の値の個数から１を引いた値で除算した結果が利用される。他の項目Ａ２〜ＡＭについても同様である。
【００８６】
設定機能７は、管理者１８から各項目Ａ１〜ＡＭについて、データ読み出しを許可する最小限の分散の設定値を受け付け、設定情報として設定記憶部１５に記憶する。
【００８７】
図８は、分散についての設定情報１９の具体例を示す図である。
【００８８】
各項目Ａ１〜ＡＭについて、データ読み出しを許可する最小限の分散ｄ１〜ｄＭが設定されている。
【００８９】
判定機能１０は、データ管理部１にテーブルＴ１の分散を計算する旨の質問文を通知する。
【００９０】
図９は、テーブルＴ１の分散を求めるための質問文をＳＱＬ言語で記述した例を示す図である。
【００９１】
この質問文２０にしたがってデータ管理部１は、テーブルＴ１の分散を求め、判定機能１０に通知する。
【００９２】
判定機能１０は、データ管理部１から受け付けたテーブルＴ１の分散の内容と設定情報１９の内容とを比較する。
【００９３】
そして、判定機能１０は、求められたテーブルＴ１の分散が設定情報１９の示す分散以上となる項目を読み出し許可とし、テーブルＴ１の分散が設定情報１９の示す分散値に満たない項目を読み出し不許可とする制限状態情報１６を制限状態記憶部１７に記憶する。
【００９４】
制限機能９は、制限状態情報１６において読み出し許可を示す項目に対して読み出しを許可し、読み出し不許可を示す項目に対して読み出しを不許可とする。
【００９５】
例えば、制限機能９は、テーブルＴ１の項目「年収」について分散が設定情報１９の示す分散以上の場合、項目「年収」についてデータ読み出しを許可し、分散が設定情報１９の示す分散に満たない場合、項目「年収」についてデータ読み出しを不許可とする。
【００９６】
以上説明した本実施の形態においては、データベース２のデータ項目のうち分散の小さいデータ項目についてデータの読み出しが制限される。これにより、データベース２に登録されたデータの内容のばらつきが少ないことを原因とする推論を防止することができる。
【００９７】
例えば、データベース２に登録されている会員の年収は非公開データであり、会員の年収の平均値と分散とは公開データであるとする。
【００９８】
会員の年収の分散が小さい場合、ある会員の年収は、年収の平均値に近いと推論可能である。
【００９９】
しかしながら、本実施の形態においては、分散がある程度大きくなり、ある程度会員の年収がばらつくまで年収の平均値が公開されないため、非公開データである会員の年収が推論されることを防止できる。
【０１００】
（第３の実施の形態）
本実施の形態においては、ユーザ毎に、データ読み出し回数と読み出し項目の数とをカウントし、カウントされた値が所定の設定値以上の場合にこのユーザによるデータの読み出しを不許可とする。
【０１０１】
図１０は、本実施の形態に係るデータ読み出し管理プログラム及びデータ読み出し管理システムの一例を示すブロック図である。
【０１０２】
データ読み出し管理システム２１は、記録媒体２２に記録されているデータ読み出し管理プログラム２３を読み込み、実行する。
【０１０３】
データ読み出し管理プログラム２３は、データ読み出し管理システム２１上で起動されると、設定機能２４、受付機能２５、利用状態作成機能２６、判定機能２７、制限機能２８を実現する。
【０１０４】
なお、設定機能２４はデータ読み出し管理システム２１の管理部２９に対応し、受付機能２５、利用状態作成機能２６、判定機能２７、制限機能２８は受付部３０に対応する。
【０１０５】
データ読み出し管理システム２１は、設定情報３１を記憶する設定記憶部３２と利用状態情報３３を記憶する利用状態記憶部３４とを具備する。なお、設定記憶部３２と利用状態記憶部３４とはデータ読み出し管理システム２１の外部記憶装置としてもよい。
【０１０６】
管理部２９の設定機能２４は、データ読み出しを制限するしきい値となるデータ読み出し回数と読み出し項目の数の設定を管理者１８から受け付ける。
【０１０７】
そして、設定機能２４は、設定内容を設定情報３１として設定記憶部３２に記憶する。
【０１０８】
表１に、設定情報３１の具体例を示す。設定情報３１には、データ読み出し回数がｐ以上の場合にデータ読み出しを禁止する旨が登録されている。また、データの読み出された項目数がｑ以上の場合にデータ読み出しを禁止する旨が登録されている。
【０１０９】
【表１】
2004110122.tif 000003
【０１１０】
読み出しを禁止するデータ読み出し回数には、公開データから非公開データを推論するために必要とされるデータの読み出し回数の下限が設定される。
【０１１１】
読み出しを禁止する読み出し項目数には、公開データから非公開データを推論するために読み出す必要のある項目の数の下限が設定される。
【０１１２】
受付部３０の受付機能２５は、ユーザ３ａから質問文とユーザＩＤとを含む検索要求を受け付ける。
【０１１３】
利用状態作成機能２６は、検索要求に含まれているユーザＩＤに基づいて検索要求側のユーザ３ａのデータ読み出し回数をカウントし、結果を利用状態記憶部３４の利用状態情報３３に含めて記憶する。
【０１１４】
また、利用状態作成機能２６は、ユーザ３ａが質問文で指定したデータ項目の数をカウントし、結果を利用状態記憶部３４の利用状態情報３３に含めて記憶する。
【０１１５】
表２に、利用状態情報３３の具体例を示す。
【０１１６】
【表２】
2004110122.tif 000004
【０１１７】
利用状態情報３３は、ユーザＩＤ毎に、データ読み出し回数と読み出し項目数とを管理している。
【０１１８】
判定機能２７は、設定情報３１の含むデータ読み出し回数のしきい値と、利用状態情報３３の含むデータ読み出し回数とを比較する。
【０１１９】
そして、判定機能２７は、比較の結果、ユーザ３ａのデータ読み出し回数がしきい値以上であれば読み出し不許可とし、ユーザ３ａのデータ読み出し回数がしきい値に満たない場合には読み出し許可とする。
【０１２０】
また、判定機能２７は、設定情報２４の含むデータ読み出し項目数のしきい値と、利用状態情報３３の含む読み出し項目数とを比較する。
【０１２１】
そして、判定機能２７は、比較の結果、ユーザ３ａのデータ読み出し項目数がしきい値以上であれば読み出し不許可とし、ユーザ３ａの読み出し項目数がしきい値に満たない場合には読み出し許可とする。
【０１２２】
制限機能２８は、判定機能２７によって読み出し許可と判定された場合に、データ管理部１に検索要求に含まれる質問文を通知し、データ管理部１から検索結果を受け付けてユーザ３ａに通知する。
【０１２３】
一方、制限機能２８は、判定機能２７によって読み出し不許可と判定された場合に、推論防止のためデータ読み出しをエラーとする旨をユーザ３ａに通知する。
【０１２４】
図１１は、受付部３０の動作の一例を示すフローチャートである。
【０１２５】
ステップＶ１において、受付部３０の受付機能２５は、ユーザ３ａから検索要求を受け付ける。なお、検索要求には、ユーザＩＤ、データ管理部１に対する質問文などが含まれる。
【０１２６】
ステップＶ２において、利用状態作成機能２６は、検索要求に含まれている質問文で指定されているデータ項目の数を求める。
【０１２７】
ステップＶ３において、利用状態作成機能２６は、検索要求に含まれているユーザＩＤと利用状態記憶部３４の利用状態情報３３などに基づいて、検索要求側のユーザ３ａが登録済みか否か判断する。
【０１２８】
未登録の場合、ステップＶ４において、利用状態作成機能２６は、検索要求に含まれているユーザＩＤを利用状態情報３３に登録し、このユーザＩＤに対応するデータ読み出し回数及び読み出し項目数を０とし、ステップＶ８以下の処理を実行する。
【０１２９】
登録済みの場合、ステップＶ５において、利用状態作成機能２６は、利用状態情報３３に含まれているユーザＩＤに対応するデータ読み出し回数及び読み出し項目数を読み出す。
【０１３０】
ステップＶ６において、判定機能２７は、ユーザＩＤに対応するデータ読み出し回数又は読み出し項目数が設定情報の示すしきい値以上か否かを判断する。
【０１３１】
データ読み出し回数又は読み出し項目数がしきい値以上の場合には、ステップＶ７において、制限機能２８は、ユーザ３ａにエラーを通知する。
【０１３２】
読み出し回数と読み出し項目数がしきい値に満たない場合には、ステップＶ８において、制限機能２８は、検索要求に含まれている質問文をデータ管理部１に通知する。データ管理部１は、通知された質問文にしたがってデータベース２に対する検索を実行し、結果を制限機能２８に通知する。
【０１３３】
ステップＶ９において、制限機能２８は、検索結果をデータ管理部１から受ける。
【０１３４】
ステップＶ１０において、制限機能２８は、検索結果をユーザ３ａに通知する。
【０１３５】
ステップＶ１１において、利用状態作成機能２６は、ユーザＩＤに対応するデータ読み出し回数に１を加え、読み出し項目数にステップＶ２で求めた項目の数を加え、利用状態情報３３を更新する。
【０１３６】
なお、ステップＶ１１は、ステップＶ８以下のどの時点で実行してもよい。
【０１３７】
以上説明した本実施の形態においては、推論可能となる読み出し回数以上の読み出しを行ったユーザについて読み出しが制限され、これにより公開データから非公開データが推測されることを防止できる。
【０１３８】
同様に、推論可能となる読み出し項目数以上の項目を指定したユーザについて読み出しが制限され、これにより公開データから非公開データが推測されることを防止できる。
【０１３９】
また、本実施の形態において、例えば管理者１８は、あるユーザについてデータ読み出しの制限状態を解除したい場合、このユーザのユーザＩＤに対応するデータ読み出し回数又は読み出し項目数を減少させるように利用状態情報３３を更新すればよい。これにより、容易に特定のユーザのデータ読み出し制限状態を解消できる。
【０１４０】
一方、例えば管理者１８は、あるユーザについてデータ読み出しを制限したい場合、このユーザのユーザＩＤに対応するデータ読み出し回数又は読み出し項目数をしきい値ｐ、ｑ以上と書き換えればよい。これにより、容易に特定のユーザのデータ読み出しを制限できる。
【０１４１】
（第４の実施の形態）
本実施の形態においては、データベースに登録されている公開データから非公開データの内容を推論可能となる読み出しパターンを予め設定し、この読み出しパターンと一致するデータ読み出しが要求されたか否かを判定し、一致する場合にデータ読み出しを制限する。
【０１４２】
図１２は、本実施の形態に係るデータ読み出し管理プログラム及びデータ読み出し管理システムの一例を示すブロック図である。
【０１４３】
データ読み出し管理システム３５は、記録媒体３６に記録されているデータ読み出し管理プログラム３７を読み込み、実行する。
【０１４４】
データ読み出し管理プログラム３７は、データ読み出し管理システム３５上で起動されると、設定機能３８、受付機能３９、利用状態作成機能４０、判定機能４１、制限機能４２を実現する。
【０１４５】
なお、設定機能３８はデータ読み出し管理システム３５の管理部４３に対応し、受付機能３９、利用状態作成機能４０、判定機能４１、制限機能４２は受付部４４に対応する。
【０１４６】
データ読み出し管理システム３５は、制限パターン情報４５を記憶する制限パターン記憶部４６と利用状態情報４７を記憶する利用状態記憶部４８とを備える。なお、制限パターン記憶部４６と利用状態記憶部４８とはデータ読み出し管理システム３５の外部記憶装置としてもよい。
【０１４７】
管理部４３の設定機能３８は、公開データから非公開データを推論する場合の指定パターンとして制限されるべき制限パターンの設定を管理者１８から受け付け、この設定内容を制限パターン情報４５として制限パターン記憶部４６に記憶する。
【０１４８】
表３に、制限パターン情報４５の具体例を示す。
【０１４９】
【表３】
2004110122.tif 000005
【０１５０】
制限パターン情報４５に登録されている第１の制限パターンは、データ項目「ｓａｌａｒｙ（給料）」の平均値とデータ件数とを読み出してはならない旨を示す。
【０１５１】
第２の制限パターンは、データ項目「ｓａｌａｒｙ」の最大値、データ項目「ｓａｌａｒｙ」の最小値、データ件数を読み出してはならない旨を示す。
【０１５２】
第３の制限パターンは、データ項目「ｓａｌａｒｙ」の平均値、データ件数、データ項目「ｓａｌａｒｙ」のいずれかの値を読み出してはならない旨を示す。
【０１５３】
受付部４４の受付機能３９は、ユーザ３ａから質問文とユーザＩＤとを含む検索要求を受け付ける。
【０１５４】
利用状態作成機能４０は、検索要求に含まれているユーザＩＤと質問文とに基づいて、ユーザ毎に、質問文による指定の記録を求め、利用状態情報（記録情報）４７として記憶する。
【０１５５】
表４に、利用状態情報４７の具体例を示す。
【０１５６】
【表４】
2004110122.tif 000006
【０１５７】
利用状態情報４７は、項目「ユーザＩＤ」と項目「指定の記録」とを含むテーブルであり、ユーザＩＤ毎に、質問文に含まれる可能性のある指定項目のリストが対応付けされている。リストに含まれている指定には、その指定が質問文に含まれたか否かを示すフラグが付される。ここでは、フラグ「１」が付された場合には指定済みである旨を示す。
【０１５８】
質問文がＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ　Ｑｕｅｒｙ　Ｌａｎｇｕａｇｅ）で記述されている場合、利用状態作成機能４０は、読み出しの種別であるｓｅｌｅｃｔ句を調べ、質問文の指定を認識する。認識手法には、例えば単純な文字列のマッチングなどが利用可能である。
【０１５９】
図１３は、質問文と利用状態情報４７のフラグとの関係の例を示す図である。
【０１６０】
例えば、質問文４９のｓｅｌｅｃｔ句にＡＶＧ［ｓａｌａｒｙ］がある場合、利用状態情報４７のＡＶＧ［ｓａｌａｒｙ］にフラグ「１」が設定される。
【０１６１】
判定機能４１は、制限パターン情報４５の各制限パターンと、利用状態情報４７のユーザＩＤに対応する指定の記録とを比較し、一致するか否かを判定する。
【０１６２】
図１４は、判定機能２７による制限パターンと指定の記録との比較方法の一例を示す図である。
【０１６３】
判定機能４１は、例えば、制限パターン５０と指定の記録５１とをビット列としてそれぞれビットパターン５２、５３を作成する。そして、判定機能４１は、それぞれのビットパターン５２、５３について論理積を演算し、この演算値が制限のビットパターン５２と一致するか否かを判定する。
【０１６４】
制限機能４２は、判定機能４１によって一致しないと判定された場合に、データ管理部１に検索要求に含まれる質問文を通知し、データ管理部１から検索結果を受け付けてユーザ３ａに通知する。
【０１６５】
一方、制限機能４２は、判定機能４１によって一致すると判定された場合に、推論防止のためデータ読み出しをエラーとする旨をユーザ３ａに通知する。
【０１６６】
図１５は、受付部４４の動作の一例を示すフローチャートである。
【０１６７】
ステップＷ１において、受付部４４の受付機能３９は、ユーザ３ａから検索要求を受け付ける。なお、検索要求には、ユーザＩＤ、データ管理部１に対する質問文などが含まれる。
【０１６８】
ステップＷ２において、利用状態作成機能４０は、検索要求に含まれているユーザＩＤと利用状態記憶部３４の利用状態情報３３などに基づいて、検索要求側３のユーザ３ａが登録済みか否か判断する。
【０１６９】
未登録の場合、ステップＷ３において、利用状態作成機能４０は、検索要求に含まれているユーザＩＤを利用状態情報４７に登録する。
【０１７０】
登録済みの場合、ステップＷ４において、利用状態作成機能４０は、質問文の指定項目（アクセス種別）を認識し、利用状態情報４７においてユーザＩＤに対応する指定の記録のフラグを更新する。
【０１７１】
ステップＷ５において、判定機能４１は、利用状態情報４７における指定の記録のパターンと制限パターン情報４５のいずれかの制限パターンとが一致するか否かを判断する。
【０１７２】
パターンが一致する場合、ステップＷ６において、制限機能４２は、ユーザ３ａにエラーを通知する。
【０１７３】
パターンが一致しない場合、ステップＷ７において、制限機能４２は、検索要求に含まれている質問文をデータ管理部１に通知する。データ管理部１は、通知された質問文にしたがってデータベース２に対する検索を実行し、結果を制限機能４２に通知する。
【０１７４】
ステップＷ８において、制限機能４２は、検索結果をデータ管理部１から受ける。
【０１７５】
ステップＷ９において、制限機能４２は、検索結果をユーザ３ａに通知する。
【０１７６】
以上説明した本実施の形態においては、ユーザ３ａによるデータ読み出しのパターンが、非公開データの推論に関連するパターンと一致する場合に、このユーザ３ａによるデータの読み出しが制限される。これにより、公開データから非公開データが推論されることを防止できる。
【０１７７】
また、本実施の形態において、例えば管理者１８は、あるユーザについてデータ読み出しの制限状態を解除したい場合、このユーザのユーザＩＤに対応する指定の記録が制限パターンと不一致となるように利用状態情報４７を更新すればよい。これにより、容易に特定のユーザのデータ読み出し制限状態を解消できる。
【０１７８】
一方、例えば管理者１８は、あるユーザについてデータ読み出しを制限したい場合、このユーザのユーザＩＤに対応する指定の記録が制限パターンと一致するように利用状態情報４７を更新すればよい。これにより、容易に特定のユーザのデータ読み出しを制限できる。
【０１７９】
なお、上記各実施の形態で説明した各構成要素は、自由に組み合わせてもよく、また複数の要素に分割してもよい。
【０１８０】
例えば、設定機能７、２４、３８を組み合わせてもよく、受付機能８、２５、３９を組み合わせてもよく、判定機能１０、２７、４１を組み合わせてもよく、制限機能９、２８、４２を組み合わせてもよく、利用状態作成機能２６、４０を組み合わせてもよい。
【０１８１】
また、上記各実施の形態におけるデータ読み出し管理プログラム６、２３、３７は、複数のコンピュータ上に分散され、互いに連携しつつ動作してもよい。
【０１８２】
また、データ読み出し管理プログラム６、２３、３７は通信媒体により伝送してコンピュータに適用可能である。データ読み出し管理プログラム６、２３、３７を読み込んだコンピュータは、データ読み出し管理プログラム６、２３、３７によって動作が制御され、上述した機能を実現する。
【０１８３】
【発明の効果】
以上詳記したように本発明においては、公開データの内容から非公開データの内容を推論することを防止でき、個人情報や組織の機密情報を保護することができ、必要なデータを安全に公開することができる。また、迅速に制限の回復を実現できる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るデータ読み出し管理プログラム及びデータ読み出し管理システムの一例を示すブロック図。
【図２】設定情報の具体例を示す図。
【図３】データ登録件数が設定情報の示すデータ件数以上となる場合の制限状態情報の具体例を示す図。
【図４】データ登録件数が設定情報の示すデータ件数に満たない場合の制限状態情報の具体例を示す図。
【図５】同実施の形態に係る設定機能による設定情報の設定動作の一例を示すフローチャート。
【図６】同実施の形態に係る受付部の動作の一例を示すフローチャート。
【図７】同実施の形態に係るデータ監視部によるデータ許可・不許可の判定動作の一例を示すフローチャート。
【図８】本発明の第２の実施の形態に係る分散についての設定情報１９の具体例を示す図。
【図９】テーブルＴ１の分散を求めるための質問文をＳＱＬ言語で記述した例を示す図。
【図１０】本発明の第３の実施の形態に係るデータ読み出し管理プログラム及びデータ読み出し管理システムの一例を示すブロック図。
【図１１】同実施の形態に係る受付部の動作の一例を示すフローチャート。
【図１２】本発明の第４の実施の形態に係るデータ読み出し管理プログラム及びデータ読み出し管理システムの一例を示すブロック図。
【図１３】同実施の形態に係る質問文と利用状態情報のフラグとの関係の例を示す図。
【図１４】同実施の形態に係る判定機能による制限パターンと指定の記録との比較方法の一例を示す図。
【図１５】同実施の形態に係る受付部の動作の一例を示すフローチャート。
【符号の説明】
１…データ管理部
２…データベース
３…検索要求側
４、２１、３５…データ読み出し管理システム
５、２２、３６…記録媒体
６、２３、３７…データ読み出し管理プログラム
７、２４、３８…設定機能
８、２５、３９…受付機能
９、２８、４２…制限機能
１０、２７、４１…判定機能
１４、３１…設定情報
１６…制限状態情報
２６、４０…利用状態作成機能
３３、４７…利用状態情報
４５…制限パターン情報
【図１】
2004110122.tif 000007
【図２】
2004110122.tif 000008
【図３】
2004110122.tif 000009
【図４】
2004110122.tif 000010
【図５】
2004110122.tif 000011
【図６】
2004110122.tif 000012
【図７】
2004110122.tif 000013
【図８】
2004110122.tif 000014
【図９】
2004110122.tif 000015
【図１０】
2004110122.tif 000016
【図１１】
2004110122.tif 000017
【図１２】
2004110122.tif 000018
【図１３】
2004110122.tif 000019
【図１４】
2004110122.tif 000020
【図１５】
2004110122.tif 000021