(57)【要約】【課題】  ウィルス検査等のセキュリティ検査では、脅威の検知に関する検査定義ファイルが更新される度に全てのデータを再検査する必要があった。【解決手段】  ユーザ端末と接続されるサーバは、検査定義ファイルを保持し、前記脅威の発生に応じて前記ファイルを更新し、データを前記サーバに登録する際に、前記データに対する第一の検査を実行し、前記データを前記ユーザ端末に送信する際、前記第一の検査より後に前記ファイルが更新されており、前記ファイルにおいて更新されている脅威の発生推定日時が、前記データが前記サーバに登録された日時よりも遅い場合に、前記ファイルを用いて前記データに対する第二の検査を実行する検査部を備えることにより、検査定義ファイルが更新されても、全てのデータを再検査する必要がない。【選択図】  図９
2007065810.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末と接続される計算機において、
脅威の検知に関するファイルを保持し、
前記脅威の発生に応じて前記ファイルを更新し、
データを前記計算機に登録する際に、前記データに対する第一の検査を実行し、
前記データを前記ユーザ端末に送信する際、前記第一の検査より後に前記ファイルが更新されており、前記ファイルにおいて更新されている脅威の発生推定日時が、前記データが前記計算機に登録された日時よりも遅い場合に、前記ファイルを用いて前記データに対する第二の検査を実行する検査部を備える、計算機。
【請求項２】
前記第一及び第二の検査の結果は、前記ファイルを一意に示す検査定義ＩＤ、前記データの登録日時、及び前記データのハッシュ値を含む、請求項１記載の計算機。
【請求項３】
前記発生推定日時は、前記ファイルにおいて更新されている脅威が発見された日時から時間差を引いた日時である、請求項１記載の計算機。
【請求項４】
前記ユーザ端末から前記データの取得要求があった際、前記ユーザ端末に前記第二の検査の結果を送信し、前記ユーザ端末からユーザの確認情報を受信した後に、前記データを前記ユーザ端末に送信するサービス提供部を更に備える、請求項１記載の計算機。
【請求項５】
前記サーバは、前記ユーザ端末に配信後のデータの検査結果通知を希望するか否かの選択情報、及び前記ユーザ端末のアドレスを備え、
前記サービス提供部は、前記データの配信後に前記データに脅威が存在することが発見された場合には、前記アドレスに基づいて、前記ユーザ端末に、前記脅威が前記データに存在することを通知する、請求項４記載の計算機。
【請求項６】
前記サービス提供部は、前記脅威が前記データに存在することを通知する際、前記データに対する対策情報を併せて送信する、請求項５記載の計算機。
【請求項７】
前記脅威とは、ウィルスである、請求項１記載の計算機。
【請求項８】
ユーザ端末と計算機が接続され、前記ユーザ端末が前記計算機に登録したデータに対してセキュリティ検査を行う検査方法であって、
脅威の検知に関するファイルを、前記脅威の発生に応じて更新するステップと、
前記データを前記計算機に登録する際に、前記データに対する第一の検査を実行するステップと、
前記データを前記ユーザ端末に送信する際、前記第一の検査より後に前記ファイルが更新されており、前記ファイルにおいて更新されている脅威の発生推定日時が、前記データが前記計算機に登録された日時よりも遅い場合に、前記ファイルを用いて前記データに対する第二の検査を実行するステップを備える、検査方法。
【請求項９】
前記第一及び第二の検査の結果は、前記ファイルを一意に示す検査定義ＩＤ、前記データの登録日時、及び前記データのハッシュ値を含む、請求項８記載の検査方法。
【請求項１０】
前記発生推定日時は、前記ファイルにおいて更新されている脅威が発見された日時から時間差を引いた日時である、請求項８記載の検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータウィルス等に対するセキュリティ検査を効率化する方法に関する。
【背景技術】
【０００２】
あるプログラムに寄生し他人のコンピュータに勝手に入り込んで悪さをするコンピュータウィルス、独立したプログラムで自己増殖を繰り返しながら破壊活動を行うワームウィルス、及びコンピュータ上でユーザが知らない間にユーザの行動や個人情報などを収集するスパイウェア等（以下、これらを総称して「ウィルス」と称する）、毎月40種類以上の新たなウィルスが発生している。
【０００３】
一般的なウィルス対策は、コンピュータにウィルス検査プログラム（以下、検査プログラムと略す）を導入し、コンピュータ上のファイルやネットワークなどを利用して外部から取得したデータに対して検査を行っている。検査は、例えば、複数のウィルスの名称、ウィルスの性質、ウィルス検知方法、及びウィルスを検知した際の対策処理などが記述されているファイル（以下、検査定義ファイルと称する）に基づいて実行される。また、検査プログラムの提供企業（以下、セキュリティ事業者と称する）より、定期的に最新の検査定義ファイルを取得することにより、新種のウィルスにも対応することができる。
【０００４】
現在までに多数のウィルスが発見されており、それに比例して検査処理も時間がかかるようになってきている。サーバから多数のユーザがデータを受信するダウンロードサービスの場合、サーバは入出力データに対してウィルス検査を実施するが、全ての入出力データに毎回ウィルス検査を実施すると、大量のアクセスに対処できない。
【０００５】
そこで、検査を効率化するための技術として、ウィルス検査を実施した際、検査結果ファイルの作成及び電子署名を行い、次回のウィルス検査では、これらの情報に基づいて、検査定義ファイルの差分だけを再検査する方法がある（特許文献１参照）。
【０００６】
また、記憶装置上のファイルの更新情報を管理し、前回のウィルス検査後に更新されたファイルだけに対して、再度ウィルス検査を行う方法もある（特許文献２参照）。
【０００７】
【特許文献１】特開２００３−１９６１１１号公報
【特許文献２】米国特許出願公開第２００４／０１５８７３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献１では、データをサーバに登録する際に一度検査を行い、ダウンロード時にその検査結果を基に検査定義ファイルの更新部分だけを再検査する。しかし、検査定義ファイルが更新された場合は、全てのデータの再検査を行う必要があるため、ウィルスが頻繁に発見される場合や、検査対象データが大量にある場合は、再検査に時間がかかる。
【０００９】
一方、特許文献２では、記憶装置内のデータが更新された場合に更新されたデータに対してだけウィルス検査を行う。しかし、検査定義ファイルが更新された場合は、全てのデータを再検査する必要があり、特許文献１の場合と同様の課題が生じる。
【００１０】
そこで、本発明の目的は、検査定義ファイルが更新されても、全てのデータを再検査する必要がない、セキュリティ検査をより効率化するシステムを提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の望ましい態様の一つは次の通りである。
【００１２】
ユーザ端末と接続される計算機は、脅威の検知に関するファイルを保持し、前記脅威の発生に応じて前記ファイルを更新し、データを前記計算機に登録する際に、前記データに対する第一の検査を実行し、前記データを前記ユーザ端末に送信する際、前記第一の検査より後に前記ファイルが更新されており、前記ファイルにおいて更新されている脅威の発生推定日時が、前記データが前記計算機に登録された日時よりも遅い場合に、前記ファイルを用いて前記データに対する第二の検査を実行する検査部を備える。
【発明の効果】
【００１３】
本発明により、検査定義ファイルが更新されても、全てのデータを再検査する必要がない、セキュリティ検査をより効率化するシステムを提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下に本発明の実施の形態を説明する。
【実施例１】
【００１５】
図１は、セキュリティ検査システムの構成を示す図である。セキュリティ検査システムは、Webシステム等のサーバ１、ユーザ端末２（２−１〜２−ｍ）、セキュリティ事業者が有しウィルスに関するセキュリティ情報（検査定義ファイル等）を提供する検査定義情報提供端末３、及び第三者機関である認証局４から構成され、これらは、インターネットなどのネットワーク５を介して相互に接続されている。
【００１６】
サーバ１は、CPU１１、メモリ１２、記憶装置１３、インタフェース１４、及びそれらを接続するバス１５から構成される。インタフェース１４は、ネットワーク５との間のデータ転送を制御するネットワーク制御装置である。インタフェース１４には、表示装置、入力装置（キーボード等）、及び可搬型記憶媒体が装着されるドライブ等が接続されていてもよい。
【００１７】
ＣＰＵ１１は、記憶装置１３に格納されるプログラムをメモリ１２に読み込んで実行することにより、ウィルス検査等の機能を計算機上に実現する。
【００１８】
記憶装置１３は、OSの他、サービス提供部１０１、ユーザ管理部１０２、検査部１０３等のプログラム、及びデータ配信履歴テーブル１０４、定義更新履歴テーブル１０５、検査結果テーブル１０６、検査定義ファイル１０７、ユーザ情報管理テーブル１０８等の情報を格納する。
【００１９】
サービス提供部１０１は、サーバ１の管理者（以下、Ｗｅｂ事業者と称する）が、サービス（ダウンロードサービス等）を、ネットワーク５を介してユーザに提供するためのプログラムである。サービスは、全てのユーザに提供されてもよいし、ユーザ管理部１０２によるユーザの認証結果を基にアクセス制御された後に提供されてもよい。
【００２０】
ユーザ管理部１０２は、ユーザからのアクセスを受け付けた際、パスワード認証等によりユーザの認証を行うためのプログラムである。
【００２１】
検査部１０３は、ウィルス検査を行うためのプログラムである。ユーザ端末２がデータをサーバ１に登録したりダウンロードをする際に、データのウィルス検査が実施される。
【００２２】
データ配信履歴テーブル１０４は、どのユーザにどのデータを配信したかの履歴を示すテーブルである。図２は、データ配信履歴テーブル１０４の一例を示す図である。
【００２３】
データ配信履歴テーブル１０４は、サーバ１にアクセスしたユーザのユーザＩＤ２１、ユーザがサーバ１から取得したデータのデータＩＤ２２、ユーザが該データを取得した取得日時２３、該データ配信後に該データがウィルスを含んでいることが判明した際にサーバ１からユーザが連絡通知を受信することを希望するか否かを示す通知可否フラグ２４、ユーザが連絡通知を受信する場合の電子メールなどの通知方法２５、及びユーザの通知先を示すメールアドレスなどの通知先２６等から構成される。
【００２４】
定義更新履歴テーブル１０５は、検査定義ファイルに関する情報を示すテーブルである。図３は、定義更新履歴テーブル１０５の一例を示す図である。
【００２５】
定義更新履歴テーブル１０５は、検査定義ファイルのバージョンを一意に示す検査定義ID３１、検査定義ファイルを更新した日時である定義更新日時３２、及び後述する発生推定日時３３等から構成される。
【００２６】
検査結果テーブル１０６は、検査の結果に関する情報を示すテーブルである。図４は、検査結果テーブル１０６の一例を示す図である。
【００２７】
検査結果テーブル１０６は、検査したデータに一意に割り当てられたデータID４１、該データの登録日時４２、該データからハッシュ関数（例えばSecure Hash Algorithm 1等）により計算したハッシュ値４３、検査日時４４、検査時に使用した検査定義ファイルの検査定義ID４５、検査の結果ウィルスが発見されれば該ウィルス名を示し、発見されなければその旨を示す検査結果４６（以下、４１〜４６の情報を総称して検査結果情報と称する）、及び検査結果情報に対する電子署名値４７等から構成される。
【００２８】
検査定義ファイル１０７は、先述の通りであり、新たなウィルスが発見された場合に、セキュリティ事業者が該ウィルスに対する検知／駆除するための情報を更新し、検査定義情報提供端末３にて公開される。検査定義ファイル１０７は、サーバ１が検査定義情報提供端末３から定期的に最新定義ファイルを取得／更新するか、または、検査定義情報提供端末３から、情報が更新された時に配布される。
【００２９】
ユーザ情報管理テーブル１０８は、サーバ１にアクセスしたユーザの属性を示すテーブルである。例えば、ユーザ情報識別ＩＤ、ユーザＩＤ、パスワード、氏名、年齢、住所、メールアドレス、興味を持っている事柄等の、ユーザの属性情報が登録され、ユーザの認証やサービスの提供に使用される。
【００３０】
尚、上記１０１〜１０３のプログラムが提供する機能は、ハードウェアにより実現されてもよい。その場合、サービス提供部はデータ配信履歴テーブルを、ユーザ管理部はユーザ情報管理テーブルを、検査部は定義更新履歴テーブル、検査定義ファイル、及び検査結果テーブルを有することになる。
【００３１】
サーバ１の機能の各々は、１つの装置上に構築せずに、複数の装置に各処理部を分散させて実現してもよい。また、該機能の各々は、複数の企業が提供してもよい。
【００３２】
Ｗｅｂ事業者としては、映画や音楽などのデジタルコンテンツをＷｅｂ上で販売しているコンテンツ販売事業者、ソフトウェア販売事業者、サーバ上で複数のユーザ間で電子ファイル等のデータを共有管理する場を提供する電子会議室サイト運営事業者、サーバレンタル事業者、及び企業内の従業員ポータルサイト管理者等が想定される。
【００３３】
Ｗｅｂ事業者は、ウィルス検査機能を含むデータのダウンロードサービスを行うことにより、ユーザに安全なデータの利用環境を提供する。特に、扱うデータの安全性を確実に保証できない場合に、ウィルス検査機能を提供することが有効となる。
【００３４】
ユーザは、ユーザ端末２を用いてサーバ１にアクセスし、ウィルス検査を含むデータのダウンロードサービスを利用する。
【００３５】
本実施例では、ユーザ端末２は、ユーザがサーバ１にアクセスして電子会議室サービスを利用するための端末とし、Ｗｅｂクライアント（Ｗｅｂブラウザ等）や検査結果監視部１６などのプログラムを自身の備える記憶装置に格納している。
【００３６】
ユーザ端末２は、検査結果監視部１６を実行して、定期的またはユーザからの要求に応じてサーバ１にアクセスし、該ユーザが既に取得しているデータについての検査結果情報を取得する。さらに、該検査結果情報中の検査結果４６にてウィルスが発見されている場合には、検査定義情報提供端末３にアクセスし、発見されたウィルスに対する対策情報（例えばウィルス駆除用のパッチファイル）を検索／取得し、ユーザに対し表示する。尚、検査結果監視部１６がハードウェアにより実現されてもよいことはいうまでもない。
【００３７】
検査定義情報提供端末３は、検査プログラム、検査定義ファイル、及び検査結果情報等を提供するためにセキュリティ事業者が利用する端末である。
【００３８】
認証局４は、Ｗｅｂ事業者やユーザ等に対し電子証明書を発行する第三者機関である。認証局４は、後述するウィルス検査結果などに施された署名を検証するための公開鍵及び公開鍵証明書を、ユーザが取得／検証するための機関である。また、公開鍵証明書は事前にＷｅｂ事業者により認証局に登録されているとする。また、公開鍵や公開鍵証明書の取得、検証のステップは、必要に応じて行われる。
【００３９】
尚、データとは、ユーザがサーバ１からダウンロードする画像やソフトウェア等の電子ファイルや、テキストデータが想定される。
【００４０】
ユーザ端末２、検査定義情報提供端末３、及び認証局４の中の構成は、記憶装置１３内のプログラムが異なる以外は、サーバ１と同様の構成を備える。そして、ＣＰＵが、各装置が備えるプログラムを実行することによって、各装置が提供する機能を計算機上に実現する。また、それらの機能は、ハードウェアにより実現されてもよい。
【００４１】
各装置のＣＰＵ１１が実行するプログラムは、予めメモリ１２または記憶装置１３に格納されていてもよいし、ドライブに装着される可搬型記憶媒体を介して、他の装置からメモリ１２または記憶装置１３に格納されてもよい。更に、インタフェース１４に接続される通信回線、または通信回線上を伝搬する搬送波またはデジタル信号等を介して、他の装置からメモリ１２または記憶装置１３に格納されてもよい。
【００４２】
図５は、セキュリティ事業者が検査定義情報提供端末３を介してサーバ１に提供する検査定義ファイルに関する検査定義更新情報の一例を示す図である。検査定義更新情報は、セキュリティ事業者が検査定義ファイルを更新する際に、更新したバージョンの検査定義ファイルで新たに検知／駆除が可能になったウィルスに関する情報であり、サーバ１から取得可能な状態（例えばインターネットからアクセスが可能な状態）で、セキュリティ事業者の顧客（ここではサーバ１）に対して公開されている。
【００４３】
検査定義更新情報は、基本情報５１として、検査定義更新情報の発行者、発効日、対応する検査定義ファイルの検査定義ＩＤを持つ。また、更新詳細情報５２として、更新したバージョンの検査定義ファイルで検知／駆除が可能になった新たなウィルスに対して一意に割り当てたウィルスID５３、更新した検査定義ファイルのバージョン情報である検査定義ID５４、ウィルス５３が発見された日時である発見日５５、該ウィルスが広まる速度を表す感染力５６、該検査定義ファイルが更新された日時を示す対応日５７等から構成される。
【００４４】
図６は、サーバ１がユーザに対してデータを送信（ダウンロード）する際に、ウィルス検査の結果を通知すると共に、今後の該データに対するウィルス検査の結果の通知を希望するか否かの確認及びデータをダウンロードするか否かのデータ取得確認画面の一例を示す図である。これは、ユーザ端末２を介してユーザに提示される。
【００４５】
データ取得確認画面は、データ情報表示部６１、ウィルス検査情報表示部６２、通知確認表示部６３、及びダウンロード確認表示部６４等から構成される。
【００４６】
データ情報表示部６１は、データＩＤ、データサイズ、及びデータ登録者等、該データに関する情報を表示する。ウィルス検査情報表示部６２は、ウィルス検査を行った製品名、検査結果、検査定義ファイルの検査定義ＩＤ、検査者名、検査結果に対する署名情報、及び検査結果情報のダウンロードボタン等を表示する。通知確認表示部６３は、該データをダウンロード後に該データに対するウィルス検査が実行された場合に、その結果情報の通知を希望するか否かの選択を、ユーザに促す。ダウンロード確認表示部６４は、該データのダウンロードの実行をするか否かの選択を、ユーザに促す。
【００４７】
以下、セキュリティ検査システムのフローについて説明する。ここでは、電子会議室サイト運営事業者が運営する電子会議室サービスについて説明する。電子会議室サービスとは、共通の目的を持つ複数のユーザがグループとなり、サーバ上に共有のスペースを作り、各ユーザが保持しているデータをサーバに登録し、グループ内の他のユーザが該データをダウンロードすることにより、データの共有管理の場を提供するサービスである。電子会議室サービスでは、各ユーザが登録するデータが安全であるとは限らないため、ウィルスの検査が必要になる。
【００４８】
前提条件として、サーバ１が電子会議室サービスをユーザに提供する装置とし、ユーザＡ及びＢは、それぞれ、ユーザ端末２−１及び２−２を用いてサーバ１にアクセスするものとする。また、ユーザA及びBは、既に従来の方法により、サーバ１にユーザ登録済みで、アクセス権限を持つものとする。更に、サーバ１は、検査定義情報提供端末３と連携するための情報を保持しているものとする。ネットワーク５では、悪意のある第３者により盗聴や改竄、成りすまし等のセキュリティ上の危険を避けるため、Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ（ＳＳＬ）等の暗号化通信技術を用いて情報の暗号化、サーバ認証を行うことが望ましい。これらのセキュリティの確保は、必要に応じて行われる。
【００４９】
図７は、検査定義ファイルが更新された場合、サーバ１が検査部１０３を実行することにより行う処理のフロー図である。
【００５０】
サーバ１は、定期的に検査定義情報提供端末３にアクセスし、または、セキュリティ事業者からメールなどの通信手段により通知を受信することにより、検査定義ファイルが更新されているか否かを確認する（ステップ７０１）。更新されていない場合は、該処理を終了する。更新されている場合は、検査定義情報提供端末３から、更新された（最新の）検査定義ファイル、及び検査定義更新情報（図５）を取得する（ステップ７０２）。
【００５１】
次に、取得した検査定義更新情報に基づいて、発生推定日時３３（図３）を計算する（ステップ７０３）。発生推定日時とは、検査定義ファイルで更新されたウィルスがいつ発生したかの推定日時を示す。発生推定日時は、ウィルス検査の対象とするデータと対象としないデータとを区別するための指標で、発生推定日時よりも前に登録または更新されたデータについては、検査の対象外として処理する。
【００５２】
発生推定日時３３は、ウィルスが発生した日よりも以前の日時に設定する必要がある。例えば、発生推定日時３３は、検査定義更新情報内の各ウィルスについて、ウィルスが発見された日時である発見日５５から時間差を引いた時刻とする。時間差は一定値としてもよいし、該ウィルスが広まる速度を表す感染力５６に応じて算出してもよい。例えば、図５の場合、感染力が“高”の場合は３日、“低”の場合は１ヶ月と事前に感染力に対する時間差を定めておくことで、発生推定日時を算出できる。検査定義更新情報内の各ウィルスについて発生推定日時を計算し、その中で最も古い日時を該検査定義ファイルの発生推定日時とする。
【００５３】
次に、定義更新履歴テーブル１０５の、検査定義ＩＤ３１、定義更新日時３２、及び発生推定日時３３を更新する（ステップ７０４）。
【００５４】
但し、発生推定日時３３は、セキュリティ事業者が算出し、検査定義更新情報に追加してサーバ１に配布してもよい。この場合、ステップ７０３は省略される。
【００５５】
図８は、ユーザAがサーバ１にデータを登録するときのフロー図である。但し、ユーザAは、サーバ１に対して、既に従来の方法（例えばＩＤ／パスワード認証）により認証済みで、ログインしているものとする。
【００５６】
サーバ１は、検査部を実行することにより、以下の処理を行う。まず、ユーザＡが端末２−１よりサーバ１に対して送信したデータの登録要求を受信する（ステップ８０１）。サーバ１では、該要求を受信すると、データ登録画面を表示する。
【００５７】
次に、サーバ１は、ユーザＡが端末２−１より送信した、登録すべきデータを受信する（ステップ８０２）。そして、最新の検査定義ファイルを用いてウィルス検査を行う（ステップ８０３）。
【００５８】
ウィルスを検出した場合は登録を拒否する（ステップ８０４）。検出しなかった場合は、ハッシュ関数により該データのハッシュ値を計算する。次に、検査結果情報に対して署名値４７の計算を行う。例えば、検査結果情報をバイト値に直した後に結合し、結合結果に対してサーバ１の持つ秘密鍵を用いて署名値の計算を行う。そして、この署名値４７と検査結果情報を検査結果テーブル１０６に登録する（ステップ８０５）。また、該データを、データＩＤをキーにして検索できる状態にして、記憶装置１３に格納（データをサーバ１に登録）する（ステップ８０６）。
【００５９】
データの登録は図８の処理以外の方法は認めないとし、それ以外の方法（例えばウィルス検査を行わずに記憶装置１３にデータを格納）の場合は不正にデータを登録したものと判断する。
【００６０】
図９は、サーバ１が検査部１０３を実行することにより、ユーザＢが図８の処理により登録したデータを、サーバ１から取得するときのフロー図である。但し、ユーザBは、サーバ１に対して、既に従来の方法により認証済みで、ログインしているものとする。
【００６１】
サーバ１はユーザＢからのデータリスト表示要求を受信すると、ユーザＢが取得可能なデータリスト（ユーザBがログインしている電子会議室に登録されているデータのリスト）を表示する（ステップ９０１）。ユーザＢは端末２−２に表示されているリストの中で取得したいデータを選択し、サーバ１に対してデータ取得要求を送信する。サーバ１はデータ取得要求を受信すると、該データのデータＩＤをキーに記憶装置１３を検索し、該データ、該データの検査結果情報、及び該データの署名値を取得する（ステップ９０２）。
【００６２】
次に、サーバ１が保持している公開鍵、検査結果情報及び署名値から署名の検証（検査結果情報が変更されていないか否かの確認）を行う（ステップ９０３）。署名の検証に失敗した場合は、不正な検査結果の改竄があったものと判断し、その旨を管理者に通知する（ステップ９０４）。
【００６３】
署名の検証に成功した場合は、図８の場合と同様に、該データのハッシュ値を計算し、検査結果情報に含まれるハッシュ値４３と比較する（ステップ９０５）。比較の結果、ハッシュ値が一致しない場合は、データが不正に変更されたと判断し、その旨を管理者に通知する（ステップ９０４）。ハッシュ値が一致した場合は、最新の検査定義ファイルの検査定義IDと、該検査結果情報に含まれる検査定義IDを比較（検査定義ファイルが更新されているか否かの確認）する（ステップ９０６）。検査定義ファイルが更新されていない場合は再検査する必要はないと判断し、ステップ９１１に移行する。
【００６４】
検査定義ファイルが更新されている場合は、該検査結果情報に含まれる検査定義ＩＤ４５をキーにして、定義更新履歴テーブル１０５から、該データに対して過去にウィルス検査を行った際の検査定義ファイルの定義更新日時３２、該定義更新日時３２よりも後に更新された検査定義ファイルの検査定義ＩＤ３１、及び発生推定日時３３（以下、これらを総称して定義更新情報と称する）を取得する。
【００６５】
次に、該検査結果情報に含まれる登録日時４２と、取得した定義更新情報の発生推定日時３３を比較する（ステップ９０７）。登録日時４２よりも発生推定日時３３の方が古い定義更新情報が一つもない場合は、該データは更新された検査定義ファイルが新たに対応したウィルスには関係ないとして検査が不要と判断し、ステップ９１０に移行する。一つでもあった場合は、ウィルス検査処理（ステップ９０８）を行う。
【００６６】
ステップ９０８では、最新の検査定義ファイルを用いてウィルス検査を行うか、従来の方法で検査定義ファイルの中で前回の検査から更新された部分だけを再検査する。
【００６７】
ウィルス検査の結果、ウィルスがないと判断された場合は、該データに対する検査結果テーブル１０６を更新する。更新する内容は、検査日時４４としてステップ９０８での検査日時を、検査定義ＩＤ４５として検査時点での最新検査定義ファイルの検査定義ＩＤを、検査結果４６として“ＯＫ”を、それぞれ、更新する。また、ステップ８０５と同様の方法で署名値４７を計算し更新する（ステップ９１０）。
【００６８】
次に、端末２−２に対してデータ取得確認画面（図６）を表示する（ステップ９１１）。ユーザＢはデータ取得確認画面内のデータ情報表示部６１及びウィルス検査情報表示部６２を確認する。更に、ユーザＢは通知確認表示部６３にて、ダウンロード後に該データに対してウィルスが検査された場合に、その情報の通知を希望するか否かを選択し、通知を希望する場合は通知先の情報（ここでは電子メールアドレス）を入力する。但し、通知先の情報はユーザの認証結果に基づき、記憶装置１３を検索し、事前に登録してある該ユーザの通知先情報を取得し、サーバ１で事前に入力して表示してもよい。ユーザＢは、ダウンロード確認表示部６４において、ダウンロードを実行するか否かを選択し、選択結果及び通知可否情報を端末２−２よりサーバ１へ送信する。
【００６９】
サーバ１では、端末２−２より選択結果及び通知可否情報を受け付ける。選択結果がダウンロードを希望していない場合は終了する。ダウンロードを希望している場合は、端末２−２に対してデータを送信する。また、データ配信履歴テーブル１０４に配信履歴情報を更新する。ここで、データ配信履歴テーブル１０４に追加する配信履歴情報のうち、通知可否２４及び通知先２６はユーザ端末２−２から受信した通知可否情報をもとに更新される（ステップ９１３）。
【００７０】
ステップ９０９において、ウィルスが発見された場合には、サーバ１は、記憶装置１３より、該ウィルスを含むデータを削除し、該データに対する検査結果テーブル１０６を更新する。更新する内容は、検査日時４４としてステップ９０８での検査日時を、検査定義ＩＤ４５として検査時点での最新検査定義ファイルの検査定義ＩＤを、検査結果４６として検出されたウィルスのウィルスＩＤを、それぞれ、更新する。また、ステップ８０５と同様の方法で署名値４７を計算し更新する（ステップ９１４）。そしてユーザ端末２−２に対してウィルスを含んでいたためデータを削除した旨の検査結果を通知する（ステップ９１５）。
【００７１】
次に、サーバ１は、検査定義情報提供端末３にアクセスし、検出したウィルスに関する対策情報（例えばウィルス駆除用のパッチファイル）を検索し取得する（ステップ９１６）。
【００７２】
更に、サーバ１は、データ配信履歴テーブル１０４より、データＩＤ２２がウィルスを含んでいた当該データのデータＩＤと一致し、かつ通知可否２４の項目が“通知”の配信履歴を取得し、通知方法２５及び通知先２６を元に通知を希望している各ユーザに、該データがウィルスを含んでいたこと及び上記対策情報を通知する（ステップ９１７）。
【００７３】
尚、上記処理において、ステップ９０１、９０２、９１１〜９１３、及び９１５〜９１７については、サービス提供部１０１による処理、それ以外のステップについては、検査部１０３による処理、としてもよい。
【００７４】
以上に示したように、サーバ１からデータを出力する際に、検査定義ファイルが更新されている場合にも、更新された検査定義ファイルで新たに対応したウィルスの発生時期を推測し、十分に高い確率で該データには関係がないと判断される場合は再検査をしないことにより、検査の効率を向上させることができる。
【００７５】
また、ダウンロードサービスでは取得したデータがどのような検査を受けてきたのか受信者が分からなければ、ユーザは安心してデータを使用することができない。特にユーザのコンピュータに検査プログラムが導入されていない場合や、検査プログラムが古く、全てのウィルスを検知できない場合などは、ダウンロードサービスを提供する事業者が、ユーザに対してデータの安全性を提示することが望ましい。そこで、データ配信時にユーザに対して、配信以後に該データにウィルスが発見された場合に通知を行うかを確認しておき、配信以後に新たな検査定義ファイルにより該データにウィルスが発見された場合には希望ユーザに通知することにより、ユーザが安心してデータを利用することができる。
【実施例２】
【００７６】
実施例２では、ユーザがダウンロード後のデータについての、別のデータ検査方法について説明する。図１１は、データ検査結果監視のフロー図である。但し、ユーザ端末２は、サーバ１へアクセスするための情報（例えばサーバ１のＵＲＬ、ユーザＩＤ及びパスワード）、及び検査定義情報提供端末３と連携するための情報を保持しているものとする。また、ユーザ端末２は、定期的または端末起動時またはユーザからの実行要求時等のタイミングで、サーバ１にアクセスし、従来の方法（例えばＩＤ／パスワード認証）により認証済みで、ログインしているものとする。また、ダウンロードしたデータの情報（例えばデータＩＤ）は、ダウンロード時にユーザがユーザ端末２の記憶装置に格納するなどして、該データＩＤを基に検査結果情報を要求してもよい。ここでは、データ配信履歴テーブル１０４を用いる方法について説明する。
【００７７】
ユーザ端末２は、検査結果監視部１６を実行して、以下の処理を行う。まず、サーバ１に対して、ユーザ２の既にダウンロードしたデータの検査結果を要求する（１００１）。
【００７８】
サーバ１では、データ配信履歴テーブル１０４より検査結果を要求しているユーザのユーザＩＤが配信履歴テーブルのユーザＩＤ２１と一致し、かつ通知可否２４の項目が“通知”の配信履歴を取得する。次に、検査結果テーブルより、取得した配信履歴に含まれるデータＩＤ２２と検査結果テーブルのデータＩＤ４１が一致する検査結果情報および署名値４７を取得し、それらをユーザ端末２に送信する。
【００７９】
次に、ユーザ端末２は、検査結果情報及び署名値４７を受信すると、Ｗｅｂ事業者の公開鍵を用いて署名値を検証する（１００２）。署名値の検証に失敗した場合は、例えばポップアップウィンドウなどにより、ユーザ端末２に署名の検証に失敗したことを表示する（１００６）。
【００８０】
署名値の検証に成功した場合は、検査結果情報に含まれる検査結果４６を解析し、全てのデータについてウィルスが検出されていなければ（例えば検査結果４６が“ＯＫ”）終了する。ウィルスが検出されている場合は、検査定義情報提供端末３にアクセスし、検査結果４６にあるウィルスＩＤをキーに検出したウィルスに関する対策情報を検索し取得する（１００５）。そして、ユーザ端末２に、ウィルスの検査結果と対策情報を表示する（１００６）。
【００８１】
以上に示したように、データを配信したシステムがデータのウィルス検査結果を一元管理し、データをダウンロードしたユーザ端末が、ダウンロード後も検査結果を監視することにより、発見が難しいスパイウェアやボッドなどのウィルスに対して各ユーザが迅速に対処することができる。
【００８２】
尚、本稿では、ウィルスに対する検査方法であるとして説明したが、ウィルス以外の脅威にも適用できることはいうまでもない。脅威とは、それに悪意があるか否かによらず、結果として資産（登録されたデータ等）に害を及ぼす可能性のある事象のことを示す。ウィルス以外の脅威としては、例えば、企業システムの脆弱な箇所を攻撃して、ユーザに悪意のあるプログラムを実行させるクロス・サイト・スクリプティング攻撃等が考えられる。
【図面の簡単な説明】
【００８３】
【図１】セキュリティ検査システムの構成図。
【図２】データ配信履歴テーブルの一例を示す図。
【図３】定義更新履歴テーブルの一例を示す図。
【図４】検査結果テーブルの一例を示す図。
【図５】検査定義更新情報のデータ構成例を示す図。
【図６】データ取得確認画面の一例を示す図。
【図７】検査定義ファイル更新処理のフロー図。
【図８】データ登録処理のフロー図。
【図９】データ出力処理のフロー図。
【図１０】データ検査結果監視処理のフロー図。
【符号の説明】
【００８４】
１…サーバ、２…ユーザ端末、３…検査定義情報提供端末、４…認証局、５…ネットワーク、１１…CPU、１２…メモリ、１３…記憶装置、１４…インタフェース、１５…バス
【図１】
2007065810.tif 000003
【図２】
2007065810.tif 000004
【図３】
2007065810.tif 000005
【図４】
2007065810.tif 000006
【図５】
2007065810.tif 000007
【図６】
2007065810.tif 000008
【図７】
2007065810.tif 000009
【図８】
2007065810.tif 000010
【図９】
2007065810.tif 000011
【図１０】
2007065810.tif 000012