(57)【要約】クライアント１００とサーバ２００がネットワークを介して通信可能に構成される機密情報漏洩防止システムであって、前記クライアント１００は、アプリケーションプログラムから送信される前記サーバ２００へのネットワークアクセス要求を当該アプリケーションプログラムに割り当てられているセキュリティレベルに基づいて制御するネットワークアクセス制御手段１０６と、前記ネットワークアクセス制御手段１０６が導入されていることを前記サーバ２００との間で認証する認証処理を実行する第１認証手段１０７とを有し、前記サーバ２００は、前記クライアント１００との間で認証処理を実行し、当該認証処理が成功した場合に、前記クライアントから送信されるネットワークアクセス要求を許可する第２認証手段２０２を有する。
2011089788.tif 000002
【特許請求の範囲】
【請求項１】
クライアントとサーバがネットワークを介して通信可能に構成される機密情報漏洩防止システムであって、
前記クライアントは、
アプリケーションプログラムから送信される前記サーバへのネットワークアクセス要求を、当該アプリケーションプログラムに割り当てられているセキュリティレベルに基づいて制御するネットワークアクセス制御手段と、
前記ネットワークアクセス制御手段が導入されていることを前記サーバとの間で認証する認証処理を実行する第１認証手段と、を有し、
前記サーバは、
前記クライアントとの間で認証処理を実行し、当該認証処理が成功した場合に、前記クライアントから送信されるネットワークアクセス要求を許可する第２認証手段を有する、
ことを特徴とする機密情報漏洩防止システム。
【請求項２】
前記第１認証手段は、
前記ネットワークアクセス制御手段が保持する鍵を用いて前記第２の認証手段との間で前記認証処理を実行することを特徴とする請求項１に記載の機密情報漏洩防止システム。
【請求項３】
前記第１認証手段は、
第１の乱数を利用して生成した第１チャレンジコードを前記サーバへ送信する第１送信手段と、
前記サーバより送信された、前記第１チャレンジコードに基づく第１レスポンスコードと、第２チャレンジコードと、を受信する第１受信手段と、
前記ネットワークアクセス制御手段が保持する第１の鍵と、前記生成した第１チャレンジコードとに基づいて、第１レスポンスコードを生成する第１レスポンスコード生成手段と、
前記第１受信手段が受信した第１レスポンスコードと、前記第１レスポンスコード生成手段が生成した第１レスポンスコードとが一致するか否かを判定する第１判定手段と、
前記第１判定手段による判定結果が是である場合、前記第１受信手段が受信した第２チャレンジコードから生成した第２レスポンスコードを前記サーバへ送信する第２送信手段と、を備え、
前記第２認証手段は、
前記クライアントより送信された第１チャレンジコードから前記第２認証手段が保持する第２の鍵を用いて生成した第１レスポンスコードと、第２の乱数を利用して生成した第２チャレンジコードとを、前記クライアントへ送信する第３送信手段と、
前記クライアントから送信された、前記第２チャレンジコードに基づく第２レスポンスコードを受信する第２受信手段と、
前記第２の鍵と前記生成した第２チャレンジコードとに基づいて、第２レスポンスコードを生成する第２レスポンスコード生成手段と、
前記クライアントから送信された第２レスポンスコードと、前記第２レスポンスコード生成手段が生成した第２レスポンスコードとが一致するか否かを判定し、判定結果が是である場合に、前記認証処理が成功したとする第２判定手段と、
を備えることを特徴とする請求項１に記載の機密情報漏洩防止システム。
【請求項４】
前記第１認証手段は、
前記ネットワークアクセス制御手段が動作していることを条件に、前記サーバとの間で前記認証処理を実行することを特徴とする請求項１乃至３いずれか１項に記載の機密情報漏洩防止システム。
【請求項５】
前記第１認証手段は、
オペレーティングシステムから実行中のプロセスリストを取得し、当該取得したプロセスリストに前記ネットワークアクセス制御手段が含まれている否かを確認することにより、前記ネットワークアクセス制御手段が動作しているか否かを判断することを特徴とする請求項４に記載の機密情報漏洩防止システム。
【請求項６】
クライアントとサーバがネットワークを介して通信可能に構成される機密情報漏洩防止システムにおける機密情報漏洩防止方法であって、
前記クライアントは、
アプリケーションプログラムから送信される前記サーバへのネットワークアクセス要求を、当該アプリケーションプログラムに割り当てられているセキュリティレベルに基づいて制御する制御ステップと、
前記制御ステップを実行するためのネットワークアクセス制御プログラムが導入されていることを前記サーバとの間で認証する認証処理を実行する第１認証ステップと、を有し、
前記サーバは、
前記クライアントとの間で認証処理を実行する第２認証ステップと、
前記認証処理が成功したる場合に、前記クライアントから送信されるネットワークアクセス要求を許可するステップと、を有する、
ことを特徴とする機密情報漏洩防止方法。
【請求項７】
サーバとネットワークを介して通信可能に構成されるクライアントに、
アプリケーションプログラムから送信される前記サーバへのネットワークアクセス要求を、当該アプリケーションプログラムに割り当てられているセキュリティレベルに基づいて制御する制御ステップと、
前記制御ステップを実行するためのネットワークアクセス制御プログラムが導入されていることを前記サーバとの間で認証する認証処理を実行する第１認証ステップと、実行させ、
前記サーバに、
前記クライアントとの間で認証処理を実行する第２認証ステップと、
前記認証処理が成功した場合に、前記クライアントから送信されるネットワークアクセス要求を許可するステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機密情報の漏洩を防止するための技術に係り、特に、マルチレベルセキュリティを用いて機密情報の漏洩を防止するための技術に関する。
【背景技術】
【０００２】
アクセスの主体や対象にセキュリティレベルを特定するラベルをそれぞれ付与し、この付与されたラベルに基づいてアクセス対象へのアクセスを制限するマルチレベルセキュリティシステム（ＭＬＳ）が知られている。マルチレベルセキュリティシステムは、例えば、アプリケーションに「一般」又は「機密」を示すラベルを付与することにより、このアプリケーションからフォルダ等へのアクセスを制御しようとするものである。このようなマルチレベルセキュリティシステムをネットワークシステムに適用する技術の一例が、特許文献１及び特許文献２に記載されている。【０００３】
特許文献１（特開２００４−２２０１２０）には、クライアント端末内のファイルに機密レベルを表すラベルを付け、クライアント端末が、ラベル付きファイルを外部へ送信すると、ゲートウェイサーバ上の送信管理プログラムがファイルのラベルのチェックを行い、機密レベルが非機密の場合は組織外ネットワークへファイルを送信するネットワークシステムが開示されている。【０００４】
特許文献２（特開２０００−１７４８０７）には、コンピュータシステムが、オブジェクトアクセスパケットを作成するマルチレベルアクセス制御セキュリティメカニズムを支援するオペレーティングシステムカーネルを有する構成が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１７３２８４号公報
【特許文献２】特開２０００−１７４８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１及び特許文献２に記載されているような構成を適用してマルチレベルセキュリティシステムを導入する場合には、クライアント端末にてＩＰパケットにラベルを付与する構成が新たに必要となるため、既存システムのオペレーションシステムやネットワークサービスを提供するプログラム等を改造しなければならないという問題がある。【０００７】
従って、本発明の目的は、既存システムのオペレーションシステム等を改造することなく、ネットワーク対応のマルチレベルセキュリティシステムを提供することができる仕組みを提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、クライアントとサーバがネットワークを介して通信可能に構成される機密情報漏洩防止システムである。前記クライアントは、アプリケーションプログラムから送信される前記サーバへのネットワークアクセス要求を、当該アプリケーションプログラムに割り当てられているセキュリティレベルに基づいて制御するネットワークアクセス制御手段と、前記ネットワークアクセス制御手段が導入されていることを前記サーバとの間で認証する認証処理を実行する第１認証手段とを有する。前記サーバは、前記クライアントとの間で認証処理を実行し、当該認証処理が成功した場合に、前記クライアントから送信されるネットワークアクセス要求を許可する第２認証手段を有する。【０００９】
また、本発明は、クライアントとサーバがネットワークを介して通信可能に構成される機密情報漏洩防止システムにおける機密情報漏洩防止方法である。前記クライアントは、アプリケーションプログラムから送信される前記サーバへのネットワークアクセス要求を、当該アプリケーションプログラムに割り当てられているセキュリティレベルに基づいて制御する制御ステップと、前記制御ステップを実行するためのネットワークアクセス制御プログラムが導入されていることを前記サーバとの間で認証する認証処理を実行する認証ステップと、を有する。前記サーバは、前記クライアントとの間で認証処理を実行する認証ステップと、前記認証処理が成功した場合に、前記クライアントから送信されるネットワークアクセス要求を許可するステップと、を有する。【００１０】
また、本発明は、サーバとネットワークを介して通信可能に構成されるクライアントに、アプリケーションプログラムから送信される前記サーバへのネットワークアクセス要求を、当該アプリケーションプログラムに割り当てられているセキュリティレベルに基づいて制御する制御ステップと、前記制御ステップを実行するためのネットワークアクセス制御プログラムが導入されていることを前記サーバとの間で認証する認証処理を実行する認証ステップと、実行させ、前記サーバに、前記クライアントとの間で認証処理を実行する認証ステップと、前記認証処理が成功した場合に、前記クライアントから送信されるネットワークアクセス要求を許可するステップと、を実行させるためのプログラムである。また、本発明は、当該プログラムを格納したコンピュータ読み取り可能な記憶媒体でもある。本発明のプログラムは、ＣＤ−ＲＯＭ等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。【００１１】
なお、本明細書等において、手段とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。また、１つの手段が有する機能が２つ以上の物理的手段により実現されても、２つ以上の手段の機能が１つの物理的手段により実現されてもよい。
【発明の効果】
【００１２】
本発明によれば、既存システムのオペレーションシステム等を改造することなく、ネットワーク対応のマルチレベルセキュリティシステムを提供することが可能になる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係る機密情報漏洩防止システムの概略構成を示す図である。
【図２】第１の実施形態に係る機密情報漏洩防止システムのハードウェア構成の一例を示す図である。
【図３】ラベル割当リストの一例を示す図である。
【図４】サーバ情報記憶手段のデータ構造の一例を示す図である。
【図５】アクセス制御ルール記憶手段のデータ構造の一例を示す図である。
【図６】ネットワーク監視手段の実装の一例を示す図である。
【図７】要認証サーバリストのデータ構造の一例を示す図である。
【図８】認証済みクライアントリストの一例を示す図である。
【図９】機密情報漏洩防止処理の流れの一例を示すフローチャートである。
【図１０】認証処理の流れの一例を示すフローチャートである。
【図１１】第２の実施形態に係る機密情報漏洩防止システムの概略構成を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。
【００１５】
［システム構成］
図１は、本実施形態に係る機密情報漏洩防止システムが適用されるクライアント・サーバシステムの概略構成を示すブロック図である。本システムは、クライアント１００とサーバ２００とを含み、クライアント１００とサーバ２００はネットワークＮを介して相互に接続される。
【００１６】
クライアント１００は、図２に示すように、クライアント１００の処理及び動作を制御する制御手段としてのＣＰＵ１０、ＲＯＭ１１やＲＡＭ１２等のメモリ、各種情報を格納する外部記憶装置（ＨＤＤ）１３、通信インタフェース１４、入力インタフェース１５、ディスプレイ等の出力インタフェース１６及びこれらを結ぶバス等のハードウェアを備える汎用のコンピュータを適用することができる。ＲＯＭ１１、ＲＡＭ１２又は外部記憶装置１３は、単に記憶装置とも呼ばれる。クライアント１００は、ＣＰＵ１０がメモリや外部記憶装置１３に記憶される所定のプログラムを実行することにより、後述するラベル割当手段１０２、ネットワークアクセス制御手段１０６、認証手段１０７などの各種機能実現手段として機能することができる。なお、図１では、１つのクライアント１００を例示しているが、サーバ２００には複数のクライアント１００を接続することもでき、クライアント１００の数は設計に応じて適宜設定することができる。また、図１では、１つのサーバ２００を例示しているが、クライアント１００には複数のサーバ２００を接続することもでき、サーバ２００の数は設計に応じて適宜設定することができる。
【００１７】
クライアント１００は、通信手段１０１と、ラベル割当手段１０２と、アプリケーション１０３（一般アプリケーション１０３ａ、機密アプリケーション１０３ｂ）と、サーバ情報記憶手段１０４と、アクセス制御ルール記憶手段１０５と、ネットワークアクセス制御手段１０６と、認証手段１０７と、を備える。
【００１８】
通信手段１０１は、ネットワークＮを介してサーバ２００その他の図示しない装置と通信し、情報を入出力可能に構成されており、通信部とも呼ばれる。例えば、ネットワークインタフェースカード（ＮＩＣ）やＴＣＰ／ＩＰドライバ等の既存の通信モジュールを備えている。
【００１９】
ラベル割当手段１０２は、セキュリティレベルを示す情報（以下、「ラベル」という。）をアプリケーション１０３に対して割り当て可能に構成されており、ラベル割当部とも呼ばれる。また、アプリケーション１０３と当該アプリケーション１０３に割り当てたラベルを対応付けたリスト（ラベル割り当てリスト）を所定の記憶領域に格納可能に構成されている。ラベルには、例えば、セキュリティの低い「一般」とセキュリティの高い「機密」の２種類を割り当てることができるが、ラベルの内容はこれに限られず、設計に応じて適宜設定することができる。図３は、ラベル割り当てリストのデータ構造の一例を示すものであり、アプリケーションを識別するプロセスＩＤ（プロセス番号）と、当該アプリケーションに割り当てられたラベルとが、対応づけて格納されている。
【００２０】
また、ラベル割当手段１０２は、ネットワークアクセス制御手段１０６から、所定のアプリケーションに割り当てられたラベルについて問合せを受け付けると、当該アプリケーションに割り当てたラベルをラベル割り当てリストから読み出して通知できるように構成されている。また、ラベル割当手段１０２により割り当てられたラベルは、機密アプリケーション１０３ｂから一般アプリケーション１０３ａへのクライアント１００内での情報流通を禁止する際にも用いることができる。
【００２１】
アプリケーション１０３（一般アプリケーション１０３ａ及び機密アプリケーション１０３ｂ）とは、外部記憶装置１３等に格納され、ＣＰＵ１０によって実行されることにより、ユーザに所定の機能を提供するアプリケーションソフトウェアである。アプリケーション１０３は、特に限定はないが、例えば、文書作成機能を有するエディタや情報閲覧機能を有するブラウザ等を有する既存のソフトウェアを適用することができ、ラベルの内容に応じて区別される。本実施形態では、例えば、アプリケーション１０３は、一般ラベルが割り当てられたアプリケーション（一般アプリケーション）１０３ａと、機密ラベルが割り当てられたアプリケーション（機密アプリケーション）１０３ｂとに区別される。
【００２２】
サーバ情報記憶手段１０４は、アプリケーション１０３のアクセス対象と当該アクセス対象に割り当てられているラベルの情報とを対応付けたサーバ情報（アクセス対象管理情報ともいう）を記憶する記憶装置であり、データベースとしての機能を有し、サーバ情報記憶部とも呼ばれる。サーバ情報記憶手段１０４は、ネットワークアクセス制御手段１０６からアクセス対象を特定する情報を含む所定の要求を受け付けると、当該アクセス対象に割り当てられているラベルをサーバ情報から検索し、ネットワークアクセス制御手段１０６へ検索結果を通知するように構成されている。アクセス対象に割り当てられるラベルには、例えば、「一般」と「機密」の２種類を割り当てることができるが、ラベルの内容はこれに限られず、設計に応じて適宜設定することができる。
【００２３】
図４は、サーバ情報記憶手段１０４のデータ構造の一例を示している。同図に示すように、サーバ情報記憶手段１０４には、サーバ／フォルダ情報が格納されており、アクセス対象がサーバＡの機密フォルダ（server A/secret_folder」である場合は、ラベルに「機密」が割り当てられ、サーバＡの一般フォルダ（server A/public_folderＢ」である場合は、ラベルに「一般」が割り当てられている。なお、サーバ情報記憶手段１０４のデータ構造は、これに限られず、例えば、サーバを一意的に特定可能な情報として、サーバ名の代わりにＩＰアドレスを用いてもよい。さらに、セキュリティレベルが、「機密」と「一般」の２レベルの場合は、機密フォルダのみを指定し、それ以外を一般フォルダとみなすようにしてもよい。
【００２４】
アクセス制御ルール記憶手段１０５は、アプリケーション１０３によるアクセス対象へのアクセスを制限するための情報（アクセス制御ルール）を記憶する記憶装置であり、アクセス制御ルール記憶部とも呼ばれる。アクセス制御ルール記憶手段１０５は、特に限定はないが、例えば、アプリケーション毎に各アクセス対象へのアクセス制御の制限内容を対応付けて格納する。制限内容は、設計に応じて適宜設定／変更することが可能である。図５は、アクセス制御ルール記憶手段のデータ構造の一例を示している。同図に示すように、機密アプリケーションには、機密フォルダに対して「アクセス許可」が、一般フォルダに対して「読み込み許可」が、それぞれ対応づけて設定されている。一方、一般アプリケーションには、機密フォルダに対して「アクセス禁止」が、一般フォルダに対して「アクセス許可」が、それぞれ対応づけて設定されている。
【００２５】
ネットワークアクセス制御手段１０６は、通信手段１０１を介して実行されるネットワーク通信を監視するネットワーク監視手段１０６ａ（以下、「監視手段」という）と、アプリケーションに対するアクセス制御を実行するアクセス制御手段１０６ｂとを有しており、ネットワークアクセス制御部とも呼ばれる。ネットワークアクセス制御手段１０６は、例えば、外部記憶装置１３等に格納され、ＣＰＵ１０によって実行されることにより、ネットワーク通信を監視する機能やアプリケーションに対するアクセス制御を実行する機能を提供するプログラム（ネットワークアクセス制御プログラム）とすることができる。
【００２６】
監視手段１０６ａは、アプリケーション１０３による全てのネットワークアクセスを監視するものであり、監視部とも呼ばれる。監視手段１０６ａは、例えば、ＴＤＩ（Transport Driver Interface）ドライバや、ＮＤＩＳ（Network Driver Interface Specification）ドライバといったフィルタドライバなどの従来技術を適用してイベントを監視することにより実現することができる。図６は、監視手段１０６ａの実装の一例を示す図である。
【００２７】
アクセス制御手段１０６ｂは、監視手段１０６ａによりアプリケーション１０３によるネットワークアクセスを検出した場合に、アプリケーションに対するアクセス制御を実行可能に構成されており、アクセス制御部とも呼ばれる。具体的には、アクセス制御手段１０６ｂは、検出したアクセスからアプリケーションを特定するアプリケーション特定情報（例えば、プロセスＩＤ）やアクセス対象を特定するためのアクセス対象情報（例えば、ファイル名）を抽出し、プロセスＩＤに基づいてアプリケーションのラベルをラベル割当手段１０２から取得する。また、アクセス対象情報に基づいてアクセス対象（例えば、フォルダ）のラベルをサーバ情報記憶手段１０４から取得する。そして、取得したアプリケーション１０３のラベルとフォルダ２０４のラベルとに基づいて、アクセス制御ルール記憶手段１０５からアクセス制御ルールを参照することにより、アプリケーション１０３に対するアクセス制御を行う。
【００２８】
また、アクセス制御手段１０６ｂは、認証手段２０２が導入されているサーバのリスト（要認証サーバリスト）を所定の記憶領域に保有し、この要認証サーバリストを参照して、認証が必要か否かを判断するように構成されている。図７は、要認証サーバリストのデータ構造の一例を示す図である。要認証サーバリストの構造に、特に限定はないが、サーバを一意的に特定することができる情報として、例えば、ＩＰアドレスやＤＮＳ名が格納される。
【００２９】
さらにまた、アクセス制御手段１０６ｂは、ネットワークアクセス制御手段１０６が導入されていることを証明するための認証用の鍵を、所定の記憶領域に保持している。この所定の鍵は、サーバ２００の認証手段２０２が保持する認証用の鍵と同じものである。
【００３０】
認証手段１０７は、クライアント１００にネットワークアクセス制御手段１０６が導入されていることを認証するためのものであり、サーバ２００との間で認証処理を実行可能に構成されており、認証部とも呼ばれる。認証手段１０７は、ネットワークアクセス制御手段１０６が保持している認証用の鍵を用いて、サーバ２００の認証手段２０２と通信を行い、認証処理を行う。認証手段１０７は、認証処理の結果をネットワークアクセス制御手段１０６へ通知する。認証処理は、特にその方法に限定はないが、ここでは一例として、チャレンジレスポンス式に従う認証処理を実行する。なお、認証処理の詳細については、後述する。
【００３１】
また、認証手段１０７は、ネットワークアクセス制御手段１０６が動作しているか否かを判断するように構成されている。ネットワークアクセス制御手段１０６が動作しているか否かの判断は、特にその内容に限定はないが、例えば、オペレーティングシステムから実行中のプロセスリストを取得し、当該取得したプロセスリストにネットワークアクセス制御手段１０６のプロセスＩＤが含まれている否かを確認することにより行う。
【００３２】
サーバ２００は、通信手段２０１と、認証手段２０２と、サーバアプリケーション２０３と、フォルダ２０４（一般フォルダ２０４ａ、機密フォルダ２０４ｂ）とを備えている。サーバ２００は、サーバ２００の処理及び動作を制御するＣＰＵ、ＲＯＭやＲＡＭ等のメモリ、各種情報を格納する外部記憶装置、通信インタフェース、入出力インタフェース及びこれらを結ぶバス等のハードウェアを備える汎用のサーバ・コンピュータを適用することができる。なお、サーバ・コンピュータのハードウェア構成は、図２にて説明したクライアント１００のハードウェア構成と同様であるため、説明を省略する。
【００３３】
通信手段２０１は、ネットワークＮを介してクライアント１００その他の図示しない装置と通信し、情報を入出力可能に構成されており、通信部とも呼ばれる。例えば、ネットワークインタフェースカード（ＮＩＣ）やＴＣＰ／ＩＰドライバ等の既存の通信モジュールを備えている。
【００３４】
認証手段２０２は、クライアント１００にネットワークアクセス制御手段１０６が導入されていることを認証するために、クライアント１００との間で認証処理を実行可能に構成されており、認証部とも呼ばれる。具体的には、認証手段２０２は、クライアント１００のネットワークアクセス制御手段１０６が保持している認証用の鍵と同じ鍵を保持しており、この認証用の鍵を用いて、クライアントの認証手段１０７と通信を行い、認証処理を行うように構成されている。
【００３５】
また、認証手段２０２は、認証に成功したクライアントのリスト（認証済みクライアントリスト）を作成するように構成されている。図８は、認証済みクライアントリストの構成の一例を示す図である。認証済みクライアントリストのデータ構成は、特に限定はないが、同図に示すように、認証済みクライアントを一意的に識別する識別情報として当該クライアントのＩＰアドレスが格納される。認証手段２０２は、クライアントの認証に成功した場合、当該クライアントを認証済みクライアントリストに追加する。なお、図８では、ＩＰアドレスと対応付けて、当該クライアントが認証済みクライアントとして有効な時間（残り有効時間）も格納されている。この残り有効時間については、後述する。
【００３６】
また、認証手段２０２は、サーバアプリケーション２０３へのネットワークアクセスを監視し、ネットワークアクセスを検出すると、当該ネットワークアクセスを行うクライアントが認証済みクライアントリストに含まれるか否かを判断し、判断結果に基づいて、当該ネットワークアクセスを許可するか否かを決定するように構成されている。具体的には、認証手段２０２は、ネットワークアクセスを行うクライアントが認証済みクライアントリストに含まれる場合は、当該ネットワークアクセスを許可し、一方、ネットワークアクセスを行うクライアントが認証済みクライアントリストに含まれない場合は、当該ネットワークアクセスを禁止する。
【００３７】
サーバアプリケーション２０３は、ネットワークサービスを提供するプログラムであり、外部記憶装置等に格納され、ＣＰＵによって実行される。特に限定はないが、例えば、ＦＴＰやＣＩＦＳなどを実装した既存のプログラムが該当する。
【００３８】
フォルダ２０４は、アクセス対象となるデータを保管するものであり、ディレクトリとも呼ばれる。フォルダ２０４は、割り当てられるラベルによって区別され、本実施形態では、一例として、一般ラベルが割り当てられたフォルダ（一般フォルダ）２０４ａと、機密ラベルが割り当てられたフォルダ（機密フォルダ）２０４ｂとに区別される。すなわち、一般フォルダには一般情報が保存され、機密フォルダには機密情報が保存されている。なお、ラベルの内容はこれに限られず、設計に応じて適宜設定することができる。フォルダ２０４とラベルの対応関係は、サーバ情報記憶手段１０４に格納されている（図４）。
【００３９】
次に、ネットワークＮは、クライアント１００とサーバ２００の間で情報を送受信するための回線である。ネットワークＮは、例えば、インターネット、専用線、パケット通信網、電話回線、ＬＡＮ、企業内ネットワーク、その他の通信回線、それらの組み合わせ等のいずれであってもよく、有線であるか無線であるかを問わない。
【００４０】
［機密情報漏洩防止処理の流れ］
図９を参照して、本実施形態に係る機密情報漏洩防止処理について説明する。なお、図９及び図１０に示すフローチャートに示す各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。また、各処理ステップ間に他のステップを追加してもよい。また、便宜上１ステップとして記載されているステップは、複数ステップに分けて実行することができる一方、便宜上複数ステップに分けて記載されているものは、１ステップとして把握することができる。
【００４１】
前提として、例えば電源投入などの所定のタイミングで、ネットワークアクセス制御手段１０６の監視手段１０６ａは、ネットワーク通信の監視を開始しているものとする。
【００４２】
制御手段（ＣＰＵ）により実行されるアプリケーション１０３（103a又は103ｂ）は、例えば、ユーザによる操作指示に従って、指定されたネットワーク上のアクセス対象に対するアクセスを開始する（ステップＳ１）。
【００４３】
ネットワークアクセス制御手段１０６の監視手段１０６ａは、アプリケーション１０３（103a又は103ｂ）によるネットワークアクセス（又はネットワークアクセスイベントともいう）をフックする（ステップＳ２）。
【００４４】
次に、ネットワークアクセス制御手段１０６のアクセス制御手段１０６ｂは、フックしたアクセスからアプリケーションを特定するアプリケーション情報として、例えば、プロセス番号を取得し、このプロセス番号に基づいて、ネットワークアクセスを行なおうとしているアプリケーション１０３（103a又は103ｂ）のラベルを、ラベル割当手段１０２に問い合わせる（ステップＳ３）。
【００４５】
ラベル割当手段１０２は、アプリケーション１０３（103a又は103ｂ）へ割り当てられているラベルをラベル割り当てリスト（図３参照）から検索し、検索結果をアクセス制御手段１０６ｂへ通知する。（ステップＳ４）
【００４６】
アクセス制御手段１０６ｂは、アプリケーション１０３のラベルをラベル割り当て手段１０２から取得すると、フックしたアクセスからアクセス先を特定するアクセス先情報を取得し、このアクセス先情報に基づいて、アクセス先のフォルダ２０４（204a又204b）に割り当てられているラベルを、サーバ情報記憶手段１０４に問い合わせる（ステップＳ５）。例えば、ネットワークアクセスがファイル共有の場合には、サーバ名とアクセス先のフォルダ名とをアクセス先情報として取得することができる。
【００４７】
サーバ情報記憶手段１０４は、内部に記憶しているデータベース（図４参照）から、アクセス先情報によって特定されるフォルダのラベルを検索し、検索結果をアクセス制御手段１０６ｂへ通知する（ステップＳ６）。
【００４８】
アクセス制御手段１０６ｂは、アプリケーション１０３（103a又は103ｂ）のラベルとアクセス先のフォルダのラベルを取得すると、アクセス制御ルール記憶手段１０５に記憶されているアクセス制御ルール（図５参照）を参照し、アプリケーションによるネットワークアクセスの可否の判定を行なう(ステップＳ７)。
【００４９】
例えば、図５に示すように、アプリケーションが機密ラベルであり、アクセス先のフォルダも機密ラベルであるときは、アクセスを許可する。また、アプリケーションが一般ラベルであり、アクセス先フォルダも一般ラベルであるときは、アクセスを許可する。アプリケーションが一般ラベルであり、アクセス先のフォルダが機密ラベルであるときは、アクセスを禁止する。また、アプリケーションが機密ラベルであり、アクセス先のフォルダが一般ラベルであるときは、読み込みのみ許可する。
【００５０】
アクセスが許可（一部許可を含む）された場合、アクセス制御手段１０６ｂは、例えばアクセス先が要認証サーバリスト（図７参照）に載っているか否かを判断することにより、サーバ２００との間で認証が必要か否かを判断する。アクセス制御手段１０６ｂは、アクセス先が要認証サーバリストに載っていると判断した場合は、認証必要と判断し、認証手段１０７へ認証を要求する（ステップＳ７）。一方、アクセス制御手段１０６ｂは、アクセス先が要認証サーバリストに載っていない場合は、認証不要と判断し、ネットワークアクセスを許可する（ステップＳ１０）。なお、ステップＳ７にて、アクセスが禁止された場合は、アクセス制御手段１０６ｂは、アクセス先が要認証サーバリスト（図７参照）に載っているか否かを判断することなく、処理を終了する。
【００５１】
認証手段１０７は、アクセス制御手段１０６ｂより認証が要求されると、サーバ側の認証手段２０２との間で、ネットワークアクセス制御手段１０６が導入されかつ動作していることの認証処理を行う。なお、認証処理の詳細については後述する。
【００５２】
クライアント１００側の認証手段１０７とサーバ２００側の認証手段２０２との間で、ネットワークアクセス制御手段１０６が導入されかつ動作していることの認証に成功した場合、サーバ２００側の認証手段２０２は、当該クライアント１００を認証済みクライアントリストに追加する（ステップＳ８）。
【００５３】
また、クライアント１００側の認証手段１０７は、認証に成功した旨をアクセス制御手段１０６ｂに通知し、アクセス制御手段１０６ｂは、当該通知によりネットワークアクセスを許可し、アプリケーション１０３は、サーバ２００のサーバアプリケーション２０３とネットワーク通信を行う（ステップＳ１０）。
【００５４】
アプリケーション１０３からのアクセス（接続要求）を受けると、サーバ側の認証手段２０２は、当該クライアント１００が認証済みであるか否かを確認し、認証済みであればアプリケーション１０３からのアクセスを許可し、フックしていたイベントを実行する（ステップＳ１１）。一方、ステップＳ８の認証に失敗した場合は、認証手段２０２は、当該クライアントが認証済みでないと判断し、当該アプリケーション１０３からのアクセスを禁止する（ステップＳ１１）。
【００５５】
具体的には、サーバ側の認証手段２０２は、アプリケーションからのサーバアプリケーション２０３へのネットワークアクセスを監視し、当該アクセスをフック（検出）すると、クライアントが認証済みクライアントリスト（図８参照）に含まれているか否かを確認し、含まれている場合は、通信を許可し、含まれていない場合は、通信を許可しない（パケットを破棄する）。例えば、ＩＰを用いて通信を行っている場合は、ソースＩＰアドレスが認証済みクライアントリストに含まれている場合は、通信が許可され、含まれていない場合は、通信は許可されない。
【００５６】
サーバ側の認証手段２０２が、ネットワークアクセス制御手段１０６が導入されていないクライアントからのアクセスを受けた場合は、認証済みクライアントリストにクライアント１００は登録されていないため、認証済みでないとして当該アプリケーション１０３からのアクセスは禁止される。なお、従来技術を適用したクライアントから、アプリケーションのラベルを含むアクセス要求を受信した場合には、従来技術に従ってサーバ２００が、ラベルに従い当該アクセスを処理するようにしてもよい。
【００５７】
［認証処理の流れ］
次に、ステップＳ８の認証処理について、図１０を参照して詳細に説明する。なお、本実施形態では、チャレンジレスポンス方式により相互認証を行う場合について説明するが、認証方式はこれに限られず、設計等に応じて他の認証方式を適宜採用することができる。
【００５８】
まず、クライアント１００側の認証手段１０７は、第１チャレンジコードを生成し、サーバ側の認証手段２０２へ送信する。第１チャレンジコードは、例えば乱数を使用して生成することができる（ステップＳ２０）。
【００５９】
サーバ２００側の認証手段２０２は、第１チャレンジコードを受け取ると、サーバ２００内に保存されている鍵を用いて、第１チャレンジコードから第１レスポンスコードを生成する（ステップＳ２１）。例えば、ＳＨＡ１やＭＤ５などのハッシュ関数を用いて、鍵と第１チャレンジコードを変換することにより、第１レスポンスコードを得ることができる。
【００６０】
次に、認証手段２０２は、第２チャレンジコードを生成する（ステップＳ２２）。第２チャレンジコードは、例えば乱数を使用して生成することができる。
【００６１】
認証手段２０２は、生成した第１レスポンスコードと、生成した第２チャレンジコードを、クライアント１００側の認証手段１０７へ送信する（ステップＳ２３）。
【００６２】
クライアント１００側の認証手段１０７は、ネットワークアクセス制御手段１０６から鍵を取得する（ステップＳ２４）。
【００６３】
そして、クライアント１００側の認証手段１０７は、Ｓ２０で生成した第１チャレンジコードとネットワークアクセス制御手段１０６から取得した鍵から、正しい第１レスポンスコードを生成する（ステップＳ２５）。
【００６４】
クライアント１００側の認証手段１０７は、Ｓ２５にて生成した正しい第１レスポンスコードと、サーバ２００側の認証手段２０２から受け取った第１レスポンスコードとを比較し、両者が一致するか否かを確認する（ステップＳ２６）。
【００６５】
両者が一致しない場合、クライアント１００側の認証手段１０７は、認証失敗として処理を終了する（図示せず）。両者が一致する場合、クライアント１００側の認証手段１０７は、サーバ２００側の認証手段２０２から受信した第２チャレンジコードに対する第２レスポンスコードを、ネットワークアクセス制御手段１０６から取得した鍵を用いて生成する（ステップＳ２７）。認証手段１０７は、例えば、ＳＨＡ１やＭＤ５などのハッシュ関数を用いて、鍵と第２チャレンジコードを変換することにより、第２レスポンスコードを得ることができる。
【００６６】
次に、認証手段１０７は、オペレーティングシステムから実行中のプロセスリストを取得し、ネットワークアクセス制御手段１０６のプロセスＩＤに基づいてネットワークアクセス制御手段１０６がプロセスリストに載っているか否かを判断することにより、ネットワークアクセス制御手段１０６が動作しているか否かを判断する（ステップＳ２８）。
【００６７】
認証手段１０７は、ステップＳ２８の判断結果が是である場合は、Ｓ２７にて生成した第２レスポンスコードをサーバ側２００の認証手段２０２へ送信する（ステップＳ２９）。一方、ステップＳ２８の判断結果が否である場合は、認証失敗として処理を終了する（図示せず）。
【００６８】
サーバ２００側の認証手段２０２は、第２レスポンスコードを受け取ると、Ｓ２２で生成した第２チャレンジコードと鍵とから、正しい第２レスポンスコードを生成する（ステップＳ３０）。
【００６９】
サーバ２００側の認証手段２０２は、生成した正しい第２レスポンスコードと、クライアント１００側の認証手段１０７から受け取った第１レスポンスコードとを比較し、両者が一致するか否かを確かめる（ステップＳ３１）。
【００７０】
両者が一致しない場合、認証手段２０２は、認証失敗として処理を終了する（図示せず）。両者が一致する場合は、認証手段２０２は、認証成功とし、認証済みクライアントリストに、当該クライアント１００を認証済みとして記録する。例えば、ＩＰを用いて通信している場合には、クライアント１００を一意的に特定する識別情報（例えば、ＩＰアドレス、ＤＮＳ名、マシン名など）を認証済みクライアントリスト（図８参照）に記録する（ステップＳ３２）。
【００７１】
以上、第１の実施形態によれば、クライアント１００とサーバ２００間で、クライアント１００にネットワークアクセス制御手段１０６が導入され動作していることを認証することとしたので、クライアント１００側でアクセス制御を行うことを保証することができる。その結果、クライアント１００側でパケットへラベルを付加する必要がなくなるので、オペレーション等の改造をすることなく、ネットワーク対応のマルチレベルセキュリティシステムを提供することが可能になる。
【００７２】
また、第１の実施形態によれば、クライアント１００のネットワークアクセス制御手段１０６が鍵を保有し、認証の際には、ネットワークアクセス制御手段１０６から認証手段１０７へ鍵を渡すこととしているので、クライアント１００にネットワークアクセス制御手段１０６が導入されていることをサーバ２００がより確実に認証できるようになる。
【００７３】
また、第１の実施形態によれば、クライアント１００の認証手段１０７は、オペレーティングシステムのプロセスリストにネットワークアクセス制御手段１０６が含まれているか否かを確認することとしているので、認証処理において、クライアント１００のネットワークアクセス制御手段１０６が動作していることを確認することができるようになる。
【００７４】
［第１の実施形態の変形例］
上記の説明では、サーバ２００側の認証手段２０２のみが認証済みクライアントリストを保持したが、クライアント１００側の認証手段１０７も、認証済みのサーバ２００のＩＰアドレスや名前が記録された認証済みサーバリストを保持してもよい。この場合、既に認証済みのサーバへの通信は、認証を省略することによって、高速に通信が可能になる効果がある。
【００７５】
また、認証済みクライアントリストは、図８のように、認証が有効な残り時間をさらに記憶することができる。この場合、サーバ２００側の認証手段２０２は、有効時間を所定タイミング（例えば、毎秒）に従って減算し、有効時間が０になったとき、認証手段２０２は、リストから当該エントリを削除するようにしてもよい。また、有効時間が０になる前に、再度認証処理を行い、認証の有効時間をリセットするようにしてもよい。この場合、一定時間ごとに認証が行われるので、正規のクライアント１００やサーバ２００が、不正なクライアントやサーバへ置き換えられることを防止できる。
【００７６】
さらにまた、認証手段２０２の認証済みクライアントリストや認証手段１０７の認証済みサーバリストは、ＩＰアドレスや名前のみを記録するのみではなく、クライアント１００のアプリケーション１０３が使用するポート番号も記録してもよい。そして、アプリケーション１０３が終了し、ネットワークコネクションが切断されると、ポート番号をもとに、認証済みクライアントリストや認証済みサーバリストから、エントリを削除するようにしてもよい。この動作の場合、アプリケーション１０３が通信を行う間のみ再認証が行われるため、不必要な再認証を回避できる。
【００７７】
また、上記の説明では、ラベルは、機密と一般の２種類で説明したが、２種類以上のラベルを用いてもよい。例えば、機密、極秘、秘、区分外のような４種類のラベルを割り当てても良い。この場合、ネットワークアクセス制御手段１０６は、一般的なマルチレベルセキュリティシステムと同様に、セキュリティレベルの低いラベルをもつアプリケーション１０３やフォルダ２０４からセキュリティレベルの高いラベルをもつアプリケーション１０３やフォルダ２０４への情報の流通を禁止する。
【００７８】
さらにまた、上記の説明では、ネットワークアクセス制御手段１０６は、図９中のＳ１０において、フックしていたアプリケーション１０３のネットワークアクセスを許可する場合について説明したが、ラベルに応じて暗号化やログの記録などの処理を行っても良い。これによれば、セキュリティレベルに応じてセキュリティ機能を制御可能なシステムを提供できる。
【００７９】
また、上記の説明では、ネットワークアクセス制御手段１０６は、フォルダ２０４に対する読み書きを制御する場合について説明したが、ネットワークアクセス制御の内容は、これに限られない。例えば、アプリケーションによるネットワークアクセスが、フォルダへの読み書きではなく、電子メールの送受信であるような場合、ネットワークアクセス制御手段１０６は、当該メールアドレスに対する送受信の制御を行ってもよい。また、サーバ２００のプロセスへの通信を制御するようにしてもよい。
【００８０】
また、上述したネットワークアクセス制御手段１０６の要認証サーバリストや、サーバ情報記憶手段１０４のフォルダのラベル情報を記録したデータベースを、ユーザごとに定義し、ログインするユーザによって、要認証サーバリストやデータベースを切り替えるように構成することができる。この動作によって、ユーザに応じたアクセス制御を行うことができる。
【００８１】
また、クライアント１００の認証手段１０７とサーバ２００側の認証手段２０２は、認証処理中の所定のタイミングで、ネットワークアクセス制御手段１０６の改ざん等が行われていないことを確認するようにしてもよい。確認の方法に特に限定はないが、例えば、図１０中のステップＳ２９のタイミングで、認証手段１０７は、ネットワークアクセス制御手段１０６の実行バイナリのハッシュ値を、サーバ２００側の認証手段２０２へ送信する。サーバ２００側の認証手段２０２は、認証手段１０７から受信したハッシュ値と、予め保持しているネットワークアクセス制御手段１０６の実行バイナリのハッシュ値とを比較し、両者が一致するか否か判断する。両者が一致する場合、認証手段２０２は、ネットワークアクセス制御手段１０６の改ざん等が行われていないことを確認する。一方、両者が一致しない場合は、認証手段２０２は、ネットワークアクセス制御手段１０６の改ざん等が行われたと判断し、認証失敗として処理を終了する。
【００８２】
また、上記の説明では、アクセス制御手段１０６ｂが、要認証サーバリストを保持し、この要認証サーバリストを参照することにより認証の要否を判断する場合について説明したが、認証の要否を判断する方法は、これに限られない。例えば、アクセス制御手段１０６ｂは、サーバ情報記憶手段１０４が保持するサーバ／フォルダ情報（図４参照）を用いて認証の要否を判断することができる。具体的には、アクセス制御手段１０６ｂは、アクセス先のサーバのサーバ／フォルダ情報をサーバ情報記憶手段１０４から取得し、取得したフォルダ情報に機密フォルダが含まれる場合には、当該サーバは機密フォルダを保持しているので、認証が必要なサーバと判断することができる。
【００８３】
また、上記の説明では、認証手段１０７は、鍵によるネットワークアクセス制御手段１０６の導入確認と、プロセスリストによるネットワークアクセス制御手段１０６の動作確認とを行う場合について説明したが、導入確認のみを行うようにしてもよい。具体的には、認証手段１０７は、図１０のステップＳ２７の処理を実行後、ステップＳ２８の処理を省略して、ステップＳ２９の処理を実行することができる。これによれば、認証処理をより高速に行うことができるという効果がある。
【００８４】
［第２の実施形態］
次に、第２の実施形態について図１１を参照して詳細に説明する。第１の実施形態と同様箇所については、説明を省略する。第２の実施形態では、図１１に示すように、クライアント１００が、設定受信手段１１０、サーバ２００が設定受信手段２１０をさらに備え、設定送信サーバ３００が設定送信手段３０１を備えている点が、第１の形態と異なっている。
【００８５】
設定送信サーバ３００の設定送信手段３０１は、サーバ情報記憶手段１０４のデータベースに記憶されるサーバ情報と、ネットワークアクセス制御手段１０６の要認証サーバリストと、ネットワークアクセス制御手段１０６の認証用の鍵を、それぞれ内部に記憶し、それらをクライアント１００の設定受信手段１１０へ送信するように構成されている。また、サーバ２００の設定受信手段２１０へ、認証用の鍵を送信するように構成されている。
【００８６】
クライアント１００の設定受信手段１１０は、サーバ情報と、要認証サーバリストと、鍵を受信すると、サーバ情報記憶手段１０４のデータベースに記憶されるサーバ情報や、ネットワークアクセス制御手段１０６の要認証サーバリストと認証用の鍵を、それぞれ更新する。また、サーバ２００の設定受信手段２１０は、認証用の鍵を受信すると、認証手段２０２の持つ鍵を更新する。
【００８７】
第２の形態によれば、サーバ情報記憶手段１０４に記憶されるサーバ情報、ネットワークアクセス制御手段１０６の要認証サーバリスト、及び認証に用いる鍵を、遠隔から更新することが可能になる。特に、クライアント１００やサーバ２００が複数台あるような場合には、管理を効率化できる。
【００８８】
この出願は、２０１０年１月１９日に出願された日本出願特願２０１０−９１２４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【００８９】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【００９０】
本発明に係る機密情報漏洩防止システム、機密情報漏洩防止方法及び機密情報漏洩防止プログラムは、既存システムのオペレーションシステム等を改造することなく、ネットワーク対応のマルチレベルセキュリティシステムを提供することに適している。
【符号の説明】
【００９１】
１０…ＣＰＵ、１１…ＲＯＭ、１２…ＲＡＭ、１３…外部記憶装置、１４…通信インタフェース、１５…入力インタフェース、１６…出力インタフェース、１００…クライアント、１０１…通信手段、１０２…ラベル割当手段、１０３…アプリケーション、１０３ａ…一般アプリケーション、１０３ｂ…機密アプリケーション、１０４…サーバ情報記憶手段、１０５…アクセス制御ルール記憶手段、１０６…ネットワークアクセス制御手段、１０６ａ…監視手段、１０６ｂ…アクセス制御手段、１０７…認証手段、１１０…設定受信手段、２００…サーバ、２０１…通信手段、２０２…認証手段、２０３…サーバアプリケーション、２０４…フォルダ、２０４ａ…一般フォルダ、２０４ｂ…機密フォルダ、２１０…設定受信手段、３００…設定送信サーバ、３０１…設定送信手段、Ｎ…ネットワーク
【図１】
2011089788.tif 000003
【図２】
2011089788.tif 000004
【図３】
2011089788.tif 000005
【図４】
2011089788.tif 000006
【図５】
2011089788.tif 000007
【図６】
2011089788.tif 000008
【図７】
2011089788.tif 000009
【図８】
2011089788.tif 000010
【図９】
2011089788.tif 000011
【図１０】
2011089788.tif 000012
【図１１】
2011089788.tif 000013
【国際調査報告】
2011089788.tif 000014
2011089788.tif 000015
2011089788.tif 000016
2011089788.tif 000017