(57)【特許請求の範囲】
【請求項１】
所与の機密条件と機密文書に対するアクセス権限を関連付けて記憶する記憶手段と、
検索実行ユーザが検索条件として入力した検索文字列を用いて文書を検索する検索手段と、
前記検索条件が前記機密条件を満たし、前記検索実行ユーザが、前記機密条件に関連付けて記憶された機密文書に対するアクセス権限を有していなかった場合、前記検索された文書に含まれる機密が漏洩した可能性がある旨の警告情報を、前記アクセス権限を有するユーザに対して出力する警告手段と、
を含む文書管理装置。
【請求項２】
前記警告手段は、
前記検索文字列が予め記憶された機密文字列であり、かつ、検索された文書に対するアクセス権限を前記検索実行ユーザが有していない場合、前記警告情報を出力すること、
を特徴とする請求項１に記載の文書管理装置。
【請求項３】
前記機密文字列に、当該機密文字列と関係がある文書が関連づけられ、
前記検索手段は、
前記検索文字列が前記機密文字列であった場合に、前記機密文字列に関連づけられた文書を検索結果とすること、
を特徴とする請求項２に記載の文書管理装置。
【請求項４】
前記文書管理装置は、
ネットワークと通信可能に接続され、
ネットワーク上で公開されている公開文書を、前記記憶手段に記憶される機密文字列を検索キーワードとして検索する公開文書検索手段と、
検索の結果、少なくとも１つの公開文書が検索された場合に、前記機密文字列を前記記憶手段から削除する手段と、
をさらに含むことを特徴とする請求項２又は３に記載の文書管理装置。
【請求項５】
辞書記憶手段に辞書が記憶され、
前記文書管理装置は、
前記辞書にない有意な語が所与の文書に含まれる場合に、当該有意な語を表す文字列を機密文字列として前記記憶手段に記憶させるとともに、当該有意な語を表す文字列に前記所与の文書を関連づける手段、をさらに含むこと、
を特徴とする請求項３に記載の文書管理装置。
【請求項６】
辞書記憶手段に辞書が記憶され、
前記警告手段は、
前記検索文字列が前記辞書中になく、かつ、検索された文書に対するアクセス権限を前記検索実行ユーザが有していない場合、前記警告情報を出力すること、
を特徴とする請求項１に記載の文書管理装置。
【請求項７】
機密文書が予め登録され、
前記警告手段は、
前記検索文字列が前記辞書中になく、かつ、検索された文書が前記機密文書として登録されており、かつ、検索された文書に対するアクセス権限を前記検索実行ユーザが有していないとき、前記警告情報を出力すること、
を特徴とする請求項６に記載の文書管理装置。
【請求項８】
前記警告手段は、
検索された文書が前記機密文書として登録されており、かつ、前記検索文字列の近傍検索結果として得られる評価値が基準以上であり、かつ、検索された文書に対するアクセス権限を前記検索実行ユーザが有していない場合、前記警告情報を出力すること、
を特徴とする請求項１に記載の文書管理装置。
【請求項９】
所与の機密条件と機密文書に対するアクセス権限を関連付けて記憶する記憶手段、
検索実行ユーザが検索条件として入力した検索文字列を用いて文書を検索する検索手段、
前記検索条件が前記機密条件を満たし、前記検索実行ユーザが、前記機密条件に関連付けて記憶された機密文書に対するアクセス権限を有していなかった場合、前記検索された文書に含まれる機密が漏洩した可能性がある旨の警告情報を、前記アクセス権限を有するユーザに対して出力する警告手段、
としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書管理装置及びプログラムに関する。
【背景技術】
【０００２】
下記特許文献１には、アクセスを制限すべきユーザからの共有情報へのアクセス回数を検出し、アクセス回数と予め定められた閾値とに基づいて不正アクセスを監視すること、が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２６７９９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、機密を知っている筈がない者に機密が漏洩した可能性を検知することである。
【課題を解決するための手段】
【０００５】
上記課題を解決するための請求項１の発明は、検索実行ユーザが検索条件として入力した検索文字列を用いて文書を検索する検索手段と、前記検索条件が所与の機密条件を満足するか否かを判定する機密条件成否判定手段と、前記検索条件が前記機密条件を満足し、かつ、検索された文書に対するアクセス権限を前記検索実行ユーザが有していないとき、警告情報を出力する警告手段と、を含む文書管理装置である。
【０００６】
また、請求項２の発明は、請求項１の発明において、機密文字列記憶手段に機密文字列として登録された文字列が予め記憶され、前記機密条件成否判定手段は、前記検索文字列が機密文字列として前記機密文字列記憶手段に記憶されているか否かを判定する手段を含み、前記警告手段は、前記検索文字列が機密文字列として前記機密文字列記憶手段に記憶されており、かつ、検索された文書に対するアクセス権限を前記検索実行ユーザが有していないとき、警告情報を出力すること、を特徴とする。
【０００７】
また、請求項３の発明は、請求項２の発明において、前記機密文字列に、当該機密文字列と関係がある文書が関連づけられ、前記検索手段は、前記検索文字列が機密文字列として前記機密文字列記憶手段に記憶されている場合に、前記機密文字列に関連づけられた文書を検索結果とすること、を特徴とする。
【０００８】
また、請求項４の発明は、請求項２又は３の発明において、前記文書管理装置は、ネットワークと通信可能に接続され、ネットワーク上で公開されている公開文書を、前記機密文字列記憶手段に記憶される機密文字列を検索キーワードとして検索する公開文書検索手段と、検索の結果、少なくとも１つの公開文書が検索された場合に、前記機密文字列を前記機密文字列記憶手段から削除する手段と、をさらに含むことを特徴とする。
【０００９】
また、請求項５の発明は、請求項３の発明において、辞書記憶手段に辞書が記憶され、前記文書管理装置は、前記辞書にない有意な語が所与の文書に含まれる場合に、当該有意な語を表す文字列を機密文字列として前記機密文字列記憶手段に記憶させるとともに、当該有意な語を表す文字列に前記所与の文書を関連づける手段、をさらに含むことを特徴とする。
【００１０】
また、請求項６の発明は、請求項１の発明において、辞書記憶手段に辞書が記憶され、前記機密条件成否判定手段は、前記検索文字列の前記辞書における有無を判定する手段を含み、前記警告手段は、前記検索文字列が前記辞書中になく、かつ、検索された文書に対するアクセス権限を前記検索実行ユーザが有していないとき、警告情報を出力することを特徴とする。
【００１１】
また、請求項７の発明は、請求項６の発明において、機密文書が予め登録され、前記機密条件成否判定手段は、検索された文書が、前記機密文書として登録されているか否かを判定する手段をさらに含み、前記警告手段は、前記検索文字列が前記辞書中になく、かつ、検索された文書が前記機密文書として登録されており、かつ、検索された文書に対するアクセス権限を前記検索実行ユーザが有していないとき、警告情報を出力すること、を特徴とする。
【００１２】
また、請求項８の発明は、請求項１の発明において、複数の検索文字列が検索条件として入力され、機密文書が予め登録され、前記機密条件成否判定手段は、検索された文書が、前記機密文書として登録されているか否かを判定する判定手段と、検索された文書が機密文書として登録されている場合に、検索された文書内で、前記複数の検索文字列を対象とした近傍検索を行う近傍検索手段と、を含み、前記警告手段は、検索された文書が前記機密文書として登録されており、かつ、近傍検索結果として得られる評価値が基準以上であり、かつ、検索された文書に対するアクセス権限を前記検索実行ユーザが有していないとき、警告情報を出力することを特徴とする。
【００１３】
また、上記課題を解決するための請求項９の発明は、検索実行ユーザが検索条件として入力した検索文字列を用いて文書を検索する検索手段、前記検索条件が所与の機密条件を満足するか否かを判定する機密条件成否判定手段、前記検索条件が前記機密条件を満足し、かつ、検索された文書に対するアクセス権限を前記検索実行ユーザが有していないとき、警告情報を出力する警告手段、としてコンピュータを機能させるプログラム。
【００１４】
ここで、アクセス権限には、閲覧権限と更新権限とのうちの少なくとも閲覧権限が含まれる。
【発明の効果】
【００１５】
請求項１、９の発明によれば、機密を知っている筈がないものに機密が漏洩した可能性を検知することができる。
【００１６】
また、請求項２の発明によれば、本構成を有しない場合と比較して、より確実に、機密を知っている筈がないものに機密が漏洩した可能性を検知することができる。
【００１７】
また、請求項３の発明によれば、機密を知っている筈がないものに機密が漏洩した可能性を検知することを、本構成を有しない場合と比較してより少ない処理負荷で、実現できる。
【００１８】
また、請求項４の発明によれば、機密と無関係な検索キーワードが入力されたにも関わらず機密が漏洩したと誤検知してしまう事態が発生すること、を抑制することができる。
【００１９】
また、請求項５の発明によれば、検知精度を維持しつつ、機密文字列を登録する手間を省くことができる。
【００２０】
請求項６の発明によれば、より確実に、機密を知っている筈がないものに機密が漏洩した可能性を検知することができる。また、請求項７の発明によれば、本構成を有しない場合と比較して、さらに確実に、機密を知っている筈がないものに機密が漏洩した可能性を検知することができる。
【００２１】
また、請求項８の発明によれば、検索キーワードとして入力された複数の語のそれぞれが、例えば普通名詞等一見して特徴のないものであっても、機密を知っている筈がないものに機密が漏洩した可能性を検知することができる。
【図面の簡単な説明】
【００２２】
【図１】第１実施形態に係る文書管理装置の構成を例示する図である。
【図２】機密キーワード保持部に保持される情報を例示する図である。
【図３】文書管理装置で実行される処理を例示するフロー図である。
【図４】変形例１に係る文書管理装置の構成を例示する図である。
【図５】変形例２に係る文書管理装置の構成を例示する図である。
【図６】第２実施形態に係る文書管理装置の構成を例示する図である。
【図７】文書管理装置で実行される処理を例示するフロー図である。
【図８】第３実施形態に係る文書管理装置の構成を例示する図である。
【図９】文書管理装置で実行される処理を例示するフロー図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。
【００２４】
［第１実施形態］
図１は、本発明の第１実施形態に係る文書管理装置２の構成を例示する図である。文書管理装置２は、例えばパーソナルコンピュータ及びサーバコンピュータ等であり、マイクロプロセッサ、主記憶、ハードディスク、ディスプレイ、及びネットワークインタフェース等を備える。文書管理装置２は、ネットワークインタフェースによりパブリックネットワークと接続されている。主記憶には、各種プログラムが記憶される。これらのプログラムは、コンピュータ読み取り可能な情報記憶媒体から読み出されて主記憶に格納される。或いは、プログラム保持装置からパブリックネットワークを介して受信されて主記憶に格納される。
【００２５】
この文書管理装置２では、主記憶に記憶されるプログラムがマイクロプロセッサにより実行されることによって、文書格納部４、ユーザ格納部６、アクセス制御リスト格納部８、通常検索部１０、機密キーワード保持部１２、機密漏洩検知部１４ａ、及び通知部２０ａ等の各種機能が実現される。文書格納部４、ユーザ格納部６、アクセス制御リスト格納部８、及び機密キーワード保持部１２は、ハードディスクにより実現される。また、通常検索部１０、機密漏洩検知部１４ａ、及び通知部２０ａは、マイクロプロセッサにより実現される。なお、機密漏洩検知部１４ａは、特別検索部１６ａと、権限有無判定部１８ａと、を含む。
【００２６】
文書格納部４は、文書作成アプリケーションにより作成された複数の文書を格納している。文書には、固有の識別子（以下、文書ＩＤと表記する。）が割り当てられている。また、ユーザ格納部６は、文書管理装置２を利用する複数のユーザの各々に関するユーザ情報を格納している。ユーザ情報には、ユーザの識別子、及びユーザのメールアドレス等が含まれる。また、アクセス制御リスト格納部８は、文書格納部４に保持される文書一つ一つのアクセス制御リスト（以下、ＡＣＬと表記する）を格納している。ＡＣＬは、文書に対してなんらかの権限を有するユーザのユーザＩＤと、そのユーザが有する権限の種別と、を関連付けてなる情報であり、文書に対してどのユーザがどの操作権限を有するかを示している。なお、権限としては、例えば、閲覧権限及び更新権限などがある。
【００２７】
文書管理装置２には、文書管理装置２にログインしたユーザ（以下、ログインユーザと表記する）により、１又は複数の検索キーワードが検索条件として入力される。通常検索部１０は、検索条件が入力された場合、文書格納部４、ユーザ格納部６、及びＡＣＬ格納部８それぞれの記憶内容を参照し、所定の検索アルゴリズムに従って、文書格納部４に格納される文書のうちのログインユーザが閲覧権限を有する文書のうちで、検索条件を満足するものを特定し、特定した文書の文書ＩＤのリストを、検索結果としてディスプレイに表示させる。
【００２８】
ところで、機密情報が漏洩する原因として各種の原因が想定されるが、例えば、機密を知っている者同士の会話内容を他者に盗み聞きされてしまうことが挙げられる。例えば、ある部門の部員同士がその部門だけの極秘プロジェクトについて話し合っているときに、極秘プロジェクトの内容の一部が通りすがりの他の部門の部員に盗み聞きされることがある。上記のような原因による機密の漏洩を避けるには、極秘プロジェクトに関するキーワード（例えば、製品名、プロジェクト名）を登録しておき、登録したキーワードでの文書の検索が行われたかどうかを監視することが考えられる。しかしながら、この場合、極秘プロジェクトを正当な理由で知っている者が検索を行った場合でも、機密が漏洩したと誤って誤検知されてしまう。
【００２９】
この点、文書処理装置２では、機密の漏洩が誤って検知されてしまうことがないよう、機密キーワード保持部１２、及び機密漏洩検知部１４ａが備えられている。以下、これらについて説明する。
【００３０】
機密キーワード保持部１２は、予め登録された機密キーワードを、文書格納部４に格納される文書のうちの、機密キーワードに関連する１又は複数の文書の文書ＩＤ（以下、機密文書ＩＤ）に関連付けて保持している。本実施形態の場合、機密キーワード保持部１２に保持される情報はマップ形式で保持される。図２に機密キーワード保持部１２の記憶内容を例示した。
【００３１】
次に、特別検索部１６ａ（検索手段）及び権限有無判定部１８ａについて説明する。特別検索部１６ａは、検索キーワードを用いて文書を検索する。本実施形態の場合、特別検索部１６ａは、検索キーワードが機密キーワードとして機密キーワード保持部１２に保持されている場合に、機密キーワード保持部１２に保持される機密文書ＩＤが示す文書のうちで、文書を検索する。具体的には、特別検索部１６ａは、検索キーワードが機密キーワードとして機密キーワード保持部１２に保持されているか否かを判定し、検索キーワードが機密キーワードとして機密キーワード保持部１２に保持されている場合に、検索キーワードに関連付けられた機密文書ＩＤを特定し、特定した機密文書ＩＤを検索結果とする。
【００３２】
また、権限有無判定部１８ａは、検索キーワードが機密キーワードとして機密キーワード保持部１２に保持されている場合、検索結果中の機密文書ＩＤが示す文書のＡＣＬを参照して、当該文書の閲覧権限をログインユーザが有しているか否かを判定する。
【００３３】
そして、通知部２０ａ（警告手段）は、検索結果中の機密文書ＩＤが示す文書の閲覧権限をログインユーザが有していない場合、機密を知っている筈がない者に機密が漏洩した可能性があることを通知すべく、警告処理を実行する。例えば、通知部２０ａは、機密が漏洩した可能性があることを通知する文面を含む警告電子メールを送信する。
【００３４】
図３は、文書管理装置２において実行される処理を例示するフロー図である。この処理は、ログインユーザ（以下、検索実行ユーザと表記する）によって１又は複数のキーワードが検索条件として入力された場合に実行される。なお、ここでは、通常検索部１０により実行される処理の記載を省略している。
【００３５】
まず、マイクロプロセッサは、機密の漏洩を通知する際に必要な情報を保持するマップであるｒｅｓｕｌｔデータを初期化する（Ｓ１０１）。ｒｅｓｕｌｔデータについては後述する。
【００３６】
また、マイクロプロセッサは、検索条件として入力されたＮ個（Ｎ≧１）の検索キーワードからなる検索キーワード群を、文字列型の配列ｑｕｅｒｙｓに格納する（Ｓ１０２）。以下、ｉ（ｉ=１〜Ｎ）番目の検索キーワードをｑｕｅｒｙｓ［ｉ］と表記する。
【００３７】
そして、マイクロプロセッサは、各検索キーワードについて、Ｓ１０４〜Ｓ１０７のステップを実行する。すなわち、マイクロプロセッサ（特別検索部１６ａ）は、ｑｕｅｒｙｓ［ｉ］と一致する機密キーワードが機密キーワード保持部１２に保持されているか否かを判定する（Ｓ１０３）。
【００３８】
ｑｕｅｒｙｓ［ｉ］と一致する機密キーワードが機密キーワード保持部１２に保持されている場合（Ｓ１０３のｙｅｓ）、マイクロプロセッサ（特別検索部１６ａ）は、検索キーワードに関連付けられたＭ個（Ｍ≧１）の機密文書ＩＤからなる機密文書ＩＤ群を文字列型の配列ｉｄｓに格納する（Ｓ１０４）。以下、ｎ（ｎ=１〜Ｍ）番目の機密文書ＩＤをｉｄｓ［ｎ］と表記する。
【００３９】
そして、マイクロプロセッサは、各機密文書ＩＤについて、Ｓ１０５〜Ｓ１０７のステップを実行する。すなわち、マイクロプロセッサ（権限有無判定部１８ａ）は、ｉｄｓ［ｎ］で示される文書のＡＣＬを参照して、検索実行ユーザが当該文書の閲覧権限を有しているか否かを判定する（Ｓ１０５）。ｉｄｓ［ｎ］で示される文書の閲覧権限を検索実行ユーザが有していない場合（Ｓ１０５のｎｏ）は、マイクロプロセッサは、ｒｅｓｕｌｔデータにエントリを追加する（Ｓ１０６）。すなわち、マイクロプロセッサは、ｒｅｓｕｌｔデータに、ｑｕｅｒｙｓ［ｉ」をキーとするバリューのエントリを格納する。ここで、エントリは、マップ形式のデータであり、ｉｄｓ［ｎ」をキーとして保持し、かつ、ｉｄｓ［ｎ」で示される文書の閲覧権限を有するユーザのメールアドレスをバリューとして保持している。つまり、マイクロプロセッサは、Ｓ１０６において、ｉｄｓ［ｎ」で示される文書の閲覧権限を有するユーザのメールアドレスをｒｅｓｕｌｔデータに記憶させる。
【００４０】
一方、検索実行ユーザがｉｄｓ［ｎ」で示される文書の閲覧権限を有している場合（Ｓ１０５のｙｅｓ）、マイクロプロセッサは、ｒｅｓｕｌｔデータにｑｕｅｒｙｓ［ｉ］のエントリがあれば、それを削除する（Ｓ１０７）。Ｓ１０５〜Ｓ１０７によれば、検索実行者が、ｉｄｓに格納される文書のうちのいずれの文書の閲覧権限も有していない場合、ｑｕｅｒｙｓ［ｉ］のエントリがｒｅｓｕｌｔデータ中に作成されないことになる。一方、検索実行ユーザが、ｉｄｓに格納される文書のうちのいずれかの文書の閲覧権限を有している場合、ｑｕｅｒｙｓ［ｉ］のエントリがｒｅｓｕｌｔデータ中に作成されることになる。すなわち、ｉｄｓに格納される文書のうち検索実行ユーザが閲覧権限を有していない文書、の閲覧権限を有するユーザのメールアドレスがｒｅｓｕｌｔデータに記憶されることになる。
【００４１】
こうして、ｑｕｅｒｙｓに格納されるすべての検索キーワードに関してＳ１０３〜Ｓ１０７のステップの処理を完了すると、マイクロプロセッサ（通知部１８ａ）は、ｒｅｓｕｌｔデータにエントリがあれば、機密の漏洩を通知する（Ｓ１０８）。すなわち、マイクロプロセッサは、ｒｅｓｕｌｔデータに記憶されるメールアドレスを宛先として、警告電子メールを送信する。
【００４２】
以上が、第１実施形態の説明である。なお、第１実施形態において、機密キーワードに有効期限が予め設定されていてもよい。この場合、有効期限が切れた機密キーワードを無効にするために、マイクロプロセッサが、有効期限が切れた機密キーワードとそれに関連付けられた機密文書ＩＤとを、機密キーワード保持部１２から削除すればよい。
【００４３】
また、機密キーワードを検索条件としてウェブ上の文書（公開文書）を検索した際に少なくとも１つの文書が検索結果として得られたとき、マイクロプロセッサが、当該機密キーワードを無効としてもよい。以下、この態様（以下、変形例１と表記する。）について説明する。
【００４４】
［変形例１］
図４は、第１実施形態の変形例１における文書管理装置２の構成を例示する図である。同図に示すように、変形例１では、文書管理装置２は、さらに、削除部２４と、Ｗｅｂ検索部２２と、を備える。削除部２４は、マイクロプロセッサを主として実現される。Ｗｅｂ検索部２２は、マイクロプロセッサとネットワークインタフェースとを主として実現される。
【００４５】
Ｗｅｂ検索部２２は、機密キーワードを検索キーワードとして用い、ウェブ上の公開された文書の検索を行う。例えば、Ｗｅｂ検索部２２は、機密キーワードをパブリックネットワーク上の検索エンジンに入力し、検索結果を受信する。そして、検索の結果、文書が１つでも検索された場合には、削除部２４が、検索エンジンに入力された機密キーワードとそれに関連付けられた機密文書ＩＤとを機密キーワード保持部１２から削除する。変形例１では、以上のようにして機密キーワードが無効とされる。
【００４６】
［変形例２］
機密キーワード保持部１２に記憶される機密キーワードをユーザが登録することも考えられるが、以下に説明するようにして機密キーワードを登録することも考えられる。以下、この態様（変形例２と表記する）について説明する。
【００４７】
図５は、第１実施形態の変形例２における文書管理装置２の構成を例示する図である。同図に示すように、変形例２では、文書管理装置２は、さらに、辞書を格納する辞書格納部２６と、追加登録部２８と、備える。辞書格納部２６は、ハードディスクを主として実現される。また、追加登録部２８は、マイクロプロセッサを主として実現される。
【００４８】
変形例２では、例えば文書格納部４に文書Ｘが新たに格納される場合に、文書Ｘに含まれるテキストに対して公知の自然言語処理（特に形態素解析）を行い、文書Ｘに含まれる語を抽出する。そして、辞書にない有意な語が文書Ｘ中に存在するか否かを判定する。ここで、有意な語とは、例えば、文書Ｘにおいいて、自立語、或いは主格の語として登場している語である。そして、辞書にない有意な語が文書Ｘ中に存在する場合、追加登録部２８は、文書Ｘ中に存在する辞書にない有意な語（すなわち、機密キーワード）と、文書Ｘの文書ＩＤ（すなわち、機密文書ＩＤ）と、を関連付けて機密キーワード保持部１２に格納する。こうすることにより、機密キーワードを登録する際の手間が省かれる。また、機密情報に関連する語は、造語や新語である可能性が高く、そもそも辞書にないと考えられるので、こうしても機密漏洩の検知精度が維持される。
【００４９】
［第２実施形態］
上述のように、機密情報に関連する語はそもそも辞書にないと考えられる。そこで、この性質を利用して、機密の漏洩を検知してもよい。以下、上記の性質を利用して機密の漏洩を検知する実施形態（以下、第２実施形態）について説明する。
【００５０】
図６は、文書処理装置２の第２実施形態における構成を例示する図である。第２実施形態においても、文書処理装置２は、第１実施形態と同様、パーソナルコンピュータ及びサーバコンピュータ等のコンピュータとして実現され、文書格納部４、ユーザ格納部６、ＡＣＬ格納部８、及び通常検索部１０を備える。
【００５１】
但し、第２実施形態では、文書処理装置２は、機密漏洩検知部１４ａ（図１参照）の代わりに、機密漏洩検知部１４ｂを備える。機密漏洩検知部１４ｂは、マイクロプロセッサを主として実現され、特別検索部１６ｂと、第１判定部３２と、第２判定部３４ａと、権限有無判定部１８ｂと、を備える。また、文書処理装置２は、通知部２０ａ（図１参照）の代わりに、通知部２０ｂを備える。また、文書処理装置２は、機密キーワード保持部１２の代わりに、上記変形例２で説明した辞書格納部２６と、機密文書ＩＤ保持部３０と、を備える。機密文書ＩＤ保持部３０は、ハードディスクを主として実現され、機密文書として予め登録された文書の文書ＩＤ（以下、機密文書ＩＤと表記する）を１又は複数保持する。以下、機密漏洩検知部１４ｂ及び通知部２０ｂについて説明する。
【００５２】
特別検索部１６ｂは、検索条件として検索キーワードが入力された場合、通常検索部１０と同様の検索アルゴリズムで、検索条件を満足する文書を検索する。但し、特別検索部１６ｂは、ログインユーザの閲覧権限を考慮せずに、文書格納部４に格納される文書のうちで、検索条件を満足する文書を検索する。
【００５３】
そして、第１判定部３２は、特別検索部１６ｂの検索結果中の文書ＩＤが機密文書ＩＤとして機密文書ＩＤ保持部３０に保持されているか否かを判定する。また、第２判定部３４ａは、検索キーワードの辞書における有無を判定する。また、権限有無判定部１８ｂは、特別検索部１６ｂの検索結果中の文書ＩＤが示す文書のＡＣＬを参照して、当該機密文書の閲覧権限をログインユーザが有しているか否かを判定する。
【００５４】
そして、通知部２０ｂは、特別検索部１６ｂの検索結果中の文書ＩＤが機密文書ＩＤとして機密文書ＩＤ保持部３０に保持され、かつ、検索キーワードが辞書になく、かつ、検索結果中の文書ＩＤが示す文書の閲覧権限をログインユーザが有していない場合、警告処理を実行する。例えば、通知部２０ｂは、機密が漏洩した可能性があることを通知する文面を含む警告電子メールを送信する。
【００５５】
図７は、第２実施形態の場合に、文書管理装置２にて実行される処理を例示するフロー図である。この処理は、ログインユーザ（以下、検索実行ユーザと表記する）によって１又は複数の検索キーワードが検索条件として入力された場合に実行される。なお、ここでも、通常検索部１０により実行される処理の記載を省略している。
【００５６】
まず、マイクロプロセッサは、Ｓ１０１（図３参照）と同様にして、ｒｅｓｕｌｔデータを初期化する（Ｓ２０１）。ｒｅｓｕｌｔデータについては後述する。
【００５７】
また、マイクロプロセッサ（特別検索部１６ｂ）は、文書格納部４に格納される文書のうちで、検索条件を満足する文書を検索する（Ｓ２０２）。そして、マイクロプロセッサ（第２判定部３４ａ）は、どの検索キーワードも辞書中に存在しているか否かを、辞書を参照して判定する（Ｓ２０３）。そして、いずれかの検索キーワードが辞書中に存在する場合（Ｓ２０３のｎｏ）、マイクロプロセッサ（第１判定部３２）は、Ｓ２０２の処理で得られた検索結果中の文書ＩＤのいずれかが機密文書として機密文書ＩＤ保持部３０に保持されているか否かを判定する（Ｓ２０４）。検索結果中の文書ＩＤのいずれかが機密文書ＩＤ保持部３０に保持されている場合（Ｓ２０４のｙｅｓ）、検索結果に含まれるＭ個（Ｍ≧１）の機密文書ＩＤからなる文書ＩＤ群を文字列型の配列ｉｄｓに格納する（Ｓ２０５）。
【００５８】
そして、マイクロプロセッサは、配列ｉｄｓに格納される各機密文書ＩＤについて、Ｓ２０６〜Ｓ２０７のステップを実行する。すなわち、マイクロプロセッサ（権限有無判定部１８ｂ）は、ｉｄｓ［ｎ］で示される機密文書のＡＣＬを参照して、検索実行ユーザが当該機密文書の閲覧権限を有しているか否かを判定する（Ｓ２０６）。ｉｄｓ［ｎ］で示される機密文書の閲覧権限を検索実行ユーザが有していない場合（Ｓ２０６のｎｏ）は、マイクロプロセッサは、ｒｅｓｕｌｔデータにエントリを追加する（Ｓ２０７）。第２実施形態の場合、エントリは、ｉｄｓ［ｎ］をキーとして保持し、ｉｄｓ［ｎ］で示される機密文書の閲覧権限を有するユーザのメールアドレスをバリューとして保持している。第２実施形態においても、機密の漏洩が検知された場合に、ｒｅｓｕｌｔデータにユーザのメールアドレスが記憶される。
【００５９】
こうして、配列ｉｄｓに格納されるすべての機密文書ＩＤにつきＳ２０６〜Ｓ２０７のステップが完了すると、マイクロプロセッサ（通知部ｂ）は、ｒｅｓｕｌｔデータにエントリがあれば、当該エントリに含まれるメールアドレスを宛先として、警告電子メールを送信する（Ｓ２０８）。実施形態２によれば、機密キーワードを登録しておかなくても、機密の漏洩が検知されるようになる。
【００６０】
［第３実施形態］
ところで、機密情報に関連する語が、辞書にある語２つを連結して造った造語である場合を想定する。この場合、この造語を耳にしたユーザが検索キーワードを入力する際、ユーザによっては、この造語を１つの検索キーワードとして入力せずに、この造語を構成する語それぞれを検索キーワードとして入力する可能性が考えられる。このような場合、第２実施形態だと、機密の漏洩が検知されなくなる。そこで、実施形態３では、このような場合でも機密の漏洩が検知されるよう図る。
【００６１】
図８は、文書処理装置２の第３実施形態における構成を例示する図である。第３実施形態においても、文書処理装置２は、第２実施形態と同様、パーソナルコンピュータ及びサーバコンピュータ等のコンピュータとして実現され、文書格納部４、ユーザ格納部６、ＡＣＬ格納部８、及び通常検索部１０を備える。
【００６２】
但し、第３実施形態では、辞書保持部２６が省略される。また、文書処理装置２は、機密漏洩検知部１４ｂ（図６参照）の代わりに、機密漏洩検知部１４ｃを備える。また、通知部２０ｂの代わりに、通知部２０ｃを備える。機密漏洩検知部１４ｃは、マイクロプロセッサを主として実現され、実施形態２と同様の、特別検索部１６ｂ、第１判定部３２、及び権限有無判定部１８ｂを備える。また、機密漏洩検知部１４ｃは、実施形態２の第２判定部３４ａの代わりに、第２判定部３４ｂを備える。また、機密漏洩検知部１４ｃは、近傍検索部３６も備える。
【００６３】
機密漏洩検知部１４ｃは、特別検索部１６ｂ、第１判定部３２、及び権限有無判定部１８ｂを備える点で、機密漏洩検知部１４ｄと共通している。但し、近傍検索部３６と第２判定部３４ｂとを備える点で、機密漏洩検知部１４ｂと異なっている。
【００６４】
近傍検索部３６は、複数の検索キーワードが検索条件として入力された場合において、以下の処理を実行する。すなわち、近傍検索部３６は、検索結果中の文書ＩＤが示す文書内で、これら検索キーワードを用いて近傍検索を行う。また、第２判定部３４ｂは、近傍検索結果として得られるスコアが予め定められた基準値以上であるか否かを判定する。検索キーワード間の距離が短いほど、近傍検索のスコアは高くなる。
【００６５】
そして、通知部２０ｃは、特別検索部１６ｂの検索結果中の文書ＩＤが機密文書ＩＤとして機密文書ＩＤ保持部３０に保持され、かつ、近傍検索結果として得られるスコアが基準値以上であり、かつ、検索結果中の機密文書ＩＤが示す文書の閲覧権限をログインユーザが有していない場合、警告処理を実行する。例えば、通知部２０ｃは、機密が漏洩した可能性があることを通知する文面を含む警告電子メールを送信する。
【００６６】
図９は、第３実施形態の場合に、文書管理装置２にて実行される処理を例示するフロー図である。この処理は、ログインユーザ（以下、検索実行ユーザと表記する）に「複数」の検索キーワードが検索条件として入力された場合に実行される。なお、ここでも、通常検索部１０により実行される処理の記載を省略している。
【００６７】
まず、マイクロプロセッサは、Ｓ２０１（図７参照）と同様にして、ｒｅｓｕｌｔデータを初期化する（Ｓ３０１）。ｒｅｓｕｌｔデータについては後述する。
【００６８】
また、マイクロプロセッサ（特別検索部１６ｂ）は、Ｓ２０２と同様にして、文書格納部４に格納される文書のうちで、検索条件を満足する文書を検索する（Ｓ３０２）。そして、マイクロプロセッサ（第１判定部３２）は、Ｓ２０４と同様にして、Ｓ３０２の処理で得られた検索結果中の文書ＩＤのいずれかが機密文書として機密文書ＩＤ保持部３０に保持されているか否かを判定する（Ｓ３０３）。検索結果中の文書ＩＤのいずれかが機密文書ＩＤ保持部３０に保持されている場合（Ｓ３０３のｙｅｓ）、マイクロプロセッサは、Ｓ２０５と同様にして、検索結果に含まれるＭ個（Ｍ≧１）の機密文書ＩＤからなる文書ＩＤ群を文字列型の配列ｉｄｓに格納する（Ｓ３０４）。
【００６９】
そして、マイクロプロセッサは、配列ｉｄｓに格納される各機密文書ＩＤについて、Ｓ３０５〜Ｓ３０６のステップを実行する。すなわち、マイクロプロセッサ（権限有無判定部１８ｂ）は、Ｓ２０６と同様にして、ｉｄｓ［ｎ］で示される機密文書の閲覧権限を検索実行ユーザが有しているか否かを判定する（Ｓ３０５）。ｉｄｓ［ｎ］で示される機密文書の閲覧権限を検索実行ユーザが有していない場合（Ｓ３０５のｎｏ）は、マイクロプロセッサは、ｒｅｓｕｌｔデータにエントリを追加する（Ｓ３０６）。第３実施形態の場合も、第２実施形態の場合と同様に、エントリは、ｉｄｓ［ｎ］をキーとして保持し、ｉｄｓ［ｎ］で示される機密文書の閲覧権限を有するユーザのメールアドレスをバリューとして保持している。
【００７０】
こうして、配列ｉｄｓに格納されるすべての機密文書ＩＤにつきＳ３０５〜Ｓ３０６のステップが完了すると、マイクロプロセッサ（近傍検索部３６）は、文書格納部４に保持される文書を対象に、全検索キーワードを用いた近傍検索を、最低スコアを指定して行う。そして、最低スコア以上のスコアが得られた文書の文書ＩＤをキーとし、当該文書のスコアをバリューとするマップであるｎｅｉｇｈｂｏｒデータを生成する（Ｓ３０７）。そして、マイクロプロセッサは、ｒｅｓｕｌｔデータにキーとして含まれるＬ個の文書ＩＤの集合を、配列ｋｅｙｓに格納する（Ｓ３０８）。以下、ｉ（ｉ=１〜Ｌ）番目のキーをｋｅｙ［ｉ］と表記する。
【００７１】
そして、マイクロプロセッサ（第２判定部３４ｂ）は、配列ｋｅｙｓに格納される各機密文書ＩＤについて、Ｓ３０９〜Ｓ３１０のステップを実行する。すなわち、マイクロプロセッサ（第２判定部３４ｂ）は、ｋｅｙ［ｉ］がｎｅｉｇｈｂｏｒデータ中のキー集合に含まれ、且つ、ｎｅｉｇｈｂｏｒデータに含まれる、ｋｅｙ［ｉ］で示される機密文書のスコアが基準値以上であるか否かを判定する（Ｓ３０９）。ｋｅｙ［ｉ］がｎｅｉｇｈｂｏｒデータ中のキー集合に含まれ、且つ、ｎｅｉｇｈｂｏｒデータに含まれる、ｋｅｙ［ｉ］で示される機密文書のスコアが基準値未満である場合（Ｓ３０９のｎｏ）、マイクロプロセッサは、ｋｅｙ［ｉ」をキーとするエントリを、ｒｅｓｕｌｔデータから削除する（Ｓ３１０）。
【００７２】
こうして、配列ｋｅｙｓに格納される全機密文書ＩＤについてＳ３０９〜Ｓ３１０のステップが完了すると、マイクロプロセッサ（通知部２０ｃ）は、ｒｅｓｕｌｔデータにいずれかのエントリがあれば、当該エントリ中のメールアドレスを宛先として、警告電子メールを送信する（Ｓ３１１）。
【００７３】
なお、本発明の実施形態は、上記実施形態だけに限らない。
【００７４】
例えば、第１実施形態において、検索キーワードが機密キーワードとして機密キーワード保持部１２に保持されている場合に、特別検索部１６ａ（図１参照）が、特別検索部１６ｂ（図６参照）と同様にして、文書の検索を行うようにしてもよい。この場合、機密キーワード保持部１２に機密キーワードだけを保持させればよい。
【符号の説明】
【００７５】
２  文書管理装置、４  文書格納部、  ６  ユーザ格納部、８  アクセス制御リスト格納部、１０  通常検索部、１２  検索キーワード保持部、１４ａ，１４ｂ，１４ｃ  機密漏洩検知部、１６ａ，１６ｂ  特別検索部、１８ａ，１８ｂ  権限有無判定部、２０ａ，２０ｂ，２０ｃ  通知部、２２  Ｗｅｂ検索部、２４  削除部、２６  辞書格納部、２８  追加登録部、３０  機密文書ＩＤ保持部、３２  第１判定部、３４ａ，３４ｂ  第２判定部。
【図１】
0005953851.tif 000002
【図２】
0005953851.tif 000003
【図３】
0005953851.tif 000004
【図４】
0005953851.tif 000005
【図５】
0005953851.tif 000006
【図６】
0005953851.tif 000007
【図７】
0005953851.tif 000008
【図８】
0005953851.tif 000009
【図９】
0005953851.tif 000010