(57)【要約】  機密データの定義情報を暗号化などで適切に保護しつつ、リモート環境で定義情報とデータの照合を可能にする。機密情報を表す単語や部分文字列などの定義情報を個別に暗号化やハッシュ化などで秘匿するステップと、制御対象となるデータから単語や部分文字列などの要素を抽出し、個別に秘匿化するステップと、秘匿化した要素をサーバに送信するステップと、秘匿化した定義情報と秘匿化した要素を秘匿したまま照合して、制御対象のデータに定義情報と一致する情報が含まれているかを判定するステップとを有する。
2013118280.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータやネットワーク上のデータを監視し、予め設定した定義情報に基づいて前記データの機密性を判定し、前記機密性に応じて前記データの処理を変更する機密データの漏えい防止方法であって、
前記定義情報を秘匿化しネットワークにつながれたコンピュータ上に秘匿化した定義情報を格納するステップと、
前記データと前記秘匿化した定義情報を前記秘匿化した定義情報を秘匿したまま照合して機密性を判定するステップとを有する、機密データの漏えい防止方法。
【請求項２】
請求項１に記載の機密データの漏えい防止方法であって、前記データから前記データを構成する部分データの集合を抽出し、前記部分データの集合の各要素を秘匿化して生成したデータ集合を前記秘匿化した定義情報を保持するコンピュータ上に送信し、前記データ集合と前記秘匿化した定義情報の一致度を測定することで、前記データと前記秘匿化した定義情報の照合を行うことを特徴とする、機密データの漏えい防止方法。
【請求項３】
機密情報を設定するための管理者用端末と、
機密判定すべき制御対象データを制御する、少なくとも一つの制御対象装置と、
前記機密情報に基づいて、前記制御対象データの機密の度合を判定するポリシ管理サーバとが、
互いにネットワークを介して接続された機密データ漏えい防止システムであって、
前記管理者用端末は、
前記機密情報として設定すべき定義情報を受け付け、前記定義情報を秘匿化したリファレンスを生成して前記ポリシ管理サーバに送信する定義情報秘匿手段を有し、
前記制御対象装置は、
機密判定の要求を受けて、前記制御対象データから抽出した要素を秘匿化する秘匿化手段と、
前記秘匿化した要素を含む照合用クエリを生成して前記ポリシ管理サーバに送信するクエリ生成手段と、
前記制御対象データの制御を行って、前記制御の結果をログとして前記ポリシ管理サーバに登録する制御手段とを有し、
前記ポリシ管理サーバは、
前記照合用クエリと前記リファレンスとを照合する照合手段と、
前記照合の結果に対して機密の度合を判定し、前記判定の結果を前記制御対象装置に送信する機密判定手段とを有する、
ことを特徴とする機密データ漏えい防止システム。
【請求項４】
前記制御対象装置の前記秘匿化手段は、前記ポリシ管理サーバが保持し、秘匿化及び照合の必要がないデータを識別するためのローカルフィルタに基づいて、前記要素の抽出を行うことを特徴とする請求項３記載の機密データ漏えい防止システム。
【請求項５】
前記ポリシ管理サーバの前記機密判定手段は、前記ポリシ管理サーバが保持し、カテゴリの機密の度合を判定するための基準を定めたカテゴリルールに基づいて、前記照合の結果に対して機密の度合を判定することを特徴とする請求項３記載の機密データ漏えい防止システム。
【請求項６】
前記制御対象装置の前記制御手段は、前記ポリシ管理サーバが保持し、前記機密判定の結果得られる機密の度合いに応じた制御方法を定めた制御ルールに基づいて、前記制御対象データを制御することを特徴とする請求項３記載の機密データ漏えい防止システム。
【請求項７】
ネットワークを介して、管理者用端末と、少なくとも一つの制御対象装置とに接続されたポリシ管理サーバは、
前記管理者用端末から入力した、機密情報として設定すべき定義情報を秘匿化したリファレンスと、前記制御対象装置から入力した、制御対象データから抽出した要素を秘匿化して生成した照合用クエリとを照合する照合手段と、
前記照合の結果に対して機密の度合を判定し、前記判定の結果を前記制御対象装置に送信する機密判定手段とを有する、
ことを特徴とするポリシ管理サーバ。
【請求項８】
ネットワークを介して、管理者用端末と、ポリシ管理サーバとに接続された少なくとも一つの制御対象装置は、
機密判定の要求を受けて、前記制御対象データから抽出した要素を秘匿化する秘匿化手段と、
前記秘匿化した要素を含む照合用クエリを生成して前記ポリシ管理サーバに送信するクエリ生成手段と、
前記制御対象データの制御を行って、前記制御の結果をログとして前記ポリシ管理サーバに登録する制御手段とを有し、
前記秘匿化手段は、前記ポリシ管理サーバが保持し、秘匿化及び照合の必要がないデータを識別するためのローカルフィルタに基づいて、前記要素の抽出を行い、
前記制御手段は、前記ポリシ管理サーバが保持し、前記機密判定の結果得られる機密の度合いに応じた制御方法を定めた制御ルールに基づいて、前記制御対象データを制御することを特徴とする制御対象装置。
【請求項９】
機密情報を設定するための管理者用端末と、それぞれが機密判定すべき制御対象データを制御する、少なくとも一つの制御対象装置と、前記機密情報に基づいて、前記制御対象データの機密の度合を判定するポリシ管理サーバとが、互いにネットワークを介して接続されたシステムにおける、機密データ漏えい防止方法であって、
前記管理者用端末は、
前記機密情報として設定すべき定義情報を受け付け、前記定義情報を秘匿化したリファレンスを生成して前記ポリシ管理サーバに送信し、
前記制御対象装置は、
機密判定の要求を受けて、前記制御対象データから抽出した要素を秘匿化し、
前記秘匿化した要素を含む照合用クエリを生成して前記ポリシ管理サーバに送信し、
前記ポリシ管理サーバは、
前記照合用クエリと前記リファレンスとを照合し、
前記照合の結果に対して機密の度合を判定し、前記判定の結果を前記制御対象装置に送信し、
前記制御対象装置は、
前記制御対象データの制御を行って、前記制御の結果をログとして前記ポリシ管理サーバに登録する、
ことを特徴とする機密データ漏えい防止方法。
【請求項１０】
ネットワークを介して、管理者用端末と、少なくとも一つの制御対象装置とに接続されたポリシ管理サーバにおける、機密データ漏えい防止方法であって、
前記管理者用端末から入力した、機密情報として設定すべき定義情報を秘匿化したリファレンスと、前記制御対象装置から入力した、制御対象データから抽出した要素を秘匿化して生成した照合用クエリとを照合し、
前記照合の結果に対して機密の度合を判定し、前記判定の結果を前記制御対象装置に送信する、
ことを特徴とする機密データ漏えい防止方法。
【請求項１１】
ネットワークを介して、管理者用端末と、ポリシ管理サーバとに接続された少なくとも一つの制御対象装置における、機密データ漏えい防止方法であって、
機密判定の要求を受けて、前記制御対象データから抽出した要素を秘匿化する秘匿化ステップと、
前記秘匿化した要素を含む照合用クエリを生成して前記ポリシ管理サーバに送信するクエリ生成ステップと、
前記制御対象データの制御を行って、前記制御の結果をログとして前記ポリシ管理サーバに登録する制御ステップを有し、
前記秘匿化ステップは、前記ポリシ管理サーバが保持し、秘匿化及び照合の必要がないデータを識別するためのローカルフィルタに基づいて、前記要素の抽出を行い、
前記制御ステップは、前記ポリシ管理サーバが保持し、前記機密判定の結果得られる機密の度合いに応じた制御方法を定めた制御ルールに基づいて、前記制御対象データを制御することを特徴とする機密データ漏えい防止方法。
【請求項１２】
ネットワークを介して、管理者用端末と、少なくとも一つの制御対象装置とに接続されたポリシ管理サーバにおける機密データ漏えい防止方法を実行するためのプログラムを格納した、計算機で読み取り可能な記憶媒体であって、前記方法は、
前記管理者用端末から入力した、機密情報として設定すべき定義情報を秘匿化したリファレンスと、前記制御対象装置から入力した、制御対象データから抽出した要素を秘匿化して生成した照合用クエリとを照合し、
前記照合の結果に対して機密の度合を判定し、前記判定の結果を前記制御対象装置に送信する、
ことを特徴とする記憶媒体。
【請求項１３】
ネットワークを介して、管理者用端末と、ポリシ管理サーバとに接続された少なくとも一つの制御対象装置における機密データ漏えい防止方法を実行するためのプログラムを格納した、計算機で読み取り可能な記憶媒体であって、前記方法は、
機密判定の要求を受けて、前記制御対象データから抽出した要素を秘匿化する秘匿化ステップと、
前記秘匿化した要素を含む照合用クエリを生成して前記ポリシ管理サーバに送信するクエリ生成ステップと、
前記制御対象データの制御を行って、前記制御の結果をログとして前記ポリシ管理サーバに登録する制御ステップを有し、
前記秘匿化ステップは、前記ポリシ管理サーバが保持し、秘匿化及び照合の必要がないデータを識別するためのローカルフィルタに基づいて、前記要素の抽出を行い、
前記制御ステップは、前記ポリシ管理サーバが保持し、前記機密判定の結果得られる機密の度合いに応じた制御方法を定めた制御ルールに基づいて、前記制御対象データを制御する、
ことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータやネットワーク上に存在する機密データを検知し、暗号化や外部への出力中止など適切な制御を行うことで、情報漏えいを防止する技術に関する。
【背景技術】
【０００２】
企業には、顧客情報など多くの機密データが存在する。電子データは複製や移動が簡単なため情報漏えいが起こりやすい。情報漏えい防止策として、ユーザごとにアクセス権限を設定して機密データの取り扱いを制限する方法が広く浸透している。【０００３】
それに対し、データの内容に応じて機密データかどうかを判断し、外部への流出を防止する製品・技術が近年普及しつつある。これらの製品・技術は一般にデータ損失防止「Data Loss Prevention(略称DLP)」と呼ばれる。DLPでは、コンピュータやネットワーク上のデータ（制御対象データ）が機密データに該当するかを如何に判断するかが重要である。判断の方法として、予め指定したキーワードと判断対象のデータを照合する方法が広く使われている。また、予め指定したファイルと判断対象のデータの類似度をもとに機密データに該当するかを判断する方法も使われている。【０００４】
上記の予め指定する内容（以下、定義情報と呼ぶ）は、それ自身が機密な情報を含むことがある（たとえば、顧客の氏名や、クレジット番号など)。外部からの攻撃者や内部の悪意のある管理者などがこれらの情報を取得できないよう、社内イントラネット内など安全な場所で定義情報を取り扱うことが求められる。一方で、複数拠点から定義情報を参照および更新するためには、インターネット上などアクセスが容易な場所で定義情報を取り扱えることが求められる。また、クラウドコンピューティングの普及に伴い、企業は、第三者が提供するデータセンタ上でデータを管理するようになってきている。そのため、定義情報をデータセンタ上で管理したいというニーズが今後高まると予想される。【０００５】
リモート環境で定義情報を安全に保護しつつ、企業内の機密データを適切に検知・制御する技術に関して、以下の従来技術が知られている。【０００６】
リモート環境で定義情報と制御対象データの照合を行う従来技術として、特許文献１が知られている。特許文献１では、エンドポイント内のローカル・マッチング・サービスとサーバ上のリモート・マッチング・サービスを併用して、あらかじめ設定したキーワードなどと制御対象のデータを照合する方法が開示されている。【０００７】
また、照合に利用する定義情報の安全性に言及している従来技術として、特許文献２が知られている。特許文献２では、あらかじめ指定したソース・データから生成したインデックスと制御対象データを照合する方法が開示されている。攻撃者による情報取得を防ぐため、インデックスはソース・データそのものを含まず、ソース・データを暗号化あるいはハッシュ化したものを含む。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国公開公報２００６／０２５３４４５
【特許文献２】国際公開公報ＰＣＴ／ＵＳ２００６／００５３１７
【非特許文献】
【０００９】
【非特許文献１】Dawn  Xiaodong Song、 David Wagner、 Arian Perrig. “Practical Techniques for Searches on Encrypted Data”. In Proceedings of the 2000 IEEE Symposium on Security and Privacy、 pages 44-55(2000).
【非特許文献２】D. Boneh、 G. D. Crescenzo、 and R. O. et al.、“Public key encyrption with keyword search、” in Advances in Cryptology-EUROCRYPT 2004、 ser. LNCS、 C. Cachin and J. Camenisch、 Eds.、 vol.3027. Springer-Verlag、 2004、 pp. 506-522.
【非特許文献３】B. Bloom: "Space/Time Tradeoffs in Hash Coding with Allowable Errors"、 Communications of the ACM 13:7、 pp.422-426、 1970.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述した特許文献１によると、ネットワークにつながれたサーバ上で定義情報を一元管理でき、定義情報とエンドポイントから送信された制御対象データとをサーバ上で照合できる。しかし、特許文献１では、定義情報を暗号などで保護する仕組みについては言及されていない。そのため、悪意のあるデータベース管理者などが定義情報を取得して、悪用することを防ぐことはできない。また、サーバに送る制御対象データの保護については言及されていないので、サーバを第三者が提供するデータセンタで管理する場合には、制御対象データの情報の安全性が保障されない。【００１１】
一方、上述した特許文献２によると、インデックスを暗号化あるいはハッシュ化することで、インデックスから機密情報が漏れることを防げる。しかし、暗号化あるいはハッシュ化したインデックスと制御対象データを照合する具体的方法については開示されていない。【００１２】
仮にインデックス全体を暗号化して保存しておき、照合する前に復号する場合、ある一定時間は生のインデックスがメモリなどに存在してしまう。また、復号に必要な鍵を管理しなければならず、悪意を持ったＤＢ管理者が鍵を手に入れ、暗号化した情報を復号してしまう危険性がある。【００１３】
上記の生のインデックスが露呈する問題を解決するために、暗号した定義情報を復号せずに照合する方法が考えられる。しかし、従来の暗号化やハッシュ化の処理だけでは、処理結果がランダムな値になるため、制御対象データとの照合を行うことはできない。【００１４】
本発明は、上記の問題点を考慮し、定義情報を暗号化などで適切に保護しつつ、リモート環境での照合を可能にすることを目的とする。
【課題を解決するための手段】
【００１５】
前記目的を達成するため、本発明では、秘匿化した定義情報をサーバ上で管理し、制御対象データが機密かどうかの判定をサーバ上で行う。定義情報の秘匿化は、管理者が定義情報を設定するタイミングで行うので、ＤＢ管理者などが定義情報の中身を推測することはできない。制御対象データが機密かどうかの判定は、制御対象データから生成した照合用のクエリと、サーバ上で管理する秘匿化した定義情報とを照合することで行われる。【００１６】
照合用のクエリは、定義情報と照合するのに適した要素(例：単語、部分文字列など)を制御対象データから抽出した後、各要素に対して暗号化、ハッシュ化などの秘匿処理を行い生成される。このとき、各要素の秘匿化は、機密情報として設定された定義情報を秘匿化したリファレンスと比較可能な方法で行われる。二つの秘匿化した情報を秘匿化したまま比較可能な方法は複数考えられる。単純な方法としては、同一の共通鍵暗号化アルゴリズムで同一鍵を用いた暗号化や、同一のハッシュアルゴリズムでハッシュ化がある。より複雑な方法として、検索可能暗号と呼ばれる方法を用いてもよい。これらの方法を使うことで、秘匿前の情報が同一かどうかを秘匿化したままで判定できる。これらの方法については、実施例の中で詳細を説明する。【００１７】
また、制御対象データそのものを秘匿するのではなく、秘匿対象データから抽出した単語や部分文字列などを個別に匿化することで、単語や部分文字列など細かい粒度での照合が可能になる。【００１８】
サーバ上での機密データの判定処理の全体の流れは以下のようになる。【００１９】
まず、サーバは、制御対象データに対する機密判定の要求を受けると、上記で述べた方法により定義情報とクエリを照合して、制御対象データに含まれる、定義情報に合致する要素を抽出する。次に、その結果と予め指定した機密データの分類ルール（カテゴリルール）に基づいて、制御対象データの機密度を判定する。最後に、サーバは、判定結果を機密判定の要求を送信した装置へ通知する。各装置は、その通知結果に従い、制御対象データを制御する。【００２０】
上記の処理の間、サーバ上では、定義情報と制御対象データは秘匿化されているので、仮に不正な管理者などがサーバ上のデータを観察していても、機密情報を取得することはできない。
【発明の効果】
【００２１】
本発明により、定義情報を保護したままリモート環境で機密データを検知でき、情報漏えいの防止を実現できる。
【図面の簡単な説明】
【００２２】
【図１】システム構成の例を示した図である。
【図２】コンピュータの例を示した図である。
【図３】ポリシ管理サーバの例を示した図である。
【図４】制御対象装置の例を示した図である。
【図５】管理者用端末の例を示した図である。
【図６】制御ルールの例を示した図である。
【図７】リファレンステーブルの例を示した図である。
【図８】ログ３１５の例を示した図である。
【図９】ローカルフィルタの例を示した図である。
【図１０】カテゴリルールの例を示した図である。
【図１１】制御モジュールの処理の流れの例を示した図である。
【図１２】ポリシ問合せモジュールの処理の流れの例を示した図である。
【図１３】クエリ生成モジュールの処理の流れの例を示した図である。
【図１４】ポリシ判定モジュールの処理の流れの例を示した図である。
【図１５】秘匿照合モジュールの処理の流れの例を示した図である。
【図１６】リファレンス秘匿モジュールの処理の流れの例を示した図である。
【図１７】処理概要を示す図である。
【発明を実施するための形態】
【００２３】
以下、本発明を実施するための形態（以下、「実施形態」という。）について、適宜図面を参照しつつ、説明する。
【００２４】
（システム構成）
図１は、本発明の実施形態に係るシステム構成の例を示した図である。図１に示すように、本システムは、ポリシ管理サーバ１１０、管理者用端末１２０、及び制御対象装置を含み、更に、制御対象装置は、ＰＣ、モバイルデバイスなど企業の従業員が日々の業務で使う装置全般であるエンドポイント１３０、ストレージ１４０、及びネットワーク監視装置１５０を含み、これらの装置はネットワーク１０１を介して相互に接続されて構成される。
【００２５】
本実施例における「ポリシ」とは、機密情報と制御方法に関する情報である。
【００２６】
制御対象装置１３０−１５０は、機密判定の要求に基づいて、制御対象データから抽出した要素を秘匿化して照合用クエリを作成してポリシ管理サーバ１１０に送信する。一方、管理者用端末１２０は、機密情報として設定すべき定義情報を秘匿化したリファレンスをポリシ管理サーバ１１０に送信する。ポリシ管理サーバ１１０は、いずれも秘匿化された照合用クエリとリファレンスとを照合し、照合結果に対して機密度を判定する。制御対象装置１３０-１５０は、機密度判定の結果に基づいて、制御対象データの制御を行い、その結果をログとしてポリシ管理サーバ１１０に登録する。従って、ポリシ管理サーバ１１０では、制御対象データと定義情報（機密情報）とがそれぞれ秘匿されたままで照合され、さらに機密度が判定される。
【００２７】
ポリシ管理サーバ１１０は、ポリシ管理機能１１１、ポリシ判定機能１１２、ポリシ判定秘匿機能１１３を備える。
【００２８】
ポリシ管理機能１１１は、機密データの判定に必要な情報や機密データに対する制御方法を保持し、必要に応じて変更・更新をする機能などを提供する。ポリシ管理機能１１１の詳細は、図３で説明する。
【００２９】
ポリシ判定機能１１２は、あるデータが機密データかどうかの判定およびデータに対する制御方法の判定を行う機能などを提供する。なお、以下では、機密データの機密度の判定と制御方法の判定を合わせてポリシ判定と呼ぶ。ポリシ判定機能１１２の詳細は、図３で説明する。
【００３０】
ポリシ判定秘匿機能１１３は、ポリシ判定機能１１２が行う機密データの判定を、定義情報の内容を秘匿化したリファレンスのまま行う機能などを提供する。ポリシ判定秘匿機能１１３の詳細は、図３で説明する。
【００３１】
管理者用端末１２０は、設定機能１２１、定義情報秘匿機能１２２を備える。
【００３２】
設定機能１２１は、権限のある管理者が、ポリシ管理サーバ１１０がポリシ判定に利用する情報を、ポリシ管理サーバ１１０へ設定するための機能を提供する。設定機能１２１の詳細は図５で説明する。
【００３３】
定義情報秘匿機能１２２は、ポリシ管理サーバ１１０に登録する定義情報を秘匿したリファレンスを生成する機能を提供する。定義情報秘匿機能１２２の詳細は、図５で説明する。    
エンドポイント１３０、ストレージ１４０、ネットワーク監視装置１５０は、データ制御機能１３１、ポリシ問合せ機能１３２、クエリ秘匿機能１３３を備える。
【００３４】
エンドポイント１３０は、データを格納するとともに、電子メールの送信、プリンタを通しての印刷、外部記録媒体への出力など、データを他の場所へ複製あるいは移動する機能を備える。
【００３５】
また、ストレージ１４０とは、ファイルサーバや、文書管理サーバなど主にデータを保存することを目的とした装置全般を指す。ストレージ１４０は、ユーザからアクセス要求を受けデータを出力する機能を備える。
【００３６】
また、ネットワーク監視装置１５０とは、LAN(Local Area Network)などのネット−ワーク上を流れるデータを監視しログ３１５情報などを出力する装置を指す。ネットワーク装置は、取得したデータを遮断する機能、送信先を変える機能などを備える。ネットワーク監視装置１５０は、プロキシサーバや専用アプライアンスなどの装置として実現される。
【００３７】
上述したように、制御対象装置は、データを格納する機能および出力する機能を備える。データ制御機能１３１、ポリシ問合せ機能１３２、クエリ秘匿機能１３３は、互いに連携し、制御対象装置が格納する機密データが制御対象装置の外部へ出力されることを防止する。本実施例では、制御対象装置が備えるデータ制御機能１３１、ポリシ問合せ機能１３２、クエリ秘匿機能１３３の３つの機能を制御対象装置の種類（エンドポイント１３０、ストレージ１４０、ネットワーク）によらず統一的に説明する。制御対象装置の種類に応じて、処理などが異なる場合はその都度明記する。
【００３８】
データ制御機能１３１は、制御対象装置がデータの出力を行う前に、出力しようとするデータを取得し、そのデータのポリシ判定結果に応じて、処理を中止するなどの制御を行う機能を提供する。データ制御機能１３１の詳細は、図４で説明する。
【００３９】
ポリシ問合せ機能１３２は、データ制御機能１３１が取得したデータのポリシをポリシ管理サーバ１１０へ問い合わせる機能を提供する。ポリシ問合せ機能１３２の詳細は、図４で説明する。
【００４０】
クエリ秘匿機能１３３は、ポリシ問合せ機能１３２がポリシを問い合わせるために送信するクエリを秘匿化する機能を提供する。クエリ秘匿機能１３３の詳細は、図４で説明する。
【００４１】
次に図２を参照して、コンピュータの例について説明する。ネットワーク１０１に接続する各装置は、いずれも、少なくともＣＰＵ（Central Processing Unit）、記憶装置、および通信装置を備えたコンピュータである。図２に示すように、このコンピュータ２０１は、ＣＰＵ２０２、主記憶装置２０３および補助記憶装置２０４（これらを記憶装置２１０とする）、ネットワーク１０１と接続されるネットワークインターフェース２０５（通信装置）、ディスプレイといった表示手段（出力装置）やキーボードやマウスといった入力装置と接続されるＩ（Input）／Ｏ（Output）インターフェース２０６、ＵＳＢメモリなどの可搬媒体と接続するための可搬媒体接続部を含むハードウェア資源が内部バス２０７によって相互に接続されて構成される。
【００４２】
なお、ここでは、主記憶装置２０３と補助記憶装置２０４とを総称する場合には、単に、「記憶装置２１０」と称する。また、前記ネットワーク１０１に接続された各コンピュータ類には、本実施形態の情報処理に必要となるプログ３１５ラムを記憶したハードディスクドライブ（前記補助記憶装置２０４など）やＲＯＭ（Read Only Memory）などが当然備えられている。 
ここで、図１７を用いて、本実施例における処理概要を説明する。図１７は、制御対象装置１３０-１５０、ポリシ管理サーバ１１０、及び管理者用端末１２０のそれぞれに関連するデータ（実線の枠）と処理（破線の枠）の関係を示したものである。データ又は処理に付した（  ）内の数字は、後述するデータ、機能又はモジュールの符号である。実線の矢印は処理/データの流れを示し、破線の矢印は処理におけるデータ参照を示す。
【００４３】
管理者用端末１２０では、機密情報として設定すべき定義情報が入力されると、定義情報が秘匿化されてリファレンスが生成され（５２１）、ポリシ管理サーバ１１０に送信される。
【００４４】
一方、制御対象装置１３０-１５０では、機密判定の要求を受け付けると、ポリシ管理サーバ１１０が保持しているローカルフィルタ３１４を参照しながら、判定の対象となる制御対象データから要素（単語、部分文字列など）を抽出して秘匿化し（４２１、４３１、４３２）、秘匿化した要素を含む照合用クエリを生成してポリシ管理サーバ１１０に送信する。
【００４５】
ポリシ管理サーバ１１０では、それぞれが秘匿化されている、制御対象装置１３０−１５０からの照合用クエリと、管理者用端末１２０からのリファレンス３１１とを照合する（３２１）。その照合の結果に対して、ポリシ管理サーバ１１０が保持しているカテゴリルール３１２に基づいて、機密判定３３１を行って、その結果を制御対象装置１３０-１５０に送信する。
【００４６】
制御対象装置１３０-１５０では、ポリシ管理サーバ１１０からの機密判定の結果に基づいて、ポリシ管理サーバが保持する制御ルール３１３を参照しながら、機密判定の結果得られる機密の度合いに応じた制御方法で、制御対象データの制御を行い（４１３）、制御の結果をログ３１５として、ポリシ管理サーバ１１０に登録する。
【００４７】
上記のように、本実施例では、管理者用端末１２０で機密情報として設定した定義情報、及び制御対象装置１３０−１５０で機密判定の要求として入力した制御対象データがそれぞれの端末側又は装置側で秘匿され、ポリシ管理サーバ１１０では、秘匿化された情報の照合と判定の処理が行われるので、ポリシ管理サーバ１１０に対して平文イメージの情報を隠ぺいしたまま、機密情報の設定や機密判定を依頼できる。
【００４８】
次に図３を参照して、ポリシ管理サーバ１１０が備える各機能の例について説明する。
【００４９】
ポリシ管理機能１１１は、リファレンステーブル３１１、カテゴリルール３１２、制御ルール３１３、ログ３１５、ローカルフィルタ３１４、などを備えて構成される。
【００５０】
リファレンステーブル３１１は、ポリシ判定モジュール３３１が、機密データの判定に利用するリファレンスを管理する。たとえば機密情報を表すキーワードなどがリファレンスとして使われる。背景技術で述べたように、一般にリファレンスは機密な情報を含む。そこで、本発明では、リファレンスから機密情報を取得できない形式でリファレンスを保存しつつ、機密データの判定を実現する方式をとる。リファレンスの詳細は、図７で説明する。
【００５１】
カテゴリルール３１２は、ポリシ判定モジュール３３１が、リファレンスと合わせて機密データの判定に利用する情報である。企業などでは、データを機密か非機密の２種類に分けるのではなく、機密度に応じて複数の種類に分け、種類ごとに制御の方法を変えるという運用が一般的である。本発明では、機密度に応じた種類を「カテゴリ」とよぶ。各カテゴリはたとえば、「公開」、「社外秘」、「極秘」といった名称で互いに区別される。カテゴリルール３１２は、あるデータがどのカテゴリに属するかを、リファレンスから決定する方法を定義する。カテゴリルール３１２の詳細は、図１０で説明する。
【００５２】
制御ルール３１３は、ポリシ判定モジュール３３１がデータの制御方法を判定するために利用される。制御ルール３１３は、各カテゴリに属するデータに対して、どのような処理が可能かというルールを定義する。制御ルール３１３の詳細は、図６で説明する。
【００５３】
ログ３１５は、制御対象装置でデータ制御機能１３１がデータに対して制御を行った結果などを記録した情報である。ログ３１５の詳細は、図８で説明する。
【００５４】
ローカルフィルタ３１４は、ポリシ判定モジュール３３１がデータのポリシを判定する際に不要な情報を定義し、クエリ生成モジュール４３1がポリシ問合せのためのクエリを生成する際に利用される。即ち、制御対象データからローカルフィルタ３１４によって選択された要素（単語、部分文字列など）が秘匿化されて、照合用クエリが生成される。ローカルフィルタ３１４の詳細は、図９で説明する。
【００５５】
ポリシ判定機能１１２は、ポリシ判定モジュール３３１、ローカルフィルタ３１４配信モジュール、制御ルール配信モジュール３３２、などを備えて構成される。
【００５６】
ポリシ判定モジュール３３１は、制御対象装置から送信されたクエリから制御対象データのポリシを判定し、即ち、照合用クエリとリファレンスとを照合し、更に、カテゴリルール３１２に基づいて機密度を判定し、制御対象装置へポリシの判定結果を送信する機能を提供する。ポリシ判定モジュール３３１の詳細は、図１１で説明する。
【００５７】
ローカルフィルタ配信モジュール３３３は、ポリシ管理機能１１１が保持するローカルフィルタ３１４を制御対象装置へ送信する機能を提供する。ローカルフィルタ３１４配信モジュールは、送信すべき制御対象装置のアドレス情報などを内部に保持しており、それらを参照して、各制御装置へローカルフィルタ３１４を送信する。各制御装置１３０-１５０では、ポリシ問合せ機能１３２によって、ローカルフィルタ３１４を用いて、制御対象データから秘匿化すべき要素が選択される。ローカルフィルタ３１４を送信するタイミングは、ローカルフィルタ３１４が変更された直後や、制御対象装置が新しく導入された直後などである。管理者が管理者端末を通してローカルフィルタ３１４配信モジュールに送信の要求を出してもよいし、ローカルフィルタ３１４の変更や、制御対象装置の追加などをローカル配信モジュールが検知してもよい。
【００５８】
制御ルール配信モジュール３３２は、ポリシ管理機能１１１が保持する制御ルール３１３を制御対象装置へ送信する機能を提供する。制御ルール３１３はローカルフィルタ３１４と同様に、内部の制御対象装置のアドレス情報などを参照して、各制御装置へ送信する。なお、制御ルール３１３の制御ルール配信モジュール３３２は制御方法の判定をポリシ管理サーバ１１０上で行う場合には不要である。サーバ上で制御方法の判定を行う場合は、ポリシ判定モジュール３３１がポリシ管理サーバ１１０内の制御ルール３１３を参照し、判定を行う。
【００５９】
ポリシ判定秘匿機能１１３は、秘匿照合モジュール３２１などを備えて構成される。
【００６０】
秘匿照合モジュール３２１は、リファレンステーブル３１１に格納されている秘匿されたリファレンスと制御対象装置から送信されたクエリとを照合して、制御対象データのカテゴリを判定する機能を提供する。秘匿照合モジュール３２１の処理の詳細は、図１５で説明する。
【００６１】
次に図４を参照して、制御対象装置１３０−１５０の例について説明する。
【００６２】
データ制御機能１３１は、データ遮断モジュール４１１、イベント監視モジュール４１２、制御モジュール４１３などを備える。
【００６３】
データ遮断モジュール４１１は、制御対象装置３４０からデータが出力されるのを遮断する機能を提供する。一般に制御対象装置３４０は複数の出力方法を持つ。データ遮断モジュール４１１は、それらの出力方法のすべてを遮断してもよいし、あらかじめ指定した出力方法のみを遮断してもよい。例えば、印刷を遮断する場合は、印刷用のポートを利用禁止にしておけばよい。また、データ遮断モジュール４１１は、制御モジュール４１３から遮断解除の指示を受信すると、遮断を解除する。なお、データの制御を行わず、ログ３１５だけを取得したい場合は、データ遮断モジュール４１１は不要である。
【００６４】
イベント監視モジュール４１２は、制御対象装置３４０内で発生するイベントを監視し、データ出力に関するイベントが発生した場合に、制御モジュール４１３へ通知する機能を提供する。OSが提供するAPIなどを利用することでこの機能を実現できる。
【００６５】
制御モジュール４１３は、制御対象装置３４０内から出力されようとするデータ（制御対象データ）を取得し、ポリシ問合せモジュール４２１を介してポリシ管理サーバ１１０へ制御対象データのポリシを問合せ、その結果に従って、制御対象データを制御する機能を提供する。制御モジュール４１３の詳細は、図１１で説明する。
【００６６】
ポリシ問合せ機能１３２は、ポリシ問合せモジュール４２１、制御ルール３１３などを備えて構成される。
【００６７】
ポリシ問合せモジュール４２１は、制御対象データのポリシをポリシ管理サーバ１１０へ問合せ、受信した結果を制御モジュール４１３へ送信する機能を提供する。ポリシ問合せモジュール４２１の詳細は、図１２で説明する。
【００６８】
制御ルール３１３は、図３で説明した制御ルール３１３と同一の内容である。制御方法の判定をポリシ管理サーバ１１０上で行う場合は、制御装置内の制御ルール３１３は不要となる。
【００６９】
クエリ秘匿機能１３３は、クエリ生成モジュール４３1、秘匿化モジュール４３２などを備えて構成される。 
クエリ生成モジュール４３1は、ポリシ問合せモジュール４２１がポリシ管理サーバ１１０に制御対象データのポリシを問い合わせるためのクエリを生成する。クエリは、クエリから制御対象データの内容が推測されないように、秘匿化処理が施される。
【００７０】
秘匿化モジュール４３２は、クエリ生成モジュール４３1がクエリに秘匿化処理を行うための、暗号化、ハッシュ化などの機能を提供する。
【００７１】
ローカルフィルタ３１４は、図３で説明したローカルフィルタ３１４と同一である。ローカルフィルタ３１４はローカルフィルタ配信モジュール３３３により、各制御措置へ配信される。
【００７２】
次に図５を参照して、管理者用端末１２０の例について説明する。
【００７３】
設定機能１２１は、設定モジュール５１１、認証モジュール５１２、などを備えて構成される。
【００７４】
認証モジュール５１２は、管理者用端末１２０を利用するユーザを認証する機能を提供する。認証方法としては、パスワードや生体情報を利用したものなどがあげられる。また、認証モジュール５２１は、内部に保持するユーザ情報に基づいて、ユーザが利用できる管理者用端末１２０の機能を制限する機能なども提供する。
【００７５】
設定モジュール５１１は、管理者が各種の設定を行うためのＧＵＩやＣＵＩなどのインターフェースを提供する。また、管理者が入力したポリシなどをポリシ管理サーバ１１０へ送信し、ポリシ管理サーバ１１０内に登録する機能を提供する。このとき、カテゴリルール３１２、ローカルフィルタ３１４、制御ルール３１３など、秘匿する必要がない情報は、管理者が入力した情報をそのまま送信する。しかし、定義情報など、機密内容を含む情報は、管理者が入力した情報を定義情報秘匿機能１２２により秘匿化し、ポリシ管理サーバ１１０へ送信する。
【００７６】
定義情報秘匿機能１２２は、定義情報秘匿モジュール５２１、定義情報閲覧モジュール５２２、などを備えて構成される。
【００７７】
定義情報秘匿モジュール５２１は、管理者が入力した定義情報を、制御装置から送信された秘匿化したクエリと照合可能にし、かつ、定義情報の内容は推測できない状態に秘匿化する機能を提供する。定義情報秘匿モジュール５２１の詳細は、図１６で説明する。
【００７８】
定義情報閲覧モジュール５２２は、入力した定義情報の確認又は修正のため、ポリシ管理サーバ１１０で管理する秘匿化されたリファレンスから秘匿前のリファレンスを復元する、即ち、リファレンスを元の定義情報に復元する機能を提供する。定義情報閲覧モジュール５２２は、管理者が入力した復元のための鍵を用いて、リファレンスを元の定義情報に復元する。
【００７９】
（テーブル）
次に図６を参照して、機密レベルとそのレベルに応じた処理との対応を示す制御ルール３１３の例について説明する。
【００８０】
制御ルール３１３は、カテゴリ６０１と制御内容６０２などを含む。
【００８１】
カテゴリ６０１は、データが属する機密レベルを表す名前である。図６の例では、公開、社外秘、極秘などのカテゴリが設定されている。
【００８２】
制御内容６０２は、制御装置で制御モジュール４１３が制御対象データに対して行う処理を表す。制御内容６０２は、複数の出力機能から構成され、各出力機能に対する制限内容を含む。「○」は制限されていないことを示し、「×」は制限内容であることを示し、「△」は条件付きの制限内容を示す。制限内容は、例えば「×出力を禁止する」、「△暗号化して出力」などを含む。図６の例では、カテゴリ「社外秘」に属するデータは、暗号化することで外部媒体書き出しとメール送信が行えるが、Ｗｅｂアップロードと印刷は禁止されていることを表す。
【００８３】
次に図７を参照して、リファレンステーブル３１１の例について説明する。リファレンステーブル３１１はＩＤ７０１、リファレンス７０２、重要度７０３などを含む。
【００８４】
ＩＤ７０１は、個別のリファレンス７０２を一意に識別するための識別子である。リファレンス７０２は、管理者が機密情報として設定した定義情報を秘匿化した情報である。秘匿照合モジュール３２１は、制御対象装置から送信された秘匿化されたクエリと定義情報を秘匿化したリファレンスを照合することで、制御対象データの属するカテゴリを判定する。
【００８５】
重要度７０３は、リファレンス７０２に対する機密の度合を表す。秘匿照合モジュール３２１が制御対象データに含まれる要素のカテゴリを判定する際に、この重要度を利用することで、重要度の高いリファレンスと一致した制御対象データは、より機密度が高いカテゴリに分類するなどの柔軟な判定ロジックを実現できる。重要度７０３の数値が大きい程、機密の度合が高いことを示す。
【００８６】
次に図８を参照して、ログ３１５の例について説明する。ログ３１５は、制御対象８０１、日時８０２、機器情報８０３、利用者ＩＤ８０４、カテゴリ８０５、リファレンスＩＤ８０６、制御結果８０７などを含む。
【００８７】
制御対象８０１は、制御対象データを識別する情報を表す。たとえばファイル名などが利用できる。日時８０２は、制御対象装置で制御が行われた時刻などを表す。機器情報８０３は、制御が行われた制御対象装置を識別する情報を表す。たとえば機器名や、ＩＰアドレスなどが利用できる。利用者ＩＤ８０４は、制御対象データに対して出力処理を行ったユーザを識別する情報を表す。たとえば従業員ＩＤなどが利用できる。
【００８８】
カテゴリ８０５は、制御対象データの属するカテゴリを表す。ポリシ判定モジュール３３１が判定したカテゴリがこの値に反映される。リファレンスＩＤ８０６は、制御対象データに含まれるリファレンスのＩＤ、即ち、ＩＤ７０１を表す。秘匿照合モジュール３２１が制御対象データのクエリとリファレンステーブル３１１を照合した結果、即ち、クエリと合致するレファレンス７０２のＩＤ７０１がこの値に反映される。制御結果８０７は、制御モジュール４１３が制御対象データに対して行った制御の内容を表す。
【００８９】
ポリシ問合せモジュール４２１は、制御モジュール４１３が制御を行った後に、ログ３１５を生成しポリシ管理サーバ１１０へ送信する。ポリシ管理サーバ１１０上のデータは悪意のあるサーバ管理者などが閲覧する可能性があるので、ポリシ問合せモジュール４２１は、ログ３１５の中で公開したくない情報を送信する前に暗号化して送ることができる。その際、ログ３１５のエントリ全体を暗号化してもよいし、制御対象だけなど一部を暗号化してもよい。
【００９０】
次に図９を参照して、制御対象データから秘匿化すべき要素を選択するためのローカルフィルタ３１４の例について説明する。ローカルフィルタ３１４は、ＩＤ９０１、フィルタ９０２などを含む。
【００９１】
ＩＤ９０１はフィルタを識別するための情報を表す。
【００９２】
フィルタ９０２は、制御対象データの中でポリシ判定に関係しない部分（単語、部分文字列など）を識別するための情報を表わす。たとえば、自明なキーワードなどを含む。フィルタ９０２には、秘匿化する必要がなく、更に、照合の必要がないデータが格納される。その結果、ローカルフィルタ３１４を保持しているポリシ管理サーバ１１０に対して、機密情報が隠ぺいされ、ローカルフィルタ３１４から機密情報が漏れることが防止される。  
次に図１０を参照して、カテゴリルール３１２の例について説明する。カテゴリルール３１２は、カテゴリ１００１、判定ロジック１００２などを含む。
【００９３】
カテゴリ１００１は、制御ルール３１３で定義されている情報と同一である。判定ロジック１００２は、秘匿化された照合用クエリと秘匿化された定義情報であるレファレンスとの照合結果に対して、ポリシ判定モジュール３３１がカテゴリの機密度を判定するための基準を表す。たとえば、一致したリファレンスの重要度の合計値の上限と下限などを含む。
【００９４】
（処理手順）
次に図１１を参照して、制御対象装置１３０−１５０の制御モジュール４１３の処理の例について説明する。
【００９５】
制御モジュール４１３は、データ出力に関するイベント発生の通知をイベント監視モジュール４１２から受信したタイミングで処理を開始する。即ち、このイベント発生の通知が、制御対象データに対する機密判定の要求となる。
【００９６】
ステップ１１０１において、制御モジュール４１３は、各制御対象装置が保持している制御対象データを取得する。この時、ファイル名など制御対象データに関係する情報も一緒に取得する。取得した後、ステップ１１０２に進む。
【００９７】
ステップ１１０２において、制御モジュール４１３は、ステップ１１０１で取得した情報を用いて、制御対象データのポリシをポリシ管理サーバ１１０へ問い合わせる。即ち、制御対象データに含まれる要素（単語、部分文字列など）が機密情報であるかどうか、及び、その要素に関する制御方法を問い合わせる。問い合わせ処理は、ポリシ問合せモジュール４２１を介して行われる。問合せ処理の詳細は、図１２で説明する。問い合わせた結果を取得した後、ステップ１１０３に進む。
【００９８】
ステップ１１０３において、制御モジュール４１３は、ステップ１１０２で取得したポリシに基づいて、出力処理を続行するか中断するかを判断する。処理を続行する場合は、ステップ１１０４へ、中止する場合は、ステップ１１０８へ進む。
【００９９】
ステップ１１０４において、制御モジュール４１３は、ステップ１１０２で取得したポリシに基づいて、制御対象データを加工する必要があるかを判断する。加工する必要がある場合は、ステップ１１０５へ、加工する必要がない場合は、ステップ１１０６へ進む。
【０１００】
ステップ１１０５において、制御モジュール４１３は、ステップ１１０２で取得したポリシに基づいて、制御対象データを加工する。また、暗号化などの加工処理を行う場合、ユーザに復号のためのパスワードを設定させるなどの処理を行う。データを加工した後、ステップ１１０６に進む。
【０１０１】
ステップ１１０６において、制御モジュール４１３は、制御対象データの出力処理を続行する。この処理は、制御モジュール４１３がデータ遮断モジュール４１１に対してデータの遮断機能を解除する命令を行うことで実現される。これにより、制御対象データは、各制御対象装置が備える出力機能を通して出力される。ステップ１１０５においてデータを加工した場合は、加工済みのデータを出力する。出力した後、ステップ１１０７に進む。
【０１０２】
ステップ１１０８において、制御モジュール４１３は、制御対象データの出力処理を中止する。ここで、制御モジュール４１３は、ポップアップ画面を表示し、処理の中止をユーザに通知するなどの補助的な処理を行ってもよい。出力処理を中止した後、ステップ１１０７に進む。
【０１０３】
ステップ１１０７において、制御モジュール４１３は、制御対象データに対する処理の結果をポリシ問合せモジュール４２１へ送信する。ステップ１１０６で出力処理を続行した場合、出力処理が問題なく終了したか、あるいは何らかのエラーが発生して出力処理が中断されたかなどを処理の結果に含む。更に、処理の結果は、ポリシ管理サーバ１１０に送信され、ログ３１５に登録される。一方ステップ１１０６で出力処理を中断した場合は、出力処理が適切に中止されたかなどを処理の結果に含む。処理結果を送信した後、制御モジュール４１３は処理を終了する。
【０１０４】
次に図１２を参照して、制御対象装置１３０−１５０のポリシ問合せモジュール４２１の処理の例について説明する。
【０１０５】
ポリシ問合せモジュール４２１は、制御モジュール４１３から制御対象データのポリシ問合せ命令を受信したタイミングで、処理を開始する。
【０１０６】
ステップ１２０１において、ポリシ問合せモジュール４２１は、ポリシ管理サーバ１１０へポリシを問い合わせるためのクエリを制御対象データから生成する。クエリの生成処理は、クエリ生成モジュール４３1を使って行われる。クエリ生成処理の詳細は、図１３で説明する。ポリシ問合せモジュール４２１は、クエリを生成した後、ステップ１２０２に進む。
【０１０７】
ステップ１２０２において、ポリシ問合せモジュール４２１は、ステップ１２０１で生成したクエリをポリシ管理サーバ１１０へ送信する。送信する際に、ポリシ問合せモジュール４２１は、制御対象データの機密判定に必要な付加情報をクエリとともに送信する。付加情報には、制御対象装置を識別する情報（例：マシン名、ＩＰアドレス）、出力処理の内容（例：印刷、ＵＳＢ書き出し）などが含まれる。クエリを送信した後、ステップ１２０３に進む。
【０１０８】
ステップ１２０３において、ポリシ問合せモジュール４２１は、ポリシ管理サーバ１１０からポリシの判定結果を受信する。受信した後、ステップ１２０４に進む。
【０１０９】
ステップ１２０４において、ポリシ問合せモジュール４２１は、ステップ１２０３で受信したポリシ判定結果を制御モジュール４１３へ通知する。制御モジュール４１３は、受信したポリシ判定結果に従って、出力処理の続行あるいは中止を行う。通知した後、ステップ１２０５に進む。
【０１１０】
ステップ１２０５において、ポリシ問合せモジュール４２１は、制御モジュール４１３から制御対象データに対する処理の結果を受信する。受信した後、ステップ１２０６に進む。
【０１１１】
ステップ１２０６において、ポリシ問合せモジュール４２１は、制御対象データに関する一連の処理のログ３１５を作成し、ポリシ管理サーバ１１０へ送信する。ログ３１５の内容は、例えば図８で示した内容を含む。ログ３１５を送信した後、ポリシ問合せモジュール４２１は処理を終了する。
【０１１２】
次に図１３を参照して、制御対象装置１３０−１５０のクエリ生成モジュール４３1の処理（図１２のステップ１２０１）の例について説明する。クエリ生成モジュール４３1は、ポリシ問合せモジュール４２１からクエリ生成の命令を受信したタイミングで、処理を開始する。
【０１１３】
ステップ１３０１において、クエリ生成モジュール４３1は、制御対象データを解析し照合対象要素を抽出する。ここで、照合対象要素は、単語や文などリファレンスと照合したい単位に制御対象データを分解したデータを表す。単語を照合対象要素にする場合は、形態素解析などの技術を用いることで実現できる。文を照合対象要素にする場合は、句読点や改行文字など特定のコードで分解することで実現できる。
【０１１４】
また、隣り合って出現するｎ単語の集合（単語ｎグラムとよばれる）や、隣り合って出現するｎ文字の集合（文字ｎグラム）などを照合対象要素として用いてもよい。照合対象要素を抽出した後、ステップ１３０２に進む。
【０１１５】
ステップ１３０２において、クエリ生成モジュール４３1は、ステップ１３０１で抽出した照合対象要素のうち、ポリシ判定に寄与しない要素を除外する。この処理は、ローカルフィルタ３１４を参照して、ローカルフィルタ３１４に含まれる条件に一致する照合対象要素を除外することで行われる。除外した後、ステップ１３０３に進む。
【０１１６】
ステップ１３０３において、クエリ生成モジュール４３1は、ステップ１３０２で除外されずに残った照合対象要素を秘匿化する。
【０１１７】
ここで、本発明で用いる秘匿化の方法について説明する。本発明では、次の２つの性質を満たす秘匿化を用いる。
（１）権限のない者が、秘匿化したデータから秘匿する前のデータを復元することは困難である。
（２）秘匿化した２つのデータを比較することで、秘匿化する前のデータが同一かどうかを判定できる。
【０１１８】
上記の性質を満たす方法はいくつか考えられる。下記で代表的な方法を説明するが、本発明はそれらの方法に限定されない。
【０１１９】
一番単純な方法として、ＭＤ５やＳＨＡ−１などのハッシュ関数を用いる方法がある。管理者は、キーワードや文字列をそのままリファレンスとして登録せずに、それらにハッシュ関数を適用した値を登録する。クエリ生成モジュール４３1は、制御対象データから抽出した各要素にハッシュ関数を適用した値の集合からクエリを生成する。ハッシュ関数の性質から、もとのデータが同一であればハッシュ関数を適用した値も同一なので、秘匿照合モジュール３２１は、リファレンスとクエリを照合できる。しかし、ハッシュ値を用いる場合は、管理者であっても、リファレンスから秘匿前の情報を復元することはできない。
【０１２０】
別の方法として、暗号化を用いる方法がある。暗号化はＤＥＳやＡＥＳなど共通鍵暗号方式とＲＳＡなどの公開鍵暗号方式に分けられる。
【０１２１】
共通鍵暗号方式を用いる場合は、管理者は、管理者しか知らない共通鍵でリファレンスを秘匿化してポリシ管理サーバ１１０へ登録する。さらに、管理者は、その暗号化鍵を各制御対象装置内のクエリ生成モジュール４３1に格納する。クエリ生成モジュール４３1は、格納された暗号化鍵を用いて、制御対象データから抽出した各要素を暗号化する。ハッシュ値を用いる場合と違い、管理者は、ポリシ管理サーバ１１０に登録されたリファレンスを共通鍵で復号することで、秘匿化する前のリファレンスの情報を閲覧することができる。
【０１２２】
一方、公開鍵暗号方式を用いる場合は、管理者は、公開鍵と秘密鍵のペアのうち、公開鍵でリファレンスを秘匿してポリシ管理サーバ１１０へ登録する。さらに、管理者は、公開鍵を各制御対象装置内のクエリ生成モジュール４３1に格納する。クエリ生成モジュール４３1は、格納された公開鍵を用いて、制御対象データから抽出した各要素を暗号化する。管理者は、ポリシ管理サーバ１１０に登録されたリファレンスを秘密鍵で復号することで、秘匿化する前のリファレンスの情報を閲覧することができる。
【０１２３】
上記で述べた暗号化では、ある一つの鍵を使う限り、同一の平文は常に同一の暗号文になる。それに対し、ある一の鍵を用いても、同一の平文が暗号化するごとに異なる暗号文になり、かつ、もとの平文の同一性を暗号文から判定できる技術が知られている。この技術は、一般に「検索可能暗号」などと呼ばれる。本発明の秘匿化に検索可能暗号を利用してもよい。検索可能暗号の詳細は非特許文献１及び２を参照のこと。
【０１２４】
クエリ生成モジュール４３１は、各要素を秘匿化した後、ステップ１３０４に進む。ステップ１３０４において、クエリ生成モジュール４３1は、ステップ１３０３で秘匿化した各照合対象要素を、ポリシ管理サーバ１１０へ送信する形式へ符号化する。
【０１２５】
符号化の方法は、ポリシ管理サーバ１１０がリファレンスと照合可能な形式であれば任意の方法でよい。たとえば、ＸＭＬ形式で符号化する場合、ステップ１３０３で秘匿化した各照合対象要素を１６進数文字列で表現し、各照合対象要素をタグの要素に代入すればよい。また、別の符号化の例として、各照合対象要素をブルームフィルタ(Bloom Filter)に格納する方法が考えられる。ブルームフィルタは空間効率の良い確率的データ構造であり、ある要素がある集合のメンバーであるかどうかのテストに使われる。テストにかかる時間が集合数に依存せず定数オーダーであることと、データサイズを非常に小さくできることが特徴である。その反面、集合に含まれていない要素を集合に属していると誤判定する可能性がある。しかし、誤判定の可能性は集合の数やデータサイズを調整することで、任意に小さくできる。ブルームフィルタの詳細については非特許文献３を参照のこと。
【０１２６】
ブルームフィルタに各照合対象要素を格納することで、ポリシ管理サーバ１１０がリファレンスと照合する時間を短縮するとともに、ポリシ管理サーバ１１０へ送信するクエリのデータサイズを小さくすることができる。ブルームフィルタの特性から、実際にはリファレンスと一致しない場合に、誤って一致すると判定する可能性がある。そのような場合への対応策として、リファレンスと一致する照合対象要素を含むとポリシ管理サーバ１１０が判定したクエリに対しては、完全な形式の照合対象要素をポリシ問合せモジュール４２１に対して要求し直す、という方法が考えられる。ほとんどの制御対象データが非機密データであるような場合は、全体でみれば、この再送にかかるデメリットをブルームフィルタによるデータ削減のメリットで補うことができる。すべての照合対象要素を符号化した後、クエリ生成モジュール４３1は、処理を終了する。
【０１２７】
次に図１４を参照して、ポリシ管理サーバ１１０のポリシ判定モジュール３３１の処理の例について説明する。ポリシ判定モジュール３３１は、制御対象装置１３０−１５０から制御対象データのポリシ判定のためのクエリを受信したタイミングで処理を開始する。
【０１２８】
ステップ１４０１において、ポリシ判定モジュール３３１は、クエリから制御対象データのカテゴリを判定する。この処理は、秘匿照合モジュール３２１を介して行われる。処理の詳細は、図１５で説明する。制御対象データのカテゴリを判定した後、ステップ１４０２に進む。
【０１２９】
ステップ１４０２において、ポリシ判定モジュール３３１は、制御ルール３１３を参照して、ステップ１４０１で判定したカテゴリ６０１に該当する制御内容６０２を判定する。このとき、ポリシ判定モジュール３３１は、制御対象装置から受信した出力内容に一致する制御内容６０２の項目のみを判定すればよい。たとえば、制御対象装置から送信されたクエリが「社外秘」であり、かつ出力内容が「メール送信」である場合は、「△暗号化」という判定を下す。制御内容を判定した後、ステップ１４０３に進む。
【０１３０】
ステップ１４０３において、ポリシ判定モジュール３３１は、ステップ１４０１で判定したカテゴリおよびステップ１４０２で判定した制御内容を制御対象装置へ送信する。送信した後、ステップ１４０４に進む。
【０１３１】
ステップ１４０４において、ポリシ判定モジュール３３１は、制御対象装置１３０−１５０から、制御対象データの制御結果であるログ３１５を受信する。ログを受信した後、ステップ１４０５に進む。
【０１３２】
ステップ１４０５において、ポリシ判定モジュール３３１は、ステップ１４０４で受信したログ３１５を、ポリシ管理サーバ１１０内で管理するログ３１５に保存する。このとき、秘匿照合モジュール３２１が記録しているリファレンスＩＤなどの情報をログ３１５に追加する。ログ３１５を保存した後、ポリシ判定モジュール３３１は処理を終了する。
【０１３３】
次に図１５を参照して、ポリシ管理サーバ１１０の秘匿照合モジュール３２１の処理（図１４のステップ１４０１）の例について説明する。秘匿照合モジュール３２１は、ポリシ判定モジュール３３１から、クエリのカテゴリ判定の命令を受信したタイミングで処理を開始する。
【０１３４】
ステップ１５０１において、秘匿照合モジュール３２１は、リファレンステーブル３１１からひとつリファレンスを読み込む。読み込んだ後、ステップ１５０２に進む。
【０１３５】
ステップ１５０２において、秘匿照合モジュール３２１は、ステップ１５０１で読み込んだリファレンスとクエリとを照合する。照合した結果、クエリがリファレンスを含む場合はステップ１５０３へ、含まない場合はステップ１５０４に進む。
【０１３６】
ステップ１５０３において、秘匿照合モジュール３２１は、ステップ１５０２で照合したリファレンスを一致リストに加える。一致リストは秘匿照合モジュール３２１内部の記録領域に格納されたデータであり、リファレンスのＩＤ７０１、重要度７０３などを含む。ここで記録されたリファレンスＩＤ７０３は、ログ３１５のリファレンスＩＤ８０６として利用される。また、重要度は、ステップ１５０５でカテゴリを判定する際に利用される。リファレンスを一致リストに加えた後、ステップ１５０４に進む。
【０１３７】
ステップ１５０４において、秘匿照合モジュール３２１は、リファレンステーブル３１１に含まれるすべてのリファレンスを照合し終えたかを判定する。判定した結果、すべてのリファレンスを照合した場合はステップ１５０５へ、まだ照合していないリファレンスが残っている場合は、ステップ１５０１に戻る。
【０１３８】
ステップ１５０５において、秘匿照合モジュール３２１は、一致リストとカテゴリルール３１２を用いて、制御対象データのカテゴリを決定する。判定ロジック１１０２が図１０の例の場合、一致リストに含まれる各リファレンスの重要度をリファレンス毎に合計し、各リファレンスに対して、その合計値により対応するカテゴリを決定する。例えば、制御対象データに含まれる定義情報「クレジット番号」に対応する秘匿化された情報であるリファレンスの重要度の合計値が「３」の場合、図１０のカテゴリテーブル３１２の判定ロジック１００２から、カテゴリ１００１は「社外秘」と決定される。即ち、定義情報「クレジット番号」に対する機密度が決定される。カテゴリを決定した後、秘匿照合モジュール３２１は処理を終了する。
【０１３９】
次に図１６を参照して、管理者用端末１２０の定義情報秘匿モジュール５２１の処理の例について説明する。定義情報秘匿モジュール５２１は、設定モジュール５１１から定義情報を秘匿する命令を受信したタイミングで処理を開始する。即ち、制御対象データに対して機密情報とすべき定義情報が、管理者用端末１２０に入力されたタイミングで処理が開始される。
【０１４０】
ステップ１６０１において、定義情報秘匿モジュール５２１は、管理者が秘匿化に利用する鍵を用意しているか判断する。設定モジュール５１１は、既存の鍵を使うか新たな鍵を生成するかを管理者が選択する機能を提供する。定義情報秘匿モジュール５２１は、設定モジュール５１１の入力インターフェース上に管理者が選択した結果に基づいて秘匿化に利用する鍵が用意されているかを判断する。判断した結果、鍵が用意されている場合は１６０２ステップへ、鍵が用意されていない場合は１６０４ステップへ進む。なお、単純なハッシュ化のように、鍵を必要としない秘匿化方法を利用する場合は、ステップ１６０５へ進む。
【０１４１】
ステップ１６０２において、管理者は、設定モジュール５１１が提供する入力インターフェースを通して、鍵を入力する。定義情報秘匿モジュール５２１は、この入力された鍵を内部の記憶領域に格納する。管理者が鍵を入力した後、ステップ１６０３に進む。
【０１４２】
ステップ１６０４において、定義情報秘匿モジュール５２１は、秘匿化に利用する鍵を生成する。このとき、定義情報秘匿モジュール５２１は、閲覧に必要な鍵を同時に生成する。用いる暗号アルゴリズムによって、秘匿化と閲覧に異なる鍵を利用する場合と同一の鍵を利用する場合がある。鍵を生成した後、ステップ１６０３に進む。
【０１４３】
ステップ１６０３において、管理者は、設定モジュール５１１の入力インターフェースを通して、定義情報を入力する。定義情報秘匿モジュール５２１は、この入力された定義情報を内部の記録領域に格納する。管理者が定義情報を入力した後、ステップ１６０５に進む。
【０１４４】
ステップ１６０５において、定義情報秘匿モジュール５２１は、定義情報を秘匿化してリファレンスを生成する。秘匿化した後、ステップ１６０６に進む。
【０１４５】
ステップ１６０６において、定義情報秘匿モジュール５２１は、ポリシ管理サーバ１１０のリファレンステーブル３１１へリファレンスを登録する。登録した後、定義情報秘匿モジュール５２１は処理を終了する。
【符号の説明】
【０１４６】
１０１：ネットワーク、１１０：ポリシ管理サーバ、１１１：ポリシ管理機能、１１２：ポリシ判定機能、１１３：ポリシ判定秘匿機能、１２０：管理者用端末、１２１：設定機能、１２２：定義情報秘匿機能、１３０：エンドポイント、１３１：データ制御機能、１３２：ポリシ問合せ機能、１３３：クエリ秘匿機能、１４０：ストレージ、１５０：ネットワーク管理装置、２０１：コンピュータ、２０２：ＣＰＵ、２０３：主記憶装置、２０４：補助記憶装置、２０５：ネットワークインターフェース、２０６：Ｉ／Ｏインターフェース、２０７：内部バス、３１１：リファレンステーブル、３１２：カテゴリルール、３１３：制御ルール、３１４：ローカルフィルタ、３１５：ログ、３２１：秘匿照合モジュール、３３１： ポリシ判定モジュール、３３２：制御ルール配信モジュール、３３３：ローカルフィルタ配信モジュール、４１１：データ遮断モジュール、４１２：イベント監視モジュール、４１３：制御モジュール、４２１：ポリシ問合せモジュール、４３１：クエリ生成モジュール、４３２：秘匿化モジュール、５１１：設定モジュール、５１２：認証モジュール、５２１：定義情報秘匿モジュール、５２２：定義情報閲覧モジュール
【図１】
2013118280.tif 000003
【図２】
2013118280.tif 000004
【図３】
2013118280.tif 000005
【図４】
2013118280.tif 000006
【図５】
2013118280.tif 000007
【図６】
2013118280.tif 000008
【図７】
2013118280.tif 000009
【図８】
2013118280.tif 000010
【図９】
2013118280.tif 000011
【図１０】
2013118280.tif 000012
【図１１】
2013118280.tif 000013
【図１２】
2013118280.tif 000014
【図１３】
2013118280.tif 000015
【図１４】
2013118280.tif 000016
【図１５】
2013118280.tif 000017
【図１６】
2013118280.tif 000018
【図１７】
2013118280.tif 000019
【国際調査報告】
2013118280.tif 000020
2013118280.tif 000021
2013118280.tif 000022