(57)【要約】【課題】組織内ネットワークを一時的に離脱しているモバイルＰＣ上に対しても、適切なセキュリティ対策が維持されていることを検査する。【解決手段】端末ＰＣ１において、エージェントプログラム格納部１０２は、ＯＳ１０６上で動作するエージェントプログラム１０７を格納し、メッセージの認証に用いられるエージェント鍵とエージェントプログラム１０７とをＯＳ１０６に送信する。メッセージ認証部１０８は、エージェントプログラム格納部１０２からエージェント鍵を取得し、メッセージを受信した際に、エージェント鍵を用いて、受信したメッセージの認証を行い、受信したメッセージがＯＳ１０６上で動作しているエージェントプログラム１０７から送信されたメッセージであるか否かを確認する。検査報告生成部１０５は、メッセージ認証部１０８での認証結果を示す検査報告情報を生成し、検査サーバ２に送信する。【選択図】図１
2009053824.tif 000002
【特許請求の範囲】
【請求項１】
ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を有する情報処理装置であって、
前記ＯＳ上で動作しメッセージの送信を行うエージェントプログラムを格納し、メッセージの認証に用いられるエージェント鍵と前記エージェントプログラムとを前記ＯＳに対して送信するエージェントプログラム格納部と、
前記エージェントプログラム格納部から前記エージェント鍵を取得し、メッセージを受信した際に、前記エージェント鍵を用いて、受信したメッセージの認証を行い、受信したメッセージが前記ＯＳ上で動作している前記エージェントプログラムから送信されたメッセージであるか否かを判断するメッセージ認証部とを有することを特徴とする情報処理装置。
【請求項２】
前記メッセージ認証部は、
前記メッセージとしてハートビート通知を受信し、ハートビート通知を受信した際に、前記エージェント鍵を用いて、受信したハートビート通知の認証を行い、受信したハートビート通知が前記ＯＳ上で動作している前記エージェントプログラムから送信されたハートビート通知であるか否かを判断するエージェント動作監視部と、
前記メッセージとしてイベントログ及びセキュリティ検査結果通知の少なくともいずれかを受信し、イベントログ又はセキュリティ検査結果通知を受信した際に、前記エージェント鍵を用いて、受信したイベントログ又はセキュリティ検査結果通知の認証を行い、受信したイベントログ又はセキュリティ検査結果通知が前記ＯＳ上で動作している前記エージェントプログラムから送信されたイベントログ又はセキュリティ検査結果通知であるか否かを判断する検査記録格納部との少なくともいずれかを有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記メッセージ認証部は、
メッセージごとに一定の規則性をもって更新される識別子を含むメッセージを受信し、受信したメッセージに含まれる識別子の更新状況を解析して、受信したメッセージが過去に既に受信したメッセージの再送であるか否かを判断することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、
内蔵時計を含み、
前記検査記録格納部は、
受信したイベントログ又はセキュリティ検査結果通知を記録するとともに、受信したイベントログ又はセキュリティ検査結果通知の記録時刻を前記内蔵時計の時刻に従って記録することを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記メッセージ認証部は、
メッセージの認証の結果、受信したメッセージが前記ＯＳ上で動作している前記エージェントプログラムから送信されたメッセージでないと判断した場合に、当該判断結果をイベントログとして記録することを特徴とする請求項１〜４のいずれかに記載の情報処理装置。
【請求項６】
前記メッセージ認証部は、
受信したメッセージに含まれる識別子の更新状況を解析した結果、受信したメッセージが過去に既に受信したメッセージの再送であると判断した場合に、当該判断結果をイベントログとして記録することを特徴とする請求項３に記載の情報処理装置。
【請求項７】
ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）上で動作しメッセージの送信を行うエージェントプログラムを格納するエージェントプログラム格納部が、メッセージの認証に用いられるエージェント鍵と前記エージェントプログラムとを前記ＯＳに対して送信するエージェントプログラム送信ステップと、
メッセージ認証部が、前記エージェントプログラム格納部から前記エージェント鍵を取得し、メッセージを受信した際に、前記エージェント鍵を用いて、受信したメッセージの認証を行い、受信したメッセージが前記ＯＳ上で動作している前記エージェントプログラムから送信されたメッセージであるか否かを判断するメッセージ認証ステップとを有することを特徴とするメッセージ認証方法。
【請求項８】
ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）上で動作しメッセージの送信を行うエージェントプログラムを格納するエージェントプログラム格納部が、メッセージの認証に用いられるエージェント鍵と前記エージェントプログラムとを前記ＯＳに対して送信するエージェントプログラム送信処理と、
メッセージ認証部が、前記エージェントプログラム格納部から前記エージェント鍵を取得し、メッセージを受信した際に、前記エージェント鍵を用いて、受信したメッセージの認証を行い、受信したメッセージが前記ＯＳ上で動作している前記エージェントプログラムから送信されたメッセージであるか否かを判断するメッセージ認証処理とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組織内ネットワークに接続する情報処理装置に対するセキュリティ対策技術に関する。
【背景技術】
【０００２】
企業・官公庁等のセキュリティ対策において、組織内ネットワークに接続する端末ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）のセキュリティ対策を徹底する手段として「検疫ネットワークシステム」が知られている。
検疫ネットワークシステムは、ネットワーク接続認証技術と端末ＰＣ監査技術とを融合したもので、組織内ネットワークに接続する端末ＰＣ上に監視ソフトウェアを設置し、その端末ＰＣのセキュリティ対策状況等を検査するともに、その検査結果をネットワーク接続時の認証データとして用いる。
組織内ネットワークの運用管理者が定めるセキュリティ管理基準を満たす端末ＰＣに対しては接続を許可し、セキュリティ管理基準に対する不適合が検出された端末ＰＣは、組織内ネットワークから隔離し、組織内ネットワークの安全を保つ（例えば、特許文献１、特許文献２）。
また、いったん接続を許可した端末ＰＣに対しても定期的に再検査と検疫サーバへの報告を行い、セキュリティ対策を最新状態に維持する仕組みや、多様な検査項目やネットワーク接続方式に対応できる拡張性を持ったシステムの構成方法も提案されている（例えば、同じく特許文献１）。
【特許文献１】特開２００５−３１８６１５号公報
【特許文献２】特開２００６−１４８２００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
以上に述べた従来の検疫ネットワーク技術は、端末ＰＣに対するセキュリティ対策の徹底と、組織内ネットワークに対する不適切なＰＣの接続防止とを目的として、組織内ネットワークに端末ＰＣが接続する時や、接続を継続している時に対する解決策を提供するものである。
このため、特許文献１及び特許文献２に記載の技術は、出張などにより組織内ネットワークを一時的に離脱しているモバイルＰＣ上に対してはセキュリティ対策を維持できないという課題がある。
【０００４】
本発明は、従来の検疫ネットワーク技術をモバイルＰＣに対して適用する場合の上記のような課題を解決することを主な目的としており、出張などにより組織内ネットワークを一時的に離脱しているモバイルＰＣ上に対しても、適切なセキュリティ対策が常に維持されていることを継続的に検査し、また、検査に不合格なままモバイルＰＣを利用することや、検査を回避してモバイルＰＣの利用を行うこと、あるいは、検査を回避したことを隠蔽して、組織内ネットワークに持ち帰り再接続することを防止する方法を提供することを主な目的とする。
【０００５】
また、端末ＰＣにおけるセキュリティ対策としては、例えば、ウイルス検知ソフトウェアの導入、ファイル暗号化ソフトウェアの導入、業務上不必要なソフトウェアの導入や使用の禁止、ユーザの操作履歴の記録、リムーバブル記憶媒体へのアクセス制限などがあるが、これらの管理策は時として端末ＰＣの性能・機能に制約を与え、また、ユーザの身勝手な利用を禁止するものであるため、一部の端末ＰＣユーザにとって、検疫ネットワークにより導入した検査機能を無効化する動機が生じる。
このため、本発明は、このような動機をもつユーザによる不適切ないし不正な利用の防止を図ることも目的の一つとする。
【０００６】
また、モバイルＰＣが盗難にあった場合や、コンピュータウイルス等の被害に遭遇した場合においても同様に、管理策や検査の無効化がしばしば試みられる。
このため、本発明は、このような攻撃の防止を図ることも目的の一つとする。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、
ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を有する情報処理装置であって、
前記ＯＳ上で動作しメッセージの送信を行うエージェントプログラムを格納し、メッセージの認証に用いられるエージェント鍵と前記エージェントプログラムとを前記ＯＳに対して送信するエージェントプログラム格納部と、
前記エージェントプログラム格納部から前記エージェント鍵を取得し、メッセージを受信した際に、前記エージェント鍵を用いて、受信したメッセージの認証を行い、受信したメッセージが前記ＯＳ上で動作している前記エージェントプログラムから送信されたメッセージであるか否かを判断するメッセージ認証部とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、悪意のソフトウェア等による成りすましや再生攻撃を排除して、エージェントプログラムが正常動作を維持していることを確実に確認でき、また、真正のエージェントプログラムからのメッセージに従いイベントログ、セキュリティ検査結果記録を確実に記録できるため、出張などにより組織内ネットワークを一時的に離脱している情報処理装置に対しても、適切なセキュリティ対策が常に維持されていることを検査することができる。
また、検査に不合格なまま情報処理装置を利用することや、検査を回避して情報処理装置の利用を行うこと、あるいは、検査を回避したことを隠蔽して、情報処理装置を組織内ネットワークに持ち帰り再接続することを防止することができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
本実施の形態に係るモバイルＰＣ監視システムの一例について、図１に構成図を示す。
まず、本システムの構成について説明する。
本システムは、検査対象の端末ＰＣ１、端末ＰＣ１から検査報告を受ける検査サーバ２、ならびに、検査サーバ２の指示により端末ＰＣ１の組織内ネットワーク４へのアクセス権限を制御する検疫ゲートウェイ３で構成する。
【００１０】
さらに、端末ＰＣ１は、端末上のＯＳ（オペレーティングシステム）１０６、その上で動作するエージェントプログラム１０７、ならびに、ＯＳ１０６上のソフトウェアからの許可されないアクセスを防止するよう、例えばハードウェアモジュールとして実装された、検査制御デバイス１０１を備える。
図１ではエージェントプログラム１０７がＯＳ１０６上で動作している状態を示しているが、後述するように、エージェントプログラム１０７は当初はエージェントプログラム格納部１０２に格納されており、エージェントプログラム格納部１０２からＯＳ１０６に出力され、ＯＳ１０６により起動される。
端末ＰＣ１は、情報処理装置の例である。
【００１１】
端末ＰＣ１において、エージェントプログラム格納部１０２は、ＯＳ１０６上で動作しメッセージの送信を行うエージェントプログラム１０７を格納し、メッセージの認証に用いられるエージェント鍵とエージェントプログラム１０７とをＯＳ１０６に対して送信する。
メッセージ認証部１０８は、エージェントプログラム格納部１０２からエージェント鍵を取得し、メッセージを受信した際に、エージェント鍵を用いて、受信したメッセージの認証を行い、受信したメッセージがＯＳ１０６上で動作しているエージェントプログラム１０７から送信されたメッセージであるか否かを判断する。
メッセージ認証部１０８は、エージェント動作監視部１０３と検査記録格納部１０４から構成される。
メッセージ認証部１０８は、メッセージとしてハートビート通知を受信し、ハートビート通知を受信した際に、エージェント鍵を用いて、受信したハートビート通知の認証を行い、受信したハートビート通知がＯＳ１０６上で動作しているエージェントプログラム１０７から送信されたハートビート通知であるか否かを判断する。
検査記録格納部１０４は、メッセージとしてイベントログ及びセキュリティ検査結果通知の少なくともいずれかを受信し、イベントログ又はセキュリティ検査結果通知を受信した際に、エージェント鍵を用いて、受信したイベントログ又はセキュリティ検査結果通知の認証を行い、受信したイベントログ又はセキュリティ検査結果通知がＯＳ１０６上で動作しているエージェントプログラム１０７から送信されたイベントログ又はセキュリティ検査結果通知であるか否かを判断する。
検査報告生成部１０５は、エージェントプログラム１０７から検査報告生成要求を受け、検査サーバ２に対して送信すべき検査報告情報を生成する。検査報告情報には、検査制御デバイス１０１内に隠蔽された端末固有の秘密鍵１１０を用いて、検査サーバ２が検証するためのメッセージ認証情報を付与する。
【００１２】
なお、上記では、エージェントプログラム格納部１０２、メッセージ認証部１０８（エージェント動作監視部１０３、検査記録格納部１０４）及び検査報告生成部１０５は、ハードウェアデバイスである検査制御デバイス１０１により実現される例を説明したが、後述するように、少なくもエージェントプログラム格納部１０２におけるエージェント鍵の生成処理、ＯＳ１０６へのエージェントプログラム及びエージェント鍵の送信処理及びメッセージ認証部１０８へのエージェント鍵の送信処理、メッセージ認証部１０８（エージェント動作監視部１０３、検査記録格納部１０４）におけるメッセージ（ハートビート通知、イベントログ及びセキュリティ検査結果通知）認証処理はプログラムにより実現されてもよい。この場合は、端末ＰＣ１内の磁気ディスク装置等の二次記憶装置に当該プログラムを格納し、実行時にメモリにロードし、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が当該プログラムを実行するようにする（磁気ディスク装置、メモリ、ＣＰＵは図１に不図示）。
【００１３】
次に、本システムの動作を説明する。
まず、端末ＰＣ１、検査サーバ２、検疫ゲートウェイ３の基本的な役割は従来の検疫ネットワークシステムと同様である。これらの役割関係は、原則として本発明の請求範囲ではないが、理解を助けるために図２により基本的な動作の流れを簡潔に説明する。
【００１４】
端末ＰＣ１は、起動に際してＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）広告などのパケットを送出する（Ｓ２０１）。これは通常の端末ＯＳの動作である。
これを検知した検疫ゲートウェイ３は、パケットに含まれるＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスに基づき、未接続の端末として端末ＰＣ１が接続されたことを検知する（Ｓ２０２）。
次に、検疫ゲートウェイ３は端末ＰＣ１に対して接続手順の開始を指示する（Ｓ２０３）。
端末ＰＣ１は、検査報告を生成し、検査報告を含んだ接続要求を検疫ゲートウェイ３に送信する（Ｓ２０４〜Ｓ２０５）。
接続要求を受けた検疫ゲートウェイ３は要求内容の認証を検査サーバ２に依頼し（Ｓ２０６）、検査サーバ２は端末やユーザの認証に加えて、検査報告の内容を吟味して接続ＯＫ／ＮＧを判定し（Ｓ２０７）、その結果を検疫ゲートウェイ３経由で端末ＰＣ１に通知する（Ｓ２０８〜Ｓ２１０）。検疫ゲートウェイ３は接続ＯＫ／ＮＧの判定結果に従い、端末ＰＣ１の組織内ネットワークに対するアクセス権を適切に変更する。
【００１５】
以上が基本的な流れであるが、本実施の形態に係るシステムは、検査制御デバイス１０１に含まれる各手段を用いることにより、以下の効果を得ることを主な特徴とする。
（１）端末ＰＣ１上の検査ならびに接続要求を実施するエージェントプログラム１０７が、検査制御デバイス１０１に格納されていた真正のプログラムであり、かつ、正常に動作を継続していることを監視する。
（２）真正と認められるエージェントプログラム１０７以外のソフトウェアから虚偽の検査記録や検査記録の改ざんが行なわれることを防止する。
（３）検査制御デバイス１０１自身により検査報告にデジタル署名を施し、これを検査サーバ２で確認することにより、他の端末や端末ＰＣ１上の悪意のソフトウェア等による検査報告の成りすまし・改ざんを受けることなく、検査サーバ２に対して常に正しい検査報告が行なわれるようにする。
【００１６】
次に、本実施の形態に係る端末ＰＣ１の前記の効果を得るための動作例（メッセージ認証方法）を図１２を参照して概説し、その後、図３〜図１１及び図１３を参照して端末ＰＣ１の詳細な動作を順を追って説明する。
【００１７】
先ず、エージェントプログラム格納部１０２が、ＯＳ１０６からのエージェントプログラムのロード要求に従って、エージェントプログラムとエージェント鍵を送信する（Ｓ１２０１）（エージェントプログラム送信ステップ）。また、このとき、エージェントプログラム格納部１０２は、エージェント鍵をエージェント動作監視部１０３及び検査記録格納部１０４にも通知する。
次に、エージェント動作監視部１０３によるハートビート通知の受信及び認証処理（Ｓ１２０２）（メッセージ認証ステップ）と、検査記録格納部１０４によるイベントログ、セキュリティ検査結果の受信及び認証処理（Ｓ１２０３）（メッセージ認証ステップ）が並行的に行われる。エージェント動作監視部１０３による認証処理及び検査記録格納部１０４による認証処理には、エージェントプログラム格納部１０２から通知されたエージェント鍵が用いられる。
そして、検査報告生成部１０５が、エージェントプログラム１０７からの要求に基づき、検査報告を生成し、エージェントプログラム１０７が、図２のＳ２０４及びＳ２０５に示すように、検査報告を含んだ接続要求を検疫ゲートウェイ３に送信する（Ｓ１２０４）。
【００１８】
＜エージェントプログラムの起動＞
次に、図１２に示すＳ１２０１の処理の詳細を説明する。
端末ＰＣ１において、検査制御デバイス１０１に内蔵されたエージェントプログラム格納部１０２はエージェントプログラム１０７のロードモジュールを格納しており、ＯＳ１０６からエージェントプログラムロード要求を受けると、プログラムロード要求の都度生成されるエージェント鍵をエージェントプログラム１０７のロードモジュールに対して埋め込んだロードイメージを生成し、ＯＳ１０６に渡す。
なお前記エージェント鍵は乱数等を用いた推測困難な値を生成する。
ＯＳ１０６は前記手順で渡されたロードイメージを起動しエージェントプログラム１０７として実体化する。
同時に、エージェントプログラム格納部１０２は前記エージェント鍵をエージェント動作監視部１０３および検査記録格納部１０４に通知する。
【００１９】
具体的には、図１３に示すように、エージェントプログラム格納部１０２は、先ず、ＯＳ１０６からのエージェントプログラム１０７のロードプログラムのロード要求を受信する（Ｓ１３０１）。
ロード要求を受信したエージェントプログラム格納部１０２は、エージェント鍵を生成する（Ｓ１３０２）。エージェント鍵は、ロード要求ごとに値が変化する。
次に、エージェントプログラム格納部１０２は、エージェント鍵をエージェントプログラム１０７のロードモジュールに埋め込んでロードイメージを生成する（Ｓ１３０３）。
次に、エージェントプログラム格納部１０２は、生成したロードイメージをＯＳに送信する（Ｓ１３０４）。
また、エージェントプログラム格納部１０２は、エージェント鍵をエージェント動作監視部１０３及び検査記録格納部１０４に通知する（Ｓ１３０５）。
この結果、同じエージェント鍵がエージェントプログラム１０７、エージェント動作監視部１０３、検査記録格納部１０４の間で共有される。
【００２０】
＜ハートビートによるエージェントの動作監視と真正性の確認＞
次に、図１２に示すＳ１２０２の処理の詳細を説明する。
エージェントプログラム１０７は、自身が真正なものであり、かつ正常に動作していることを検査制御デバイス１０１に示すため、定期的にハートビートをエージェント動作監視部１０３に報告する。ハートビート通知は、図３に示すように以下のデータで構成される。
初期値＝０として通知生成毎に１ずつ増加するシーケンス番号３０２。
前記シーケンス番号３０２をメッセージ文とし、前記エージェント鍵を認証鍵とするＨＭＡＣ−ＳＨＡ１値（Ｋｅｙｅｄ−Ｈａｓｈｉｎｇ  ｆｏｒ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｃｏｄｅ−Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ１）３０３。
なお、本実施の形態では、ＨＭＡＣ−ＳＨＡ１値３０３を用いる例を説明するが、他の種類の暗号ハッシュ関数を用いるようにしてもよい。
ハートビート通知の受信者であるエージェント動作監視部１０３は、前記エージェント鍵と次期待シーケンス番号を保持し、また、ハートビートが途切れたことを検知するためのウォッチドッグタイマを内蔵する。
図４及び図５にエージェント動作監視部１０３の動作を示す。
【００２１】
端末ＰＣ１の電源投入時は、エージェント動作監視部１０３は、エージェント鍵、次期待シーケンス番号はそれぞれ空、０にレジスタ値を初期化し（Ｓ４０１）、また、ウォッチドッグタイマをリセットする（Ｓ４０２）。また、エージェント鍵通知を受けた場合は、エージェント動作監視部１０３は、エージェント鍵を通知内容に、次期待シーケンス番号は０にレジスタ値を設定する（Ｓ４０３）。
後述するとおり、ウォッチドッグタイマはまた、正当なハートビート通知を受信したときにリセットされる。リセットを受けずにウォッチドッグタイマの期限が到来した場合は、エージェント動作監視部１０３は、検査記録格納部１０４に対して、真正なエージェントプログラムの動作が確認できないことを示すイベントログの記録を指示し（Ｓ４０４）、ウォッチドッグタイマをリセットする（Ｓ４０５）。
ハートビート通知を受信した時は、エージェント動作監視部１０３は、まずシーケンス番号３０２の値が期待どおりであるか、次にＨＭＡＣ−ＳＨＡ１値３０３の値が期待通りであるかどうかを確認する（それぞれＳ４０６、Ｓ４０７）ことにより正当性を確認する。正当である場合は次期待シーケンス番号を１加算するとともにウォッチドッグタイマをリセットする（Ｓ４０８）。
Ｓ４０６、Ｓ４０７の確認の少なくとも一方が正当でない場合は、エージェント動作監視部１０３は、検査記録格納部１０４に対して、その事実をイベントログとして記録することを指示する（Ｓ４０９）。
上記の手順により、シーケンス番号３０２を検査するステップにより悪意のソフトウェア等による再生攻撃が防止される。
具体的には、エージェント動作監視部１０３は、受信したハートビート通知に含まれるシーケンス番号（識別子）の更新状況を解析した結果、受信したハートビート通知が過去に既に受信したハートビート通知の再送であると判断した場合（同じシーケンス番号を複数回受信した場合）に、当該判断結果をイベントログとして記録することにより再生攻撃を防止する。
また、ＨＭＡＣ−ＳＨＡ１値３０３の値を検査するステップにより悪意のソフトウェア等による成りすまし攻撃が防止される。
【００２２】
上記の構成により、エージェント動作監視部１０３は、悪意のソフトウェア等による成りすましや再生攻撃を排除して、エージェントプログラム１０７が正常動作を維持していることを確実に確認できる。
また、成りすましや再生攻撃の試みを検知した場合は、その事実を検査記録格納部１０４に記録できる。
また、ウォッチドッグタイマを有することにより、エージェントプログラム１０７の動作が途切れた場合は、その事実を検査記録格納部１０４に記録できる。
【００２３】
＜検査情報の記録＞
次に、図１２に示すＳ１２０３の処理の詳細を説明する。
エージェントプログラム１０７は、運用管理上のポリシーに従って端末ＰＣ１のセキュリティ対策状況を確認する手段として、各種のイベントログやセキュリティ検査結果の記録を検査記録格納部１０４に対して指示する。
本システムで言うイベントログやセキュリティ検査結果は、一般的な検疫ネットワークシステムと同様、イベントログは発生した事象を日時と共に記録したデータであり、発生毎に追記される。
セキュリティ検査結果は検査項目毎の評価結果（例えばＯＳのバージョン、ウイルス対策ソフトウェアの動作状態、検知パターンファイルのバージョン等）を記録したデータであり、検査項目毎に最新の検査結果で上書きされるデータである。
検査記録格納部１０４は、図６に例示する形で前記データを記録する。
ＯＳ１０６からのデータの作成・削除・更新に関する指示を行うインタフェースは、本節に述べる方法に限定することにより、悪意のプログラム等による恣意的な記録の追加・削除・更新を防ぐ。つまり、インタフェースを限定することで、他のプログラムがエージェントプログラム１０７に成りすますことを防止する。
エージェントプログラム１０７が検査記録格納部１０４に対して行うイベントログの記録要求の形式を図７に、また、セキュリティ検査結果の記録要求の形式を図８に示す。
各々の記録要求には、エージェントプログラム起動直後に０に初期化され要求毎に１ずつ加算されるシーケンス番号と、エージェント鍵を用いて作成したＨＭＡＣ−ＳＨＡ１値を含める。
図９〜図１１に検査記録格納部１０４の動作を示す。
【００２４】
検査記録格納部１０４は、端末ＰＣ１の電源投入時はエージェント鍵、次期待シーケンス番号はそれぞれ空、０にレジスタ値を初期化する（Ｓ８０１）。また、検査記録格納部１０４は、エージェント鍵通知を受けた場合はエージェント鍵を通知内容に、次期待シーケンス番号は０にレジスタ値を設定する（Ｓ８０２）。
エージェントからのイベントログ記録要求を受けた場合は、検査記録格納部１０４は、まずシーケンス番号が期待通りか、次にＨＭＡＣ−ＳＨＡ１値が期待通りかどうかを確認することにより要求の正当性を確認する（Ｓ８０３、Ｓ８０４）。正当である場合は、要求されたイベントログに記録日時を付与してイベントログ格納領域に追記し、次期待シーケンス番号を１加算する（Ｓ８０５）。
実装方法としては、例えば、記録日時は検査制御デバイス１０１に固有の時計（内蔵時計）を使用することで、記録日時の改ざんを防ぐことが望ましい。
エージェントプログラム１０７からセキュリティ検査結果記録要求を受けたときは、検査記録格納部１０４は、イベントログの場合と同様に、まずシーケンス番号が期待通りか、次にＨＭＡＣ−ＳＨＡ１値が期待通りかどうかを確認することにより要求の正当性を確認する（Ｓ８０７、Ｓ８０８）。
正当である場合は、検査記録格納部１０４は、要求された検査項目に記録日時を付与し、各検査項目の記憶領域に検査結果を上書き記録する（Ｓ８０９）。
【００２５】
上記の構成により、検査記録格納部１０４、悪意のソフトウェア等による成りすましや再生攻撃を排除して、真正のエージェントプログラム１０７からのイベントログ記録要求ないしセキュリティ検査結果記録要求に従い、イベントログ、セキュリティ検査結果記録を確実に記録できる。
例えば、検査記録格納部１０４は、受信したイベントログ又はセキュリティ検査結果記録要求に含まれるシーケンス番号（識別子）の更新状況を解析した結果、受信したイベントログ又はセキュリティ検査結果記録要求が過去に既に受信したイベントログ又はセキュリティ検査結果記録要求の再送であると判断した場合（同じシーケンス番号を複数回受信した場合）に、当該判断結果をイベントログとして記録することにより再生攻撃を防止することができる。
【００２６】
また、成りすましや再生攻撃の試みを検知した場合は、その事実を検査記録格納部１０４に記録する手順を追加してもよい（Ｓ８０６、Ｓ８１０）。
これにより、成りすましや再生攻撃の試みがあったことを、後の検査報告時に知ることができる。
【００２７】
＜検査の報告＞
次に、図１２に示すＳ１２０４の処理の詳細を説明する。
端末ＰＣ１が検査報告を生成し、検査報告を含んだ接続要求を検疫ゲートウェイ３に送信するステップ（図２のＳ２０４〜Ｓ２０５）において、本システムのエージェントプログラム１０７は、検査報告生成部１０５に対して検査報告生成要求を行う。
検査報告生成部１０５は、イベントログ、検査結果記録を検査記録格納部１０４より取得して検査報告を生成し、検査制御デバイス１０１の中に秘匿された端末固有の秘密鍵１１０を用いてデジタル署名を施したものをエージェントプログラム１０７に返す。
エージェントプログラム１０７は、検査報告生成部１０５により生成された検査報告を検疫ゲートウェイ３を介して検査サーバ２に送信する。
検査サーバ２における確認手順では、端末ＰＣ１の公開鍵を用いて検査報告のデジタル署名を検証することにより、検査報告が真正であることを確認する。
【００２８】
上記の構成により、イベントログ、検査結果記録、そして端末固有の秘密鍵１１０は、いずれもＯＳ１０６上の悪意のソフトウェア等から保護された形で検査制御デバイス１０１に保管されており、したがって、端末ＰＣ１に対する悪意のユーザ操作や悪意のソフトウェアによる虚偽の検査報告を防止することができる。
【００２９】
以上、本実施の形態では、端末ＰＣ並びに検疫サーバを含むモバイルＰＣ監視システムであって、端末ＰＣは以下の手段を備えたモバイルＰＣ監視システムについて説明した。
（ａ）端末ＰＣのＯＳ上で動作し、イベントログやセキュリティ検査を実施し、また、検疫サーバに対して検査報告を行なう、エージェントプログラム；
（ｂ）端末ＰＣに内蔵もしくは接続され、下記（ｃ）〜（ｆ）の手段を内蔵したハードウェアモジュールである、検査制御デバイス；
（ｃ）前記エージェントプログラムのロードモジュールを格納し、端末ＯＳあるいは端末ＯＳ上のソフトウェアからのエージェントプログラムロード要求に対し、前記ロードモジュールにエージェント鍵を埋め込んだロードイメージを応答するとともに、少なくとも下記手段（ｄ）（ｅ）に前記エージェント鍵を通知する、エージェントプログラム格納手段；
（ｄ）前記エージェントプログラムからのハートビート通知を受けることにより前記エージェントの動作が継続されていることを確認する手段であって、かつ、エージェントプログラムからのハートビート通知には前記エージェント鍵を用いたメッセージ認証を実施することにより、真正のエージェントプログラムからのハートビート通知であることを確認する、エージェント動作監視手段；
（ｅ）前記エージェントプログラムからイベントログやセキュリティ検査記録等の記録要求を受け、その内容を記憶する手段であって、かつ、前記要求には前記エージェント鍵を用いたメッセージ認証を実施することにより、真正のエージェントプログラムからの記録要求であることを確認する、検査記録格納手段；
（ｆ）前記エージェントプログラムから検査報告生成要求を受け、検疫サーバに対して送信すべき検査報告情報を応答する手段であって、応答する検査報告情報には、検査制御デバイス内に隠蔽された端末固有の鍵を用いて、検疫サーバが検証するためのメッセージ認証情報を付与する、検査報告生成手段。
【００３０】
また、本実施の形態では、前記エージェントプログラムが（ｄ）（ｅ）（ｆ）の各手段に対して発行する処理要求には、要求の都度更新されるシーケンス番号を含み、処理要求を受けた各手段は、シーケンス番号が期待する順序で生成されていることを確認することにより、過去に既に受けた処理要求の再送でないことを確認することを説明した。
【００３１】
また、本実施の形態では、検査制御デバイスには内蔵時計を含み、検査記録格納手段は、イベントログの記録要求やセキュリティ検査記録の記録要求を受けてこれらを記録するときは、前記内蔵時計に基づき、各々のイベントログの発生時刻やセキュリティ検査記録の検査時刻を記録することを説明した。
【００３２】
また、本実施の形態では、エージェント動作監視手段、検査記録格納手段のうち少なくとも一方は、受信されたイベントログやセキュリティ検査記録等の記録要求あるいはハートビート通知に対してメッセージ認証が失敗した場合は、検査記録格納手段にその発生の事実をイベントログとして記録することを説明した。
【００３３】
また、本実施の形態では、エージェント動作監視手段、検査記録格納手段のうち少なくとも一方は、受信されたイベントログやセキュリティ検査記録等の記録要求あるいはハートビート通知に付与されたシーケンス番号の系列が期待通りの系列であることを検査し、期待通りの値でない記録要求あるいはハートビート通知を受信した場合は、検査記録格納手段にその発生の事実をイベントログとして記録することを説明した。
【００３４】
最後に、実施の形態１に示した端末ＰＣ１のハードウェア構成例について説明する。
図１４は、実施の形態１に示す端末ＰＣ１のハードウェア資源の一例を示す図である。
なお、図１４の構成は、あくまでも端末ＰＣ１のハードウェア構成の一例を示すものであり、端末ＰＣ１のハードウェア構成は図１４に記載の構成に限らず、他の構成であってもよい。
【００３５】
図１４において、端末ＰＣ１は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００３６】
通信ボード９１５は、図１に示すように、組織内ネットワーク４に接続されている。これ以外に、通信ボード９１５は、例えば、組織内ネットワーク４以外のＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラム（例えば、エージェントプログラム１０７）は、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００３７】
上記プログラム群９２３には、実施の形態１の説明において「〜部」、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
前述したように、少なくもエージェントプログラム格納部１０２におけるエージェント鍵の生成処理、ＯＳ１０６（９２１）へのエージェントプログラム及びエージェント鍵の送信処理及びメッセージ認証部１０８へのエージェント鍵の送信処理、メッセージ認証部１０８（エージェント動作監視部１０３、検査記録格納部１０４）におけるメッセージ（ハートビート通知、イベントログ及びセキュリティ検査結果通知）認証処理はプログラムにより実現可能である。
ＣＰＵ９１１は、エージェント鍵の生成処理、ＯＳ１０６（９２１）へのエージェントプログラム及びエージェント鍵の送信処理、メッセージ認証部１０８へのエージェント鍵の送信処理及びメッセージ認証処理を実現するプログラムを読み出し、実行する。
【００３８】
ファイル群９２４には、実施の形態１の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の登録」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００３９】
また、実施の形態１の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、実施の形態１の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００４０】
このように、実施の形態１に示す端末ＰＣ１は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【００４１】
【図１】実施の形態１に係るモバイルＰＣ監視システムの構成例を示す図。
【図２】実施の形態１に係るモバイルＰＣ監視システムにおける動作手順例を示すシーケンス図。
【図３】実施の形態１に係るハートビート通知のフォーマット例を示す図。
【図４】実施の形態１に係るエージェント動作監視部の動作例を示すフローチャート図。
【図５】実施の形態１に係るエージェント動作監視部の動作例を示すフローチャート図。
【図６】実施の形態１に係る検査記録格納部の記録形式の例を示す図。
【図７】実施の形態１に係るイベント記録要求のフォーマット例を示す図。
【図８】実施の形態１に係るセキュリティ検査結果の記録要求のフォーマット例を示す図。
【図９】実施の形態１に係る検査記録格納部の動作例を示すフローチャート図。
【図１０】実施の形態１に係る検査記録格納部の動作例を示すフローチャート図。
【図１１】実施の形態１に係る検査記録格納部の動作例を示すフローチャート図。
【図１２】実施の形態１に係る端末ＰＣの動作例を示すフローチャート図。
【図１３】実施の形態１に係るエージェントプログラム格納部の動作例を示す図。
【図１４】実施の形態１に係る端末ＰＣのハードウェア構成例を示す図。
【符号の説明】
【００４２】
１  端末ＰＣ、２  検査サーバ、３  検疫ゲートウェイ、４  組織内ネットワーク、１０１  検査制御デバイス、１０２  エージェントプログラム格納部、１０３  エージェント動作監視部、１０４  検査記録格納部、１０５  検査報告生成部、１０６  ＯＳ、１０７  エージェントプログラム、１０８  メッセージ認証部、１１０  秘密鍵。
【図１】
2009053824.tif 000003
【図２】
2009053824.tif 000004
【図３】
2009053824.tif 000005
【図４】
2009053824.tif 000006
【図５】
2009053824.tif 000007
【図６】
2009053824.tif 000008
【図７】
2009053824.tif 000009
【図８】
2009053824.tif 000010
【図９】
2009053824.tif 000011
【図１０】
2009053824.tif 000012
【図１１】
2009053824.tif 000013
【図１２】
2009053824.tif 000014
【図１３】
2009053824.tif 000015
【図１４】
2009053824.tif 000016