(57)【要約】【課題】必要最低限のウイルスチェックのみを行うことで比較的非力なコンピュータ上でも高速にウイルスチェックを完了する。【解決手段】一度ウイルスチェックを実施したファイルに対して、その時に使用したウイルスチェック手段およびウイルス定義ファイルの情報を添付し、次回のウイルスチェック時に同じウイルスチェック手段およびウイルス定義ファイルを使用しているか否か判断して、ウイルスチェックの実行が必要か否かを決定する。さらに、コンピュータウイルスのパターンを含む数により、複数のウイルス定義ファイルを用意して、ウイルスチェックする際に最適なウイルス定義ファイルを選択する。【選択図】図１２
2007200102.tif 000002
【特許請求の範囲】
【請求項１】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したチェック手段とデータとの情報を関連付けるチェック実行手段と、
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納手段と、
前記ファイルを再度チェックする時に、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータとの情報よりも、前記格納手段に格納されている最新のチェック手段とそのチェックに使用する最新のデータの方が新しいと判断した場合のみチェックの実施を決定する決定手段と、
を備えていることを特徴とする端末。
【請求項２】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行手段と、
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納手段と、
前記ファイルを再度チェックする時に、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータと前記格納手段に格納されている最新のチェック手段とそのチェックに使用する最新のデータとの差分を調査する調査手段と、
前記調査手段による調査の結果、差分があるとされた場合に、その差分に応じて複数存在するデータとチェック手段の中から適切なデータとチェック手段を選択する選択手段と、
を備えていることを特徴とする端末。
【請求項３】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行手段と、
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段と同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を受け取り格納する格納手段と、
前記ファイルを再度チェックする時に、前記格納手段に格納されているマッピング情報を参照し、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータを開発元が異なる別のデータとチェック手段に書き換える書き換え手段と、
を備えていることを特徴とする端末。
【請求項４】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行手段と、
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段と同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を受け取り格納する格納手段と、
前記ファイルを再度チェックする時に、前記格納手段に格納されているマッピング情報を参照し、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータを開発元が異なる別のデータとチェック手段が得られない場合に、そのファイルに関連付けられている前回のデータとチェック手段情報を削除する削除手段と、
を備えていることを特徴とする端末。
【請求項５】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行手段と、
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段と同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を受け取り格納する格納手段と、
前記ファイルを再度チェックする時に、前記格納手段に格納されているマッピング情報を参照し、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータを開発元が異なる別のデータとチェック手段が得られない場合に、そのファイルを最新のチェック手段とそのチェックに使用する最新のデータを用いたチェックを実施することを決定する決定手段と、
を備えていることを特徴とする端末。
【請求項６】
請求項１ないし請求項５のいずれかに記載の端末において、
チェック対象となるファイルに、前回チェック時に使用したデータとチェック手段の情報が存在しなければ、チェックを実施することを決定するチェック決定手段を備えていることを特徴とする端末。
【請求項７】
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納手段と、
前回チェック時で使用したデータとチェック手段の情報が関連付けられたファイルのチェック時に、そのファイルに関連づけられている前回チェック時で使用したデータとチェック手段の情報と前記格納手段に格納されている最新のチェック手段とそのチェックに使用する最新のデータの方が新しいと判断する場合のみチェックの実施をサーバに依頼し、ファイルを送信する送信手段と、
前記サーバから送られてくる、サーバがチェックした際にサーバで使用したデータとチェック手段の情報をサーバから受け取る受信手段と、
を備えていることを特徴とする端末。
【請求項８】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行手段と、
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納手段と、
前記ファイルを再度チェックする時に、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータと前記格納手段に格納されている最新のチェック手段とそのチェックに使用する最新のデータとの差分を調査する調査手段と、
前記調査手段による調査の結果、差分があるとされた場合に、その差分が予め定められた所定以上の場合にはチェックの実施をサーバに依頼し、ファイルを送信する送信手段と、
前記サーバから送られてくる、サーバがチェックした際にサーバで使用したデータとチェック手段の情報をサーバから受け取る受信手段と、
を備えていることを特徴とする端末。
【請求項９】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行手段と、
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段と同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を受け取り格納する格納手段と、
前記ファイルを再度チェックする時に、前記格納手段に格納されているマッピング情報を参照し、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータを開発元が異なる別のデータとチェック手段が得られない場合にはチェックの実施をサーバに依頼し、ファイルを送信する送信手段と、
前記サーバから送られてくる、サーバがチェックした際にサーバで使用したデータとチェック手段の情報をサーバから受け取る受信手段と、
を備えていることを特徴とする端末。
【請求項１０】
請求項７ないし請求項９のいずれかに記載の端末において、
チェック対象となるファイルに、前回チェック時に使用したデータとチェック手段の情報が存在しない場合に、前記送信手段はチェックの実施をサーバに依頼する以来手段を備えることを特徴とする端末。
【請求項１１】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行手段と、
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納手段と、
前記ファイルを再度チェックする時に、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータよりも前記格納手段に格納されている最新のチェック手段とそのチェックに使用する最新のデータの方が新しいと判断した場合のみ、そのファイルについて最新のデータとチェック手段によりサーバがチェックしたものを前記サーバから獲得する獲得手段と、
を備えていることを特徴とする端末。
【請求項１２】
請求項１ないし請求項１１のいずれかに記載の端末において、
チェック実行手段は、
不正コードおよび不正データが含まれているか否かをチェックしたファイルと、そのファイルをチェックする際に使用したデータおよびチェック手段の情報とを別管理として格納する手段と、
ファイルと、該ファイルをチェックする際に使用したデータおよびチェック手段の情報とを関連付ける手段と、
を備えていることを特徴とする端末。
【請求項１３】
請求項１ないし請求項１２のいずれかに記載の端末において、
チェック手段の完全性を保証する保証情報を生成する保証情報生成手段と、
前記保証情報により前記チェック手段が完全性が保証されたものであるかを検証する検証手段と、
前記保証情報と、前記ファイルについて不正コードおよび不正データが含まれているか否かをチェックする際に使用したデータとチェック手段の情報とを関連付ける手段と、
を備えていることを特徴とする端末。
【請求項１４】
請求項１ないし請求項１３のいずれかに記載の端末において、
ファイルについて不正コードおよび不正データが含まれているか否かをチェックする際に使用したデータとチェック手段の情報を、そのファイルに添付する手段を備えていることを特徴とする端末。
【請求項１５】
請求項１３または請求項１４に記載の端末において、
ファイルについて不正コードおよび不正データが含まれているか否かをチェックする際に使用したデータとチェック手段の情報と、保証情報とをそのファイルに添付する手段を備えていることを特徴とする端末。
【請求項１６】
ファイルに含まれる不正コードおよび不正データをチェックするためのデータおよびチェック手段と、
前記データおよびチェック手段を登録する登録手段と、
確認されている不正コードおよび不正データのパターンすべてに対応するデータおよびチェック手段、ある数の不正コードおよび不正データのパターンを集めたデータおよびチェック手段、そして、最新のデータおよびチェック手段に追加されたパターンのみをもつデータおよびチェック手段といった複数のデータおよびチェック手段を管理する管理手段と、
前記データおよびチェック手段を配布する配布手段と、
を備えていることを特徴とするサーバ。
【請求項１７】
データおよびチェック手段を登録する登録手段と、
脆弱箇所を補強した度合いに応じた不正コードおよび不正データをチェックするためのチェックに使用するデータとチェック手段を管理する管理手段と、
不正コードおよび不正データをチェックするためのチェックに使用するデータおよびチェック手段の獲得を希望する端末の脆弱箇所を補強した情報を獲得する獲得手段と、
前記情報から脆弱箇所の補強の度合いを判断し、適切なデータおよびチェック手段を配布する配布手段と、
を備えていることを特徴とするサーバ。
【請求項１８】
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を管理する手段と、
前記マッピング情報を配布する配布手段と、
を備えていることを特徴とするサーバ。
【請求項１９】
ファイルについて不正コードおよび不正データをチェックするためのチェック実行手段と、
チェックに使用したデータとチェック手段の情報と、チェックを行ったファイルを一緒に配布する配布手段と、
を備えていることを特徴とするサーバ。
【請求項２０】
ファイルについて不正コードおよび不正データをチェックするためのチェック実行手段と、
チェックに使用したデータとチェック手段の情報と前記ファイルの完全性を保証するために署名する署名手段と、
署名付きでチェックに使用したデータとチェック手段の情報とそのファイルとを一緒に配布する配布手段と、
を備えていることを特徴とするサーバ。
【請求項２１】
端末からファイルを獲得する獲得手段と、
獲得したファイルに対して不正コードおよび不正データをチェックするチェック実行手段と、
前記チェック実行手段によるチェック結果である不正コードおよび不正データの有無と、その不正コードおよび不正データをチェックした際に使用したデータとチェック手段の情報とをファイルを獲得した端末に通知する通知手段と、
を備えていることを特徴とするサーバ。
【請求項２２】
端末からファイルを獲得する獲得手段と、
獲得したファイルに対して不正コードおよび不正データをチェックするチェック実行手段と、
前記チェック実行手段によるチェック結果である不正コードおよび不正データの有無と、その不正コードおよび不正データをチェックした際に使用したデータとチェック手段の情報を添付したファイルとをファイルを獲得した端末に通知する通知手段と、
を備えていることを特徴とするサーバ。
【請求項２３】
請求項２１または請求項２２記載のサーバにおいて、
獲得したファイルに対して不正コードおよび不正データをチェックした結果の完全性を保証するために署名する手段と、
を備えていることを特徴とするサーバ。
【請求項２４】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したチェック手段とデータとの情報を関連付けるチェック実行処理と、
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納処理と、
前記ファイルを再度チェックする時に、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータとの情報よりも、前記格納手段に格納されている最新のチェック手段とそのチェックに使用する最新のデータの方が新しいと判断した場合のみチェックの実施を決定する決定処理と、
をコンピュータに実行させるプログラム。
【請求項２５】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行処理と、
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納処理と、
前記ファイルを再度チェックする時に、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータと前記格納手段に格納されている最新のチェック手段とそのチェックに使用する最新のデータとの差分を調査する調査処理と、
前記調査処理による調査の結果、差分があるとされた場合に、その差分に応じて複数存在するデータとチェック手段の中から適切なデータとチェック手段を選択する選択処理と、
をコンピュータに実行させるプログラム。
【請求項２６】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行処理と、
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段と同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を受け取り格納する格納処理と、
前記ファイルを再度チェックする時に、前記格納手段に格納されているマッピング情報を参照し、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータを開発元が異なる別のデータとチェック手段に書き換える書き換え処理と、
をコンピュータに実行させるプログラム。
【請求項２７】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行処理と、
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段と同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を受け取り格納する格納処理と、
前記ファイルを再度チェックする時に、前記格納手段に格納されているマッピング情報を参照し、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータを開発元が異なる別のデータとチェック手段が得られない場合に、そのファイルに関連付けられている前回のデータとチェック手段情報を削除する削除処理と、
をコンピュータに実行させるプログラム。
【請求項２８】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行処理と、
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段と同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を受け取り格納する格納処理と、
前記ファイルを再度チェックする時に、前記格納処理にて格納されているマッピング情報を参照し、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータを開発元が異なる別のデータとチェック手段が得られない場合に、そのファイルを最新のチェック手段とそのチェックに使用する最新のデータを用いたチェックを実施することを決定する決定処理と、
をコンピュータに実行させるプログラム。
【請求項２９】
請求項２４ないし請求項２８のいずれかに記載のプログラムにおいて、
チェック対象となるファイルに、前回チェック時に使用したデータとチェック手段の情報が存在しなければ、チェックを実施することを決定するチェック決定処理をコンピュータに実行させるたプログラム。
【請求項３０】
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納処理と、
前回チェック時で使用したデータとチェック手段の情報が関連付けられたファイルのチェック時に、そのファイルに関連づけられている前回チェック時で使用したデータとチェック手段の情報と前記格納手段に格納されている最新のチェック手段とそのチェックに使用する最新のデータの方が新しいと判断する場合のみチェックの実施をサーバに依頼し、ファイルを送信する送信処理と、
前記サーバから送られてくる、サーバがチェックした際にサーバで使用したデータとチェック手段の情報をサーバから受け取る受信処理と、
をコンピュータに実行させるプログラム。
【請求項３１】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行処理と、
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納処理と、
前記ファイルを再度チェックする時に、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータと前記格納手段に格納されている最新のチェック手段とそのチェックに使用する最新のデータとの差分を調査する調査処理と、
前記調査処理による調査の結果、差分があるとされた場合に、その差分が予め定められた所定以上の場合にはチェックの実施をサーバに依頼し、ファイルを送信する送信処理と、
前記サーバから送られてくる、サーバがチェックした際にサーバで使用したデータとチェック手段の情報をサーバから受け取る受信処理と、
をコンピュータに実行させるプログラム。
【請求項３２】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行処理と、
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段と同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を受け取り格納する格納処理と、
前記ファイルを再度チェックする時に、前記格納処理にて格納されているマッピング情報を参照し、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータを開発元が異なる別のデータとチェック手段が得られない場合にはチェックの実施をサーバに依頼し、ファイルを送信する送信処理と、
前記サーバから送られてくる、サーバがチェックした際にサーバで使用したデータとチェック手段の情報をサーバから受け取る受信処理と、
をコンピュータに実行させるプログラム。
【請求項３３】
請求項３０ないし請求項３２のいずれかに記載のプログラムにおいて、
チェック対象となるファイルに、前回チェック時に使用したデータとチェック手段の情報が存在しない場合に、前記送信手段はチェックの実施をサーバに依頼する依頼処理をコンピュータに実行させることを特徴とするプログラム。
【請求項３４】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行処理と、
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納処理と、
前記ファイルを再度チェックする時に、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータよりも前記格納処理にて格納されている最新のチェック手段とそのチェックに使用する最新のデータの方が新しいと判断した場合のみ、そのファイルについて最新のデータとチェック手段によりサーバがチェックしたものを前記サーバから獲得する獲得処理と、
をコンピュータに実行させるプログラム。
【請求項３５】
請求項２４ないし請求項３４のいずれかに記載のプログラムにおいて、
チェック実行処理は、
不正コードおよび不正データが含まれているか否かをチェックしたファイルと、そのファイルをチェックする際に使用したデータおよびチェック手段の情報とを別管理として格納する処理と、
ファイルと、該ファイルをチェックする際に使用したデータおよびチェック手段の情報とを関連付ける処理と、
をコンピュータに実行させるプログラム。
【請求項３６】
請求項２４ないし請求項３５のいずれかに記載のプログラムにおいて、
チェック手段の完全性を保証する保証情報を生成する保証情報生成処理と、
前記保証情報により前記チェック手段が完全性が保証されたものであるかを検証する検証処理と、
前記保証情報と、前記ファイルについて不正コードおよび不正データが含まれているか否かをチェックする際に使用したデータとチェック手段の情報とを関連付ける処理と、
をコンピュータに実行させるプログラム。
【請求項３７】
請求項２４ないし請求項３６のいずれかに記載のプログラムにおいて、
ファイルについて不正コードおよび不正データが含まれているか否かをチェックする際に使用したデータとチェック手段の情報を、そのファイルに添付する処理をコンピュータに実行させるプログラム。
【請求項３８】
請求項３６または請求項３７のいずれかに記載のプログラムにおいて、
ファイルについて不正コードおよび不正データが含まれているか否かをチェックする際に使用したデータとチェック手段の情報と、保証情報とをそのファイルに添付する処理をコンピュータに実行させるプログラム。
【請求項３９】
ファイルに含まれる不正コードおよび不正データをチェックするためのデータおよびチェック手段を登録する登録処理と、
確認されている不正コードおよび不正データのパターンすべてに対応するデータおよびチェック手段、ある数の不正コードおよび不正データのパターンを集めたデータおよびチェック手段、そして、最新のデータおよびチェック手段に追加されたパターンのみをもつデータおよびチェック手段といった複数のデータおよびチェック手段を管理する管理処理と、
前記データおよびチェック手段を配布する配布処理と、
をコンピュータに実行させるプログラム。
【請求項４０】
データおよびチェック手段を登録する登録処理と、
脆弱箇所を補強した度合いに応じた不正コードおよび不正データをチェックするためのチェックに使用するデータとチェック手段を管理する管理処理と、
不正コードおよび不正データをチェックするためのチェックに使用するデータおよびチェック手段の獲得を希望する端末の脆弱箇所を補強した情報を獲得する獲得処理と、
前記情報から脆弱箇所の補強の度合いを判断し、適切なデータおよびチェック手段を配布する配布処理と、
をコンピュータに実行させるプログラム。
【請求項４１】
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を管理する処理と、
前記マッピング情報を配布する配布処理と、
をコンピュータに実行させるプログラム。
【請求項４２】
ファイルについて不正コードおよび不正データをチェックするためのチェック実行処理と、
チェックに使用したデータとチェック手段の情報と、チェックを行ったファイルを一緒に配布する配布処理と、
をコンピュータに実行させるプログラム。
【請求項４３】
ファイルについて不正コードおよび不正データをチェックするためのチェック実行処理と、
チェックに使用したデータとチェック手段の情報と前記ファイルの完全性を保証するために署名する署名処理と、
署名付きでチェックに使用したデータとチェック手段の情報とそのファイルとを一緒に配布する配布処理と、
をコンピュータに実行させるプログラム。
【請求項４４】
端末からファイルを獲得する獲得処理と、
獲得したファイルに対して不正コードおよび不正データをチェックするチェック実行処理と、
前記チェック実行手段によるチェック結果である不正コードおよび不正データの有無と、その不正コードおよび不正データをチェックした際に使用したデータとチェック手段の情報とをファイルを獲得した端末に通知する通知処理と、
をコンピュータに実行させるプログラム。
【請求項４５】
端末からファイルを獲得する獲得処理手段と、
獲得したファイルに対して不正コードおよび不正データをチェックするチェック実行処理と、
前記チェック実行手段によるチェック結果である不正コードおよび不正データの有無と、その不正コードおよび不正データをチェックした際に使用したデータとチェック手段の情報を添付したファイルとをファイルを獲得した端末に通知する通知処理と、
をコンピュータに実行させるプログラム。
【請求項４６】
請求項４４または請求項４５記載のサーバにおいて、
獲得したファイルに対して不正コードおよび不正データをチェックした結果の完全性を保証するために署名する処理をコンピュータに実行させるプログラム。
【請求項４７】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したチェック手段とデータとの情報を関連付けるチェック実行ステップと、
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納ステップと、
前記ファイルを再度チェックする時に、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータとの情報よりも、前記格納手段に格納されている最新のチェック手段とそのチェックに使用する最新のデータの方が新しいと判断した場合のみチェックの実施を決定する決定ステップと、
を備えることを特徴とする不正コードおよび不正データのチェック方法。
【請求項４８】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行ステップと、
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納ステップと、
前記ファイルを再度チェックする時に、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータと前記格納ステップにて格納されている最新のチェック手段とそのチェックに使用する最新のデータとの差分を調査する調査ステップと、
前記調査手段による調査の結果、差分があるとされた場合に、その差分に応じて複数存在するデータとチェック手段の中から適切なデータとチェック手段を選択する選択ステップと、
を備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項４９】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行ステップと、
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段と同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を受け取り格納する格納ステップと、
前記ファイルを再度チェックする時に、前記格納手段に格納されているマッピング情報を参照し、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータを開発元が異なる別のデータとチェック手段に書き換える書き換えステップと、
を備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項５０】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行ステップと、
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段と同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を受け取り格納する格納ステップと、
前記ファイルを再度チェックする時に、前記格納手段に格納されているマッピング情報を参照し、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータを開発元が異なる別のデータとチェック手段が得られない場合に、そのファイルに関連付けられている前回のデータとチェック手段情報を削除する削除ステップと、
を備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項５１】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行ステップと、
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段と同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を受け取り格納する格納ステップと、
前記ファイルを再度チェックする時に、前記格納ステップにて格納されているマッピング情報を参照し、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータを開発元が異なる別のデータとチェック手段が得られない場合に、そのファイルを最新のチェック手段とそのチェックに使用する最新のデータを用いたチェックを実施することを決定する決定ステップと、
を備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項５２】
請求項４７ないし請求項５１のいずれかに記載の不正コードおよび不正データのチェック方法において、
チェック対象となるファイルに、前回チェック時に使用したデータとチェック手段の情報が存在しなければ、チェックを実施することを決定するチェック決定ステップを備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項５３】
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納ステップと、
前回チェック時で使用したデータとチェック手段の情報が関連付けられたファイルのチェック時に、そのファイルに関連づけられている前回チェック時で使用したデータとチェック手段の情報と前記格納ステップにて格納されている最新のチェック手段とそのチェックに使用する最新のデータの方が新しいと判断する場合のみチェックの実施をサーバに依頼し、ファイルを送信する送信ステップと、
前記サーバから送られてくる、サーバがチェックした際にサーバで使用したデータとチェック手段の情報をサーバから受け取る受信ステップと、
を備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項５４】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行ステップと、
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納ステップと、
前記ファイルを再度チェックする時に、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータと前記格納ステップにて格納されている最新のチェック手段とそのチェックに使用する最新のデータとの差分を調査する調査ステップと、
前記調査ステップによる調査の結果、差分があるとされた場合に、その差分が予め定められた所定以上の場合にはチェックの実施をサーバに依頼し、ファイルを送信する送信ステップと、
前記サーバから送られてくる、サーバがチェックした際にサーバで使用したデータとチェック手段の情報をサーバから受け取る受信ステップと、
を備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項５５】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行ステップと、
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段と同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を受け取り格納する格納ステップと、
前記ファイルを再度チェックする時に、前記格納ステップにて格納されているマッピング情報を参照し、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータを開発元が異なる別のデータとチェック手段が得られない場合にはチェックの実施をサーバに依頼し、ファイルを送信する送信ステップと、
前記サーバから送られてくる、サーバがチェックした際にサーバで使用したデータとチェック手段の情報をサーバから受け取る受信ステップと、
を備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項５６】
請求項５３ないし請求項５５のいずれかに記載の不正コードおよび不正データのチェック方法において、
チェック対象となるファイルに、前回チェック時に使用したデータとチェック手段の情報が存在しない場合に、前記送信手段はチェックの実施をサーバに依頼するステップを備えることを特徴とする不正コードおよび不正データのチェック方法。
【請求項５７】
ファイル内の不正コードおよび不正データをチェックし、該ファイルにチェックに使用したデータとチェック手段の情報を関連付けるチェック実行ステップと、
最新のチェック手段とそのチェックに使用する最新のデータを獲得し格納する格納ステップと、
前記ファイルを再度チェックする時に、そのファイルに関連づけられている前回チェック時で使用されたチェック手段とデータよりも前記格納ステップにて格納されている最新のチェック手段とそのチェックに使用する最新のデータの方が新しいと判断した場合のみ、そのファイルについて最新のデータとチェック手段によりサーバがチェックしたものを前記サーバから獲得する獲得ステップと、
を備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項５８】
請求項４７ないし請求項５７のいずれかに記載の不正コードおよび不正データのチェック方法において、
チェック実行ステップは、
不正コードおよび不正データが含まれているか否かをチェックしたファイルと、そのファイルをチェックする際に使用したデータおよびチェック手段の情報とを別管理として格納するステップと、
ファイルと、該ファイルをチェックする際に使用したデータおよびチェック手段の情報とを関連付けるステップと、
を備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項５９】
請求項４７ないし請求項５８のいずれかに記載の不正コードおよび不正データのチェック方法において、
チェック手段の完全性を保証する保証情報を生成する保証情報生成ステップと、
前記保証情報により前記チェック手段が完全性が保証されたものであるかを検証する検証ステップと、
前記保証情報と、前記ファイルについて不正コードおよび不正データが含まれているか否かをチェックする際に使用したデータとチェック手段の情報とを関連付けるステップと、
を備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項６０】
請求項４７ないし請求項５９のいずれかに記載の不正コードおよび不正データのチェック方法において、
ファイルについて不正コードおよび不正データが含まれているか否かをチェックする際に使用したデータとチェック手段の情報を、そのファイルに添付するステップを備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項６１】
請求項５９または請求項６０に記載の不正コードおよび不正データのチェック方法において、
ファイルについて不正コードおよび不正データが含まれているか否かをチェックする際に使用したデータとチェック手段の情報と、保証情報とをそのファイルに添付するステップを備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項６２】
ファイルに含まれる不正コードおよび不正データをチェックするためのデータおよびチェック手段を登録する登録ステップと、
確認されている不正コードおよび不正データのパターンすべてに対応するデータおよびチェック手段、ある数の不正コードおよび不正データのパターンを集めたデータおよびチェック手段、そして、最新のデータおよびチェック手段に追加されたパターンのみをもつデータおよびチェック手段といった複数のデータおよびチェック手段を管理する管理ステップと、
前記データおよびチェック手段を配布する配布ステップと、
を備えていることを特徴とする不正コードおよび不正データをチェックするためのデータおよびチェック手段の配布方法。
【請求項６３】
データおよびチェック手段を登録する登録ステップと、
脆弱箇所を補強した度合いに応じた不正コードおよび不正データをチェックするためのチェックに使用するデータとチェック手段を管理する管理ステップと、
不正コードおよび不正データをチェックするためのチェックに使用するデータおよびチェック手段の獲得を希望する端末の脆弱箇所を補強した情報を獲得する獲得ステップと、
前記情報から脆弱箇所の補強の度合いを判断し、適切なデータおよびチェック手段を配布する配布ステップと、
を備えていることを特徴とする不正コードおよび不正データをチェックするためのデータおよびチェック手段の配布方法。
【請求項６４】
ファイル内の不正コードおよび不正データをチェックする場合に使用するデータおよびチェック手段と、該データおよびチェック手段同等なチェックが可能な開発元が異なる別のデータおよびチェック手段と、の関連付け情報を含むマッピング情報を管理するステップと、
前記マッピング情報を配布する配布ステップと、
を備えていることを特徴とするチェック手段の配布方法。
【請求項６５】
ファイルについて不正コードおよび不正データをチェックするためのチェック実行ステップと、
チェックに使用したデータとチェック手段の情報と、チェックを行ったファイルを一緒に配布する配布ステップと、
を備えていることを特徴とするファイル配布方法。
【請求項６６】
ファイルについて不正コードおよび不正データをチェックするためのチェック実行ステップと、
チェックに使用したデータとチェック手段の情報と前記ファイルの完全性を保証するために署名する署名ステップと、
署名付きでチェックに使用したデータとチェック手段の情報とそのファイルとを一緒に配布する配布ステップと、
を備えていることを特徴とするファイル配布方法。
【請求項６７】
端末からファイルを獲得する獲得ステップと、
獲得したファイルに対して不正コードおよび不正データをチェックするチェック実行ステップと、
前記チェック実行手段によるチェック結果である不正コードおよび不正データの有無と、その不正コードおよび不正データをチェックした際に使用したデータとチェック手段の情報とを依頼先の端末に通知する通知ステップと、
を備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項６８】
端末からファイルを獲得する獲得ステップと、
獲得したファイルに対して不正コードおよび不正データをチェックするチェック実行ステップと、
前記チェック実行手段によるチェック結果である不正コードおよび不正データの有無と、その不正コードおよび不正データをチェックした際に使用したデータとチェック手段の情報を添付したファイルをとを依頼先の端末に通知する通知ステップと、
を備えていることを特徴とする不正コードおよび不正データのチェック方法。
【請求項６９】
請求項６７または請求項６８記載の不正コードおよび不正データのチェック方法において、
端末から受け取ったファイルに対して不正コードおよび不正データをチェックした結果の完全性を保証するために署名するステップと、
を備えていることを特徴とする不正コードおよび不正データのチェック方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータウイルスなどの不正コードおよび不正データのチェックシステム、チェック方法およびチェック用プログラムに関し、特に、必要最低限の不正コードチェックのみを行うことで比較的非力なコンピュータ上でも高速にチェックを完了することができる不正コードおよび不正データのチェックシステム、チェック方法およびチェック用プログラムに関する。
【背景技術】
【０００２】
ＰＣなどに感染するコンピュータウイルスによる被害は増加しており、より身近な問題になってきている。これらコンピュータウイルスなどによる不正コードおよび不正データのチェックにはいくつかの方法が存在している。その１つとして、その不正コードまたは不正データのパターンを集めたウイルス定義ファイルと不正コードのチェック対象となる実行プログラムあるいはデータとパターンマッチングを行ってコンピュータウイルスを含んでいるか否かを判断する方法がある。
【０００３】
コンピュータウイルスの数と種類は増え続けているため、ウイルス定義ファイルはコンピュータウイルスのチェックのために絶え間ない更新と増強を必要としている。この増強に伴ってウイルス定義ファイル内のパターンデータが肥大化している。
【０００４】
このような状況の中、携帯電話のような比較的非力なコンピュータにもコンピュータウイルスが感染した例もあり、すべてのコンピュータでコンピュータウイルスに関してチェックすることが必要となっている。しかし、この肥大化したウイルス定義ファイルに含まれるすべてのコンピュータウイルスのパターンについてチェックすることは負荷が大きい。
【０００５】
従来の不正コードチェックシステムの一例が、特許文献１（特開２００２−３５１５６３号公報）に記載されている。
【０００６】
特許文献１に開示されるシステムは、外部から入力される信頼できないソフトウェアについては、評価結果により実行を制御する情報処理装置である。アプリケーションにデジタル証明書があれば信頼できると判断し、デジタル証明書がなかった場合、信頼できるかどうか安全度評価チェックを行っている。
【０００７】
従来の不正コードチェックシステムの他の例が、特許文献２（特開２００３−２５６２２９号公報）に記載されている。
【０００８】
特許文献２に開示されるシステムでは、コンピュータウイルスの検出を効率よく行うため、データ送信部と検出結果受信部、ウイルス管理情報格納部とを備えている。データ送信部はウイルス検出装置にデータを送信する。
【０００９】
検出結果受信部はデータ送信部によって送信されたデータについてコンピュータウイルスが含まれるか否かの検出結果をウイルス管理情報として受信する。
【００１０】
ウイルス管理情報格納部は、上記データと該当データに関するウイルス管理情報とを関連付けて格納している。つまり、コンピュータウイルスチェック対象であるファイルとチェック結果とは別管理されている。チェック結果はコンピュータウイルスの有無を管理している。
【００１１】
従来の不正コードチェックシステムの他の例が、特許文献３（特表２００１−５１５６２５号公報）に記載されている。
【００１２】
特許文献３に開示されるシステムでは、ウイルス検出オブジェクトをクライアントで実行し、その結果をウイルス検出サーバに送り、サーバはその結果を受けて第１のウイルス検出オブジェクトの実行結果に基づき追加のウイルス検出オブジェクトを生成する。そしてそのオブジェクトをクライアントに送り、再び実行させる。これを反復的に進めることで、クライアントはウイルスチェックに必要な情報だけに限るように適合させる。
【００１３】
つまり、その情報をクライアント提示条件（例えばプラットフォームまたはファイルの種類）に基づきクライアントに常駐しているかもしれないコンピュータウイルスの種類に限ったウイルス検出オブジェクトの生成が行われる。ウイルス検出に必要な情報の総量、クライアントが受け取るべき情報の量を削減できる。
【００１４】
従来の不正コードチェックシステムの他の例が、特許文献４（特開２００３−１９６１１号公報）に記載されている。
【００１５】
特許文献４に開示されるシステムでは、ファイルに対するウイルスチェックの際、ウイルスチェック結果ファイル及び前記ファイルを用いてウイルスチェック署名を作成し、以降、当該ファイルを使用するコンピュータシステムに対し、ウイルスチェックの結果及び前記ウイルスチェック以降のファイルの更新有無を検知せしめることにより、本ファイルに対するウイルスチェック方法を判断する為の方法を提供している。
【００１６】
さらに、パターンファイルの版の構成を、直前の版のパターンファイルとの差分情報を新しい版のパターンファイルとして各コンピュータシステムが保有することにより、ファイルに対するウイルスチェック実施の際、過去に使用したパターンファイルの版は用いず、直近のウイルスチェック実施以降作成された新しいパターンファイルの版のみを用いてウイルスチェックを行う方法を提供することである。
【特許文献１】特開２００２−３５１５６３号公報
【特許文献２】特開２００３−２５６２２９号公報
【特許文献３】特表２００１−５１５６２５号公報
【特許文献４】特開２００３−１９６１１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
特許文献１に開示される技術の問題点は、ウイルスチェックなど安全度評価チェックが冗長な処理となっていることである。その理由は、安全度評価チェックをアプリケーションが起動するごとに同じチェックを実施しているからである。つまり、ウイルスチェックなどの安全度評価チェックを行ってアプリケーションを起動および終了させた後、さらに同じアプリケーションを起動させる場合、同じ安全度評価チェックを行っている。これは、評価チェックに伴う負荷が軽減されておらず、冗長な処理となっている。
【００１８】
特許文献２に開示される技術の問題点は、コンピュータウイルスを混入するような改竄を実施されたファイルを使用する場合が考えられることである。その理由は、ウイルスチェックを行って、次のウイルスチェックを行う前に対象となるファイルが改竄され、その改竄されたファイルを利用者が使用することが考えられるからである。
【００１９】
別の問題点として、最新ウイルス定義ファイルが同一コンピュータ内に存在していても、そのウイルス定義ファイルを使用したウイルスチェックを行っていないファイルを使用することが考えられることである。その理由は、ウイルス定義ファイルのバージョンアップ時にすべての対象となるファイルについてウイルス検出を行っていないからである。
【００２０】
他の問題点として、次回ウイルスチェックを行う場合、最新バージョンのウイルス定義ファイルおよび最新のウイルス検出部を使用したのかが判断できないことが挙げられる。その理由は、ウイルスチェックの結果にはウイルスチェック時に使用したウイルス定義ファイル、ウイルス検出部のバージョン情報がないためである。
【００２１】
さらに他の問題点として、ウイルスチェック済のファイルを他のコンピュータにコピーあるいは移動した場合、再度、ウイルスチェックを行っていることが挙げられる。その理由は、対象ファイルにウイルスチェックした時のウイルスチェックエンジンおよびウイルス定義ファイルのバージョンの情報がないからである。
【００２２】
特許文献３に開示される技術の問題点は、すべてのクライアント上のアプリケーションが対象としてスキャンされることである。一度にスキャンするとＣＰＵ負荷がかかる。一度スキャンされて、次にスキャンされるまでに改竄される可能性があることを考えるとウイルス検出には、すべてのバージョンの定義ファイルを適用しなければならないと考えられる。スキャンに負荷がかかる。
【００２３】
特許文献４に開示される技術の問題点は、最新バージョンのウイルスチェックが不可能な場合が考えられることである。その理由は、チェック時に対象となるファイルに関連付けられたパターンファイルのバージョンとそのチェックを実施するパターンファイルバージョンを比べることでウイルスチェックが必要であるか不要であるかの判断を行っているためであり、ウイルスチェックプログラムのバグによりあるパターンはパターンマッチングしない場合も存在しうる。
【００２４】
また、パターンの単純な比較では検知できず、コンピュータウイルスも存在するかもしれない。他の問題として、ウイルスチェック対象のファイルとチェック結果をそのファイルと同じディレクトリに格納することで管理しているため、単純なファイルのコピーあるいは移動はできない。
【００２５】
本発明は上述したような従来の技術が有する問題点に鑑みてなされたものであって、コンピュータウイルスなどの不正コードおよび不正データのチェックに伴う冗長な処理を省き、必要最低限のチェックのみを実施することでチェックに関係する負荷を軽減することができる不正コードおよび不正データのチェックシステムを提供することを目的とする。
【課題を解決するための手段】
【００２６】
本発明の不正コードチェックシステムは、特許請求の範囲に記載されたとおりのものである。より具体的には、ウイルスチェック手段とウイルス定義ファイルのバージョンアップを知らせること、確認されているコンピュータウイルスのパターンすべてを持つウイルス定義ファイル、ある数のコンピュータウイルスのパターンを集めたウイルス定義ファイル、そして、最新のウイルス定義ファイルに追加されたパターンのみをもつウイルス定義ファイルといったようにコンピュータウイルスのパターンの数の違いによるウイルス定義ファイルを複数管理し、それらを配布することが可能な動作をするアップデート管理サーバと、
最新のウイルスチェック手段とウイルス定義ファイルをアップデート管理サーバから獲得し、それによりチェックされたことを示すウイルスチェック情報を伴ったアプリケーションの配布を可能とする動作をするアプリ管理サーバと、
最新のウイルスチェック手段とウイルス定義ファイルをアップデート管理サーバから獲得し、アプリ管理サーバから獲得したウイルスチェック情報を伴ったアプリケーションをウイルスチェックする際に、アプリケーションがすでにウイルスチェックされたことのあるウイルスチェック手段およびウイルス定義ファイルのバージョンと、最新のウイルスチェック手段とウイルス定義ファイルとのバージョンをくらべ、ウイルスチェックが必要か不要かを判断し、必要であれば、ウイルスチェックに必要なコンピュータウイルスのパターンの数の違いによる複数のウイルス定義ファイルから適切なウイルス定義ファイルを選択し、ウイルスチェックを実施することを可能とし、そのウイルスチェックに使用したウイルスチェック手段とウイルス定義ファイルのバージョンを示すウイルスチェック情報をそのアプリケーションに関連付けする動作を行い、定期的にすべてのファイルについてあるいはアプリケーション実行時にそのアプリケーションについてウイルスチェックすることを可能とするユーザ端末により構成される。
【００２７】
上記のような構成を採用し、ウイルスチェックに伴う負荷が軽減され、さらに、ウイルスチェックを行っていないファイルを実行するといったことが発生せず、ウイルスチェックしたファイルを他のコンピュータに移動、コピーしても冗長なウイルスチェック処理が不要となり、本発明の目的を達成することができる。
【発明の効果】
【００２８】
第１の効果は、アプリ管理サーバから獲得したアプリケーションは、ユーザ端末では安心して実行できることにある。
【００２９】
その理由は、アプリ管理サーバで最新バージョンのウイルスチェック手段とウイルス定義ファイルによるウイルスチェックを実施し、そのときのウイルスチェック手段とウイルス定義ファイルのバージョンをアプリケーションとなるファイルと一緒に配布し、そのファイルをユーザ端末上で実行する場合、そのファイルがウイルスチェックされているかといったことを確認したうえで、実行される構成としているためである。
【００３０】
第２の効果として、ファイルにはウイルスチェックした時に使用したウイルス定義ファイルのバージョンのみでなくウイルスチェック手段のバージョンも関連付けられていることにより、最新のウイルスチェック手段を使用したウイルスチェックが実施されているか判断可能である。これにより、ウイルス定義ファイルのバージョンアップだけでは検知不可能で、最新のウイルスチェック手段を使用することで検知可能なウイルスにも対応可能となる。
【００３１】
第３の効果は、ユーザ端末上でのウイルスチェックの負荷を軽減しながらセキュリティを確保できることにある。
【００３２】
その理由は、ユーザ端末上では、ウイルスチェックをすべてのコンピュータウイルスに対応したウイルス定義ファイルを使用しなくても、ウイルス定義ファイルをバージョンアップした際に盛り込まれたウイルスパターンのみをもつ差分ウイルス定義ファイル、または最新のみウイルス定義ファイルといった、ウイルスチェックに必要なコンピュータウイルスのパターンの数の違いによるウイルス定義ファイルを複数もち、どのウイルス定義ファイルを使用したウイルスチェックが最適かを決定する仕組みを持っているからである。
【００３３】
また、別の理由は、ユーザ端末の搭載しているＯＳなどのセキュリティパッチの適用により脆弱性をなくした端末に特化した最低限チェックすべきコンピュータウイルスのパターンをウイルス定義ファイルを用意し、そのウイルス定義ファイルを用いたウイルスチェックを実施しているからである。この結果、ユーザ端末上でウイルスチェックの負荷を軽減できる。
【００３４】
また、別の理由は、ユーザ端末上でのウイルスチェックに必要なコンピュータウイルスのパターンの数の違いによるウイルス定義ファイルを複数もち、どのウイルス定義ファイルを利用するのが最適かを決定する仕組みをもち、さらに、大量のパターンを含むウイルス定義ファイルを用いたチェックが必要と判断した場合は、ウイルスチェックが可能なサーバにウイルスチェックを依頼することが可能であるからである。
【００３５】
第４の効果は、ユーザ端末上でウイルスチェックしたアプリケーションは他のユーザ端末上にコピーあるいは移動してもウイルスチェックがされていることがわかることにある。
【００３６】
その理由は、アプリ管理サーバから配布されたアプリケーションとなるファイルをユーザ端末内で最新バージョンのウイルスチェック手段とウイルス定義ファイルを利用して、あるいはそのどちらかの最新バージョンを利用した際に、そのウイルスチェックしたファイルにウイルスチェック情報を含めてデジタル署名を行っているからである。そのデジタル署名で使用する秘密鍵は、グループで共有しているものを利用可能としているため、ユーザ端末がデジタル署名したファイルをそのユーザ端末が所属するグループの他のユーザ端末にコピーまたは移動した場合、他のユーザ端末上で全てのコンピュータウイルスに対するウイルスチェックを実施する必要がないからである。
【００３７】
第５の効果は、あるウイルスチェック手段によるウイルスチェック済みファイルについて、開発元が異なる別のウイルスチェック手段でウイルスチェックしなければいけない場合でも、すべてのコンピュータウイルスに対してウイルスチェックをしなくても同様な効果が期待できることにある。
【００３８】
その理由は、開発元が異なっていても同等な効果が期待できるマッピング情報により、同じ効果を得るウイルスチェック手段およびウイルス定義ファイルのバージョンを特定できるからである。
【発明を実施するための最良の形態】
【００３９】
（本発明の第１の実施形態）
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００４０】
図１を参照すると、本発明の第１の実施の形態は、アップデート管理サーバ１、アプリ管理サーバ２、そして、ユーザ端末３から構成されている。
【００４１】
図２に示すアップデート管理サーバ１は、ウイルスチェック時に使用するコンピュータウイルスとなる不正コードおよび不正データのパターンを含むウイルス定義ファイルを管理するサーバであり、図２に示されるように、CPU１０１、メモリ１０２、外部メモリ１０３、出力装置１０４、通信装置１０５、入力装置１０６、アップデータ登録手段１０７、アップデータ生成手段１０８、そして、アップデート通信手段１０９から構成されている。
【００４２】
ＣＰＵ１０１は、各手段やプログラムの実行を制御および計算処理を行う。
【００４３】
メモリ１０２は、ROM、RAM、HDDのような読書き可能な、場合によっては読込みのみ可能な記憶装置である。また、このメモリ１０２は耐タンパー性を持つ場合もありえる。
【００４４】
外部メモリ１０３は、脱着可能な読書き可能な記憶装置である。アプリケーションプログラム、ライブラリ、ユーザデータ、およびデバイスドライバなどの実行コードやデータなどを記憶させることが可能である。
【００４５】
これらのメモリ１０２、外部メモリ１０３は、各手段やプログラムの実行時には使用されるデータを読書きする場合の一時的な記憶領域である。また、実行コードそのものを一時的に記憶する記憶領域でもある。
【００４６】
出力装置１０４は、処理結果のディスプレイ表示と音声などを出力する。
【００４７】
通信装置１０５は、外部の装置や端末と通信を可能にする。
【００４８】
入力装置１０６は、新たな処理の実行を依頼するためのキー（ボタン）、音声などを取り込み各手段に渡す。
【００４９】
アップデータ登録手段１０７は、ウイルスチェック手段がバージョンアップされた場合、アップデート管理サーバ１への登録処理を行う。また、ウイルス定義ファイルがバージョンアップされた場合も、アップデート管理サーバ１への登録処理を行う。
【００５０】
アップデータ生成手段１０８は、アップデータ登録手段１０７により登録されたウイルスチェック手段またはウイルス定義ファイルをメモリ１０２に記憶する。また、新しいウイルス定義ファイルの内容と古いウイルス定義ファイルの内容からメモリ１０２に新しいウイルス定義ファイルをそのまま記憶させるか、ウイルス定義ファイル内の必要なパターンデータ、差分のあるパターンデータのみを抽出して記憶させるか、あるいはその両方かを行う。
【００５１】
アップデート通知手段１０９は、アップデータ生成手段１０８により最新のウイルスチェック手段あるいはウイルス定義ファイルがメモリ１０２に記憶された場合、バージョンアップした旨をアプリ管理サーバ２とユーザ端末３に通知し、それらを送信する。
【００５２】
図３に示すアプリ管理サーバ２は、ユーザ端末３上で動作するアプリケーションを管理しており、ユーザ端末３の要求に従ってそのアプリケーションを配布するサーバである。図３に示されるように、CPU２０１、メモリ２０２、外部メモリ２０３、出力装置２０４、通信装置２０５、入力装置２０６、アプリ登録手段２０７、アプリ配布手段２０８、ウイルスチェック手段２０９、パッケージ作成手段２１０、署名手段２１１、アップデート受信手段２１２、アップデート更新手段２１３、ウイルスチェック管理手段２１４から構成されている。
【００５３】
ＣＰＵ２０１は、各手段やプログラムの実行を制御および計算処理を行う。
【００５４】
メモリ２０２は、ROM、RAM、HDDのような読書き可能な、場合によっては読込みのみ可能な記憶装置である。また、このメモリ２０２は耐タンパー性を持つ場合もありえる。
【００５５】
外部メモリ２０３は、脱着可能な読書き可能な記憶装置である。アプリケーションプログラム、ライブラリ、ユーザデータ、およびデバイスドライバなどの実行コードやデータなどを記憶させることが可能である。
【００５６】
これらのメモリ２０２、外部メモリ２０３は、各手段やプログラムの実行時には使用されるデータを読書きする場合の一時的な記憶領域である。また、実行コードそのものを一時的に記憶する記憶領域でもある。
【００５７】
出力装置２０４は、処理結果のディスプレイ表示と音声などを出力する。
【００５８】
通信装置２０５は、外部の装置や端末と通信を可能にする。
【００５９】
入力装置２０６は、新たな処理の実行を依頼するためのキー（ボタン）、音声などを取り込み各手段に渡す。
【００６０】
アプリ登録手段２０７は、ユーザ端末３で動作するアプリケーションをアプリ管理サーバ２に登録する。
【００６１】
アプリ配布手段２０８は、ユーザ端末３からの要求に従ってアプリケーションをユーザ端末３に送り出す。
【００６２】
ウイルスチェック手段２０９は、登録されたアプリケーションにコンピュータウイルスが存在しているか否かをチェックする。
【００６３】
パッケージ作成手段２１０は、１つのアプリケーション、あるいは、複数のアプリケーションで１つのサービスが実現される場合、そのサービスに関連する複数のアプリケーションを含んだパッケージを作成する。このとき、ウイルスチェック手段２０９で使用した、少なくともウイルスチェック手段の開発元とバージョン情報、ウイルス定義ファイルのバージョン情報などのウイルスチェック情報をパッケージに添付する。
【００６４】
署名手段２１１は、ウイルスチェック情報が添付されたパッケージにデジタル署名する。また、デジタル署名はデジタル証明書として添付される場合もある。署名手段２１１で生成されたデジタル署名付きのパッケージの構成を図５に示す。なお、図５に示される複数アプリケーション、ウイルスチェック情報、デジタル署名あるいはデジタル証明書の配置される順番は異なっていてもよい。なお、アプリケーションは、実行ファイル、データファイル、ライブラリ、デバイスドライバのいずれかである。
【００６５】
アップデート受信手段２１２は、アップデート管理サーバ１からウイルスチェック手段２０９のバージョンよりも新しいバージョンのものを受け取る。また、アップデート管理サーバ１からウイルス定義ファイルの最新版、あるいは今まで使用していたウイルス定義ファイルとの差分データをウイルス定義ファイルとして受け取り、アップデート更新手段２１３に渡す。
【００６６】
アップデート更新手段２１３は、アップデート受信手段２１２が受け取ったウイルスチェック手段２０９およびウイルス定義ファイルをメモリ２０２に格納する。
【００６７】
ウイルスチェック管理手段２１４は、ウイルスチェック実施を管理する。アプリケーションが登録された場合、そのアプリケーションのみに対してウイルスチェックを行い、ウイルスチェック手段がバージョンアップした、あるいはウイルス定義ファイルがバージョンアップした場合、登録されたすべてのアプリケーションに対してウイルスチェックを実施する。
【００６８】
図４に示すユーザ端末３は、アプリ管理サーバ２が管理していたアプリケーション、あるいはそれ以外の場所から獲得したアプリケーションを動作させる端末であり、図４に示されるように、CPU３０１、メモリ３０２、外部メモリ３０３、出力装置３０４、通信装置３０５、入力装置３０６、アプリ獲得手段３０７、署名検証手段３０８、パッケージ展開手段３０９、署名手段３１０、チェック情報登録手段３１１、チェック情報検索手段３１２、ウイルスチェック手段３１３、定義ファイル選択手段３１４、アップデート更新手段３１５、ウイルスチェック管理手段３１６そしてアプリ実行手段３１７から構成されている。
【００６９】
ＣＰＵ３０１は、各手段やプログラムの実行を制御および計算処理を行う。
【００７０】
メモリ３０２は、ROM、RAM、HDDのような読書き可能な、場合によっては読込みのみ可能な記憶装置である。また、このメモリは３０２耐タンパー性を持つ場合もありえる。
【００７１】
外部メモリ３０３は、脱着可能な読書き可能な記憶装置である。アプリケーションプログラム、ライブラリ、ユーザデータ、およびデバイスドライバなどの実行コードやデータなどを記憶させることが可能である。
【００７２】
これらのメモリ３０２、外部メモリ３０３は、各手段やプログラムの実行時には使用されるデータを読書きする場合の一時的な記憶領域である。また、実行コードそのものを一時的に記憶する記憶領域でもある。
【００７３】
出力装置３０４は、処理結果のディスプレイ表示と音声などを出力する。
【００７４】
通信装置３０５は、外部の装置や端末と通信を可能にする。
【００７５】
入力装置３０６は、新たな処理の実行を依頼するためのキー（ボタン）、音声などを取り込み各手段に渡す。
【００７６】
アプリ獲得手段３０７は、アプリ管理サーバ２からデジタル署名あるいはデジタル証明書付きのパッケージを獲得し、署名検証手段３０９に渡す。
【００７７】
パッケージ展開手段３０８は、パッケージの中から複数あるいは１つのアプリケーションを取り出し、署名手段３１０に渡す。また、パッケージに添付されているウイルスチェック情報は、チェック情報登録手段３１１に渡す。
【００７８】
署名検証手段３０９は、メモリ３０２に格納されているアプリケーションとそのアプリケーションに関連付けられたデジタル署名をチェック情報検索手段３０７から受け取り検証を行う。
【００７９】
署名手段３１０は、パッケージ展開手段３０８から渡されたアプリケーション、およびユーザ端末３のウイルスチェック手段３１３によってウイルスチェックされたアプリケーションに対してデジタル署名を行い、そのアプリケーションのデジタル署名をチェック情報登録手段３１１に渡す。
【００８０】
チェック情報登録手段３１１は、メモリ３０２に格納されたアプリケーションに関連するウイルスチェック情報およびデジタル署名を図６に示すような、ファイル識別情報、ウイルスチェック手段の開発元、ウイルスチェック手段のバージョン、ウイルス定義ファイルバージョン、ハッシュ値からなるテーブルに登録する。
【００８１】
チェック情報検索手段３１２は、ウイルスチェック手段３１３がメモリ３０２に格納されているアプリケーションについてウイルスチェックする場合、ウイルスチェックすべきかどうかを判断する情報となる、そのアプリケーションのウイルスチェック情報とデジタル署名とを検索する。
【００８２】
ウイルスチェック手段３１３は、メモリ３０２に格納されているアプリケーションについて、ウイルス定義ファイルを利用したウイルスチェックを行う。
【００８３】
定義ファイル選択手段３１４は、ウイルスチェック手段３１３がウイルスチェック時に使用するウイルス定義ファイルを選び出す。
【００８４】
アップデート更新手段３１５は、受け取ったウイルスチェック手段およびウイルス定義ファイルをメモリ３０２に格納する。このとき、メモリ３０２に古いウイルスチェック手段または古いウイルス定義ファイルがあり、それらが不要であれば削除する。また、最新のウイルスチェック手段のバージョンおよび最新のウイルス定義ファイルのバージョンは、ウイルスチェック管理手段３１６に通知する。
【００８５】
ウイルスチェック管理手段３１６は、ウイルスチェックを実施するタイミングと、最新のウイルスチェック手段のバージョンおよび最新のウイルス定義ファイルのバージョンを管理している。また、ウイルスチェックを実施するタイミングでウイルスチェック対象となるアプリケーションをウイルスチェック手段３１３に通知し、ウイルスチェックを実施する。
【００８６】
アプリ実行手段３１７は、メモリ３０２に格納されているアプリ一覧を表示し、利用者が選んだアプリを実行させる。
【００８７】
次に、本実施の形態の動作について詳細に説明する。この動作には、アップデート管理サーバ１、アプリ管理サーバ２、およびユーザ端末３の動作に分けて説明する。
【００８８】
最初にアップデート管理サーバ１の動作のうちのウイルスチェック手段のバージョンアップについて図２および図７のフローチャートを参照して説明する。
【００８９】
まず、ウイルスチェック手段の開発元でウイルスチェック手段をバージョンアップした場合、バージョンアップしたウイルスチェック手段を外部のサーバから通信装置１０５を使用して、あるいは外部メモリ１０３に格納された状態でアップデート管理サーバ１のアップデータ登録手段１０７が、バージョンアップしたウイルスチェック手段を獲得する（ステップＡ１）。
【００９０】
獲得したウイルスチェック手段のバージョンをアップデータ登録手段１０７が調べ、メモリ１０２に以前格納したウイルスチェック手段よりも新しいものであるか確認する（ステップＡ２）。
【００９１】
もし、メモリ１０２に以前格納したウイルスチェック手段と同じである場合、あるいは、新しくない場合、アップデータ登録手段１０７は獲得したウイルスチェック手段を削除して終了する（ステップＡ３）。
【００９２】
もし、新しい場合、アップデータ登録手段１０７は、獲得したウイルスチェック手段をアップデータ生成手段１０８に渡し、メモリ１０２に格納する。このとき、メモリ１０２に存在する古いウイルスチェック手段は削除する（ステップＡ４）。
【００９３】
次に、アップデート管理サーバ１の動作のうちのウイルス定義ファイルのバージョンアップについて図２および図８のフローチャートを参照して説明する。
【００９４】
ウイルス定義ファイルの開発元でウイルス定義ファイルをバージョンアップした場合、バージョンアップしたウイルス定義ファイルを外部のサーバから通信装置１０５を使用して、あるいは外部メモリ１０３に格納された状態でアップデート管理サーバ１のアップデータ登録手段１０７が、バージョンアップしたウイルス定義ファイルを獲得する。ここで獲得されるウイルス定義ファイルは、最新のパターンデータから今まで確認されているコンピュータウイルスに対応したパターンデータをすべて含んでいるもの、前バージョンからの差分のデータのみを含んでいるもの、または、最新バージョンから以前のあるバージョンまでのいくつかのバージョンを含んでいるもののいずれか１つまたは２つあるいはすべてを獲得する可能性がある（ステップＢ１）。
【００９５】
獲得したウイルス定義ファイルのバージョンをアップデータ登録手段１０７が調べ、メモリ１０２に以前格納したウイルス定義ファイルよりも新しいものであるか確認する（ステップＢ２）。
【００９６】
もし、同じあるいは新しくない場合、アップデータ登録手段１０７は獲得したウイルス定義ファイルを削除して終了する（ステップＢ３）。
【００９７】
もし、新しい場合、アップデータ登録手段１０７は、獲得したウイルス定義ファイルをアップデータ生成手段１０８に渡し、全コンピュータウイルス対応のウイルス定義ファイルなのか、前バージョンからの差分のパターンデータのみを含んでいるものなのか、または、最新バージョンから古いあるバージョンまでのいくつかのバージョンを含んでいるもののいずれか１つまたは２つあるいはすべてなのか確認し、アップデート管理サーバ１内で新たにウイルス定義ファイルを生成する必要があるか否かを判断する。この判断は、登録時にそれぞれを識別する情報を添付する場合もある。また、そのような情報がない場合、例えば、獲得したウイルス定義ファイルが全コンピュータウイルス対応のものであれば、メモリ１０２に格納されている古いバージョンとの差分により、バージョンの違いによるパターンデータの差分のみのウイルス定義ファイルを生成する必要があると判断する。または、獲得したウイルス定義ファイルが、前バージョンからの差分のみ含むウイルス定義ファイルであれば、メモリ１０２に格納されている古いバージョンのパターンファイルを加えた全コンピュータウイルス対応のウイルス定義ファイルを作成する必要があると判断する。もし、ウイルス定義ファイルの作成が必要ないと判断された場合、つまり、獲得したウイルス定義ファイルは、全コンピュータウイルス入りのもの、前バージョンからの差分のパターンデータのみを含むもの、そして、最新バージョンから古いあるバージョンまでのいくつかのバージョンを含んでいるものがすべて揃っていると判断された場合、ステップＢ７にすすむ。それ以外はステップＢ５にすすむ（ステップＢ４）。
【００９８】
ステップＢ４において、ウイルス定義ファイルを生成する必要があれば、アップデータ生成手段１０８は、アップデータ登録手段１０７が獲得したウイルス定義ファイルとメモリ１０２に格納されている古いウイルス定義ファイルから、獲得したウイルス定義ファイルは、全コンピュータウイルス入りのもの、前バージョンからの差分のパターンデータのみを含むもの、そして、最新バージョンからある古いバージョンまでのいくつかのバージョンを含んでいるものを生成する（ステップＢ５）。
【００９９】
ステップＢ５のウイルス定義ファイル生成においてエラーが発生した場合、ステップＢ３にすすむ。エラーが発生しなければ、ステップＢ７にすすむ（ステップＢ６）。
【０１００】
最後にメモリ１０２にある古いウイルス定義ファイルをすべて削除し、獲得あるいは生成したウイルス定義ファイルをメモリ１０２に格納する（ステップＢ７）。
【０１０１】
ステップＢ１〜７までの間に３種類のウイルス定義ファイルを記述した。これら３種類を下記の（Ａ）〜（Ｃ）のように特に全ウイルス定義ファイル、差分ウイルス定義ファイル、および最新のみウイルス定義ファイルと定義する。
【０１０２】
なお、以降の説明で単にウイルス定義ファイルと記述されている場合、ここで定義する３つのファイルのいずれかあるいはすべてのファイルを含んでいるものとする。また、これら（Ａ）〜（Ｃ）のそれぞれのバージョンは全ウイルス定義ファイルのバージョンと同じとする。つまり、全ウイルス定義ファイルのバージョンが１０００であれば、差分ウイルス定義ファイルおよび最新のみウイルス定義ファイルも１０００とする。
（Ａ）全ウイルス定義ファイル
今まで確認されているすべてのコンピュータウイルスのパターン定義がされたウイルス定義ファイル
（Ｂ）差分ウイルス定義ファイル
最新の全ウイルス定義ファイルといくつか古いバージョンの全ウイルス定義ファイルの差分のみを含むウイルス定義ファイル
（Ｃ）最新のみウイルス定義ファイル
最新の全ウイルス定義ファイルとその１つ前のバージョンの全ウイルス定義ファイルの差分のみ含むウイルス定義ファイル
アップデート管理サーバ１にアプリ管理サーバ２またはユーザ端末３の宛先アドレスがアップデート通知手段１０９に登録されていれば、ウイルスチェック手段あるいはウイルス定義ファイルがバージョンアップした場合、アップデート管理サーバ１のアップデート通知手段１０９は、その登録されているアドレス宛てにバージョンアップした旨を通知する。この場合の通知情報としては、バージョン情報がある。
【０１０３】
また、アプリ管理サーバ２あるいはユーザ端末３から最新バージョン情報の問合せをアップデート通知手段１０９が受信した場合は、ウイルスチェック手段とウイルス定義ファイルの最新のバージョン情報を問合せ元に送信する。
【０１０４】
また、アプリ管理サーバ２あるいはユーザ端末３からウイルスチェック手段、あるいはウイルス定義ファイルの送付依頼をアップデート通知手段１０９が受信した場合、指定されているバージョンのウイルスチェック手段、あるいはウイルス定義ファイルを依頼元に送信する。
【０１０５】
また、アップデート管理サーバ１に外部メモリ１０３を装着し、最新のウイルスチェック手段、あるいはウイルス定義ファイルを外部メモリ１０３にコピーして、その外部メモリ１０３をアプリ管理サーバ２およびユーザ端末３に配布することも可能である。
【０１０６】
次に、図３及び図９を参照して、アプリ管理サーバ２のアプリケーションの登録について説明する。
【０１０７】
アプリケーション作成者がアプリケーションをアプリ管理サーバ２に登録する場合、そのアプリケーションを外部のサーバから通信装置２０５を使用して、あるいは外部メモリ２０３に格納された状態でアプリ管理サーバ２のアプリ登録手段２０７が、登録希望のアプリケーションを受付け、メモリ２０２に格納する。このとき、１つのサービスを実現するために複数のアプリケーションが必要となる場合は、メモリ２０２にそのサービス専用のフォルダ等を作成し、そのフォルダーに１つのサービスを実現するために複数のアプリケーションを格納する。アプリケーションが追加されたことをウイルスチェック管理手段２１４に通知する（ステップＣ１）。
【０１０８】
ウイルスチェック管理手段２１４は、ウイルスチェックの依頼をウイルスチェック手段２０９に依頼する。ウイルスチェック手段２０９はメモリ２０２に格納されているウイルス定義ファイルを利用してウイルスチェックを実施する（ステップＣ２）。
【０１０９】
次に、ウイルスチェック済みのアプリケーションをパッケージ作成手段２１０に渡してパッケージを作成する。パッケージ内に格納されるアプリケーションの数は、１つでもよいし、複数でもよい。ステップＣ１でメモリ２０２にあるサービス専用のフォルダを作成したが、そのフォルダ内に存在するアプリケーションが、１つのパッケージ内に格納されるファイルの対象となる。パッケージ作成が終了すると、パッケージ作成手段２１０はさらにそのパッケージにウイルスチェックで使用されたウイルスチェック手段２０９の開発元、バージョン情報、およびウイルス定義ファイルのバージョンを含む情報をウイルスチェック情報を添付する（ステップＣ３）。
【０１１０】
最後に、作成されたウイルスチェック情報が添付されたパッケージはデジタル署名あるいはデジタル証明書が添付される。デジタル署名を添付することで、ネットワークでの配信途上等におけるアプリケーションファイルの改竄を検出することが可能である。デジタル署名の形式としては、例えばSHA-1(Secure Hash Algorithm 1)等のハッシュアルゴリズムを利用したパッケージのハッシュデータを、アプリ管理サーバが保持している秘密鍵によって暗号化したものを署名データとして利用することが可能である。また、デジタル証明書の形式としては、例えばX.509形式が広く利用されている。デジタル証明書を利用することで、そこに記載されたウイルスチェック情報は信頼できる認証機関によって保証されることになる。最後にメモリ２０２にパッケージ化されていないアプリケーションとウイルスチェック情報、デジタル署名またはデジタル証明書が添付されたパッケージを格納しておく（ステップＣ４）。
【０１１１】
次に、図３、図１０を参照して、アプリ管理サーバ２のウイルスチェック手段２０９およびウイルス定義ファイルのバージョンアップ時の動作について説明する。
【０１１２】
アプリ管理サーバ２のアドレスをアップデート管理サーバ１に予め登録していた場合、アップデート管理サーバ１で管理されているウイルスチェック手段およびウイルス定義ファイルのバージョンアップが発生すると、アプリ管理サーバ２は、通信装置２０５を使用してバージョンアップ通知を受信する（ステップＤ１）。
【０１１３】
アプリ管理サーバ２がバージョンアップ通知を受信するとアップデート更新手段２１３は、アップデート管理サーバ１が管理しているウイルスチェック手段２０９およびウイルス定義ファイルの最新のバージョン情報獲得依頼を通信装置２０５を使用してアップデート管理サーバ１に問い合わせ、最新バージョン情報を獲得する（ステップＤ２）
アップデート更新手段２１３は、アップデート管理サーバ１から獲得した最新バージョン情報とウイルスチェック管理手段２１４が管理している現在使用しているウイルスチェック手段２０９およびウイルス定義ファイルのバージョンとをくらべ、アップデート管理サーバ１が管理している方がバージョンが新しい場合、ステップＤ４に進み、最新バージョンを獲得する。アップデート管理サーバ１が管理している方がバージョンが古いあるいは同じであれば、最新バージョンを獲得する必要はないと判断する（ステップＤ３）。
【０１１４】
最新のウイルスチェック手段２０９とウイルス定義ファイル、あるいはどちらか１つを獲得するために、アップデート更新手段２１３は通信装置２０５を使用して獲得したいウイルスチェック手段２０９のバージョンおよびウイルス定義ファイルのバージョン、または、どちらか１つのみ獲得したいのであればそのバージョンを指定してアップデート管理サーバ１からそのバージョンのものを獲得する（ステップＤ４）。
【０１１５】
アップデート更新手段２１３は、メモリ２０２内の古いウイルスチェック手段２０９とウイルス定義ファイル、あるいは両方を削除し、ステップＤ４で獲得した最新のものをメモリ２０２に格納する（ステップＤ５）。
【０１１６】
一連の更新処理が完了すると、ウイルスチェック手段２０９とウイルス定義ファイル、あるいはどちらかのバージョン情報をウイルスチェック管理手段２１４に通知する（ステップＤ６）。
【０１１７】
ウイルスチェック管理手段２１４は、ウイルスチェック手段２０９とウイルス定義ファイル、あるいはどちらか１つが更新されたため、図９のステップＣ２〜Ｃ４の処理をメモリ２０２内のすべてのアプリケーションについて行い、パッケージ作成、ウイルスチェック情報添付、デジタル署名またはデジタル証明書添付を再度行う。
【０１１８】
アップデート管理サーバ１との通信によるウイルスチェック手段２０９とウイルス定義ファイルのバージョンアップの動作について説明した。別のアップデート方法として、外部メモリ２０３にウイルスチェック手段２０９とウイルス定義ファイルを格納した状態で、その外部メモリ２０３をアプリ管理サーバ２に装着することによる方法も可能である。その場合、上記のステップＤ３〜Ｄ６までの処理の説明でアップデート管理サーバ１の代わりに外部メモリ２０３とすれば同じ動作で実現する。
【０１１９】
次に、図３を参照して、アプリ管理サーバ２のユーザ端末３へ図５で示すパッケージを送信する動作について説明する。
【０１２０】
アプリ配布手段２０８は、通信装置２０５を使用してユーザ端末３からアプリ獲得要求を受信し、要求されているアプリケーションを含む図５に示すパッケージをメモリ２０２から探し出し、要求元に送信する。
【０１２１】
または、アプリ管理サーバ２に装着されている外部メモリ２０３に図５で示すパッケージをコピーしてその外部メモリ２０３をユーザ端末３に配布することも可能である。
【０１２２】
次に、図４及び図１１を参照して、ユーザ端末３でのアプリ獲得時の動作について説明する。
【０１２３】
ユーザ端末３は、アプリ獲得手段３０７が通信装置３０５を使用してアプリ管理サーバ２から必要なアプリケーションを含む図５で示すパッケージの獲得依頼を送信し、アプリ管理サーバ２から必要なアプリケーションを含む図５で示すパッケージを受信する。または、外部メモリ３０３に格納されている必要なアプリケーションを含む図５で示すパッケージをコピーすることで獲得する（ステップＥ１）。
【０１２４】
アプリ獲得手段３０７は、獲得した図５で示すパッケージを署名検証手段３０９に渡し、署名検証あるいは証明書検証を行い、改竄されていないことと正規のアプリ管理サーバから獲得したことを確認する（ステップＥ２）。
【０１２５】
署名検証または証明書検証が終わると、このパッケージ内のアプリケーションをアプリ管理サーバ２でチェックしたウイルスチェック手段２０９の開発元、バージョン、ウイルス定義ファイルのバージョンなどを含むウイルスチェック情報をチェック情報登録手段３１１に渡す。そして、パッケージ展開手段３０８が図５で示すパッケージ内からアプリケーションを取り出す（ステップＥ３）。
【０１２６】
パッケージ内から取り出されたアプリケーションについて、ユーザ端末３上での改竄検知を容易にするため、署名手段３１０がアプリケーションのハッシュ値を算出する。この算出に使用される鍵はメモリ３０２に予め格納されているものとする。メモリ３０２は耐タンパー領域であってもよい。ハッシュ値算出後、アプリケーションはメモリ３０２に格納され、ハッシュ値およびファイル識別情報はチェック情報登録手段３１１に渡される。この場合のファイル識別情報は格納されたアプリケーションとなるファイルのメモリ３０２内での格納場所であったり、ユーザ端末３内のファイルシステム内で一意に識別可能な値であってもよい。例えば、ユーザ端末３がＬｉｎｕｘを用いたものであった場合、iノード番号でファイルを一意に識別可能である（ステップＥ４）。
【０１２７】
チェック情報登録手段３１１は、署名手段３１０から渡されたハッシュ値とアプリケーション識別情報、そして、ステップＥ２で獲得したウイルスチェック情報を受け取り、すべてをメモリ３０２に格納されているテーブルに登録する。このテーブルの一例として、ファイル識別情報、ウイルスチェック手段の開発元、ウイルスチェック手段のバージョン、ウイルス定義ファイルバージョン、ハッシュ値からなる例を図６に示す（ステップＥ５）。
【０１２８】
次に、ユーザ端末３でのウイルスチェック手段３１３とウイルス定義ファイルのアップデートの動作について説明する。ユーザ端末３におけるこのアップデート処理は、アプリ管理サーバ２のウイルスチェック手段２０９とウイルス定義ファイルのアップデートの動作と同じである。つまり、図１０で示すステップＤ１〜Ｄ６と同じ処理を行う。すでにアプリ管理サーバ２についてステップＤ１〜Ｄ６の説明している。アプリ管理サーバ２についてステップＤ１〜Ｄ６の説明で記述されているメモリ２０２、外部メモリ２０３、通信装置２０５、ウイルスチェック手段２０９、アップデート更新手段２１３およびウイルスチェック管理手段２１４は、ユーザ端末３ではメモリ３０２、外部メモリ３０３、通信装置３０５、ウイルスチェック手段３１３、アップデート更新手段３１５およびウイルスチェック管理手段３１６となる。
【０１２９】
この処理によりユーザ端末３のメモリ３０２には、最新の全ウイルス定義ファイル、差分ウイルス定義ファイル、および最新の定義ファイルが格納される。
【０１３０】
次に、図４及び図１２を参照して、ユーザ端末３での定期的なウイルスチェックの動作について説明する。
【０１３１】
定期的なウイルスチェックの実行指示は、ウイルスチェック管理手段３１６が行う。定期的にウイルスチェックを実施する場合、メモリ３０２に格納されているアプリケーションすべてを順番にウイルスチェックする。
【０１３２】
まず、ウイルスチェック管理手段３１６はメモリ３０２に格納されているアプリケーションが改竄されていないか確認するために署名検証手段３０９を呼び出し、そのアプリケーションのハッシュ値を計算する（ステップＦ１）。
【０１３３】
次に、ウイルスチェック管理手段３１６はハッシュ値を求めたアプリケーションの識別子をキーにしてチェック情報検索手段３１２に該当するウイルスチェック情報の検索依頼を行う。この検索は図６に示すテーブルを検索する（ステップＦ２）。
【０１３４】
該当するアプリケーションに関するウイルスチェック情報があれば、ステップＦ４に進む。ウイルスチェック情報がなければステップＦ１０にすすむ（ステップＦ３）。
【０１３５】
ステップＦ３で該当するアプリケーションに関するウイルスチェック情報がなかった場合、アプリ管理サーバ２から配布されている以外のアプリケーションであることとなり、ウイルスチェックが必要となる。この場合、ウイルスチェック手段２０９は全ウイルス定義ファイルを用いてウイルスチェックを実施する（ステップＦ１３）。
【０１３６】
ステップＦ３で該当するアプリケーションに関するウイルスチェック情報があった場合、ウイルスチェック管理手段３１６は、そのウイルスチェック情報のハッシュ値とステップＦ１で算出したハッシュ値が同じであるか確認する。もし、同じであれば、改竄されていないと判断してステップＦ５にすすむ。ハッシュ値が異なれば改竄されていると判断してステップＦ１１にすすむ（ステップＦ４）。
【０１３７】
ステップＦ４で改竄されたと判断されたアプリケーションの後の処理は、ウイルスチェック管理手段３１６に予め決められているポリシーに従う。もし、このポリシーがウイルスチェックすることになっていれば、ステップＦ１３にすすむ。そうでなければ、利用者に改竄されていることを通知する（ステップＦ１１、ステップＦ１２）。
【０１３８】
ステップＦ４で改竄されていないと判断されたアプリケーションについて、ウイルスチェック管理手段３１６がそのアプリケーションのウイルスチェック情報に含まれている、以前ウイルスチェックした時のウイルスチェック手段２０９のバージョンとウイルス定義ファイルのバージョンを取り出し、ウイルスチェック管理手段３１６が保持している最新のウイルスチェック手段２０９のバージョンとウイルス定義ファイルのバージョンと比べる。
【０１３９】
ウイルスチェック管理手段３１６が保持しているウイルスチェック手段２０９のバージョンがウイルスチェック情報のウイルスチェック手段２０９のバージョンと同じかあるいは古い場合、ウイルスチェックの必要なしと判断し、そのアプリケーションに対する処理は終了する。ウイルスチェック管理手段３１６が保持しているウイルスチェック手段２０９のバージョンがウイルスチェック情報のウイルスチェック手段２０９のバージョンよりも新しい場合、ウイルスチェックの必要ありと判断し、ステップＦ６にすすむ（ステップＦ５）。
【０１４０】
ウイルスチェック手段２０９が保持しているウイルスチェック手段２０９のバージョンがウイルスチェック情報のウイルスチェック手段２０９よりも新しい場合はウイルスパターンを定義したウイルス定義ファイルとの比較では探し出せないウイルスチェックを行うロジックが組込まれている可能性があるため、ウイルス定義ファイルのバージョンに関係なくすべてのウイルスチェックを行う必要があり、ステップＦ１３にすすむ。また、
ウイルスチェック手段２０９が保持しているウイルスチェック手段２０９のバージョンがウイルスチェック情報のウイルスチェック手段２０９が同じであるが、メモリ３０２に保持されている差分ウイルス定義ファイルを使用したウイルスチェックで全ウイルス定義ファイルを使用したウイルスチェックと同等な効果が得られるか判断する。例えば、差分ウイルス定義ファイルは全ウイルス定義ファイルのバージョン３０００から３０１０までの差分のみをサポートするファイルで、アプリケーションのウイルスチェック情報のウイルス定義ファイルのバージョンが３０００以上であれば、この差分ウイルス定義ファイルを利用することにより、全ウイルス定義ファイルを使用したウイルスチェックと同等な効果が得られると判断し、ステップＦ７にすすむ。それ以外は全ウイルス定義ファイルを使用したウイルスチェックが必要と判断し、ステップＦ１３にすすむ（ステップＦ６）。
【０１４１】
チェック対象となっているアプリケーションのウイルスチェック情報の以前ウイルスチェックに使用したウイルス定義ファイルのバージョンが、ウイルスチェック管理手段３１６が管理する最新のウイルス定義ファイルのバージョンよりも１つだけ古いかどうかを判断する（ステップＦ７）。
【０１４２】
もし、１つだけ古い場合にはこれらの差分が小さく、最新のみウイルス定義ファイルによるウイルスチェックにより、全ウイルス定義ファイルを使用したウイルスチェックと同等の効果があると判断され、メモリ３０２の最新のみウイルス定義ファイルを使用したウイルスチェック手段３１３によるウイルスチェックを実施する（ステップＦ８）。
【０１４３】
もし、２つ以上古い場合、差分が大きく、差分ウイルス定義ファイルによるウイルスチェックにより、全ウイルス定義ファイルを使用したウイルスチェックと同等の効果があると判断され、メモリ３０２の差分ウイルス定義ファイルを使用したウイルスチェック手段３１３によるウイルスチェックを実施する（ステップＦ１０）。
【０１４４】
ステップＦ８、ステップＦ１０、およびステップＦ１３でウイルスチェックを実施後、ウイルスチェックに使用したウイルスチェック手段２０９およびウイルス定義ファイルのバージョンとステップＦ１で算出したハッシュ値、およびアプリケーションとなるファイルの識別情報をチェック情報登録手段３１１に渡し、図６に示すテーブルに登録する（ステップＦ９）。
【０１４５】
上記ステップＦ１〜ステップＦ１３は１つのアプリケーションとなるファイルについて説明したが、このステップＦ１〜ステップＦ１３の処理は、ウイルスチェック管理手段３１６に予め設定された一定間隔で、メモリ３０２に存在するアプリケーションのすべてにおいて実施される。この処理はデータおよびライブラリなどそれだけでは実行可能でないファイルについても同様にウイルスチェック可能である。
【０１４６】
なお、メモリ３０２内でいくつかの領域にわけて、ある領域のアプリケーションはウイルスチェック対象とし、それ以外に格納されているアプリケーションはウイルスチェックの対象外としてもよい。
【０１４７】
また、領域による判断のみでなく、ウイルスチェック対象リストをメモリ３０２に格納しておき、そのリストに存在している、アプリケーションとなるファイルのみをウイルスチェックの対象としてもよい。
【０１４８】
また、ステップＦ７における差分の大小の判断は、ウイルスチェック手段やウイルス定義ファイルの容量により判断を行うものとしてもよい。
【０１４９】
アプリ実行手段３１７があるアプリケーションを実行する場合、その実行直前で上記ステップＦ１〜ステップＦ１３の処理を実施する場合もある。つまり、ウイルスチェックは定期的に実施して、さらに実行時に実施してもよい。あるいはどちらか一方を実施してもよい。
【０１５０】
また、アプリ実行手段３１７を利用しないで、アプリケーションを実行した場合、ＯＳレベルでそのアプリケーションとなる実行ファイルをメモリにロードするタイミングでステップＦ１〜Ｆ１３を実施してもよい。ＯＳレベルで実施する場合、そのアプリケーションが実行するために、一緒にメモリにロードされるライブラリであるファイルも同様にステップＦ１〜Ｆ１３を実施してもよい。また、アプリケーションがデータとなるファイルopen、close、read、writeするタイミングでそのデータファイルに関して同様にステップＦ１〜Ｆ１３を実施してもよい。
【０１５１】
次に、本実施の形態の効果について説明する。
【０１５２】
本実施の形態では、アプリ管理サーバから獲得したアプリケーションは、ユーザ端末では安心して実行できる。これは、アプリ管理サーバで最新バージョンのウイルスチェック手段とウイルス定義ファイルによるウイルスチェックを実施し、そのときのウイルスチェック手段とウイルス定義ファイルのバージョンをアプリケーションとなるファイルと一緒に配布し、そのファイルをユーザ端末上で実行する場合、そのファイルがウイルスチェックされているかといったことを確認したうえで、実行される構成としているためである。
【０１５３】
また別の効果として、ファイルにはウイルスチェックした時に使用したウイルス定義ファイルのバージョンのみでなくウイルスチェック手段のバージョンも関連付けられていることにより、最新のウイルスチェック手段を使用したウイルスチェックが実施されているか判断可能である。
【０１５４】
また別の効果として、ユーザ端末上でのウイルスチェックの負荷を軽減しながらセキュリティを確保する。これは、ユーザ端末上では、ウイルスチェックをすべてのコンピュータウイルスに対応したウイルス定義ファイルを使用しなくても、ウイルス定義ファイルをバージョンアップした際に盛り込まれたウイルスパターンのみをもつ差分ウイルス定義ファイル、または最新のみウイルス定義ファイルといった、ウイルスチェックに必要なコンピュータウイルスのパターンの数の違いによるウイルス定義ファイルを複数もち、どのウイルス定義ファイルを使用したウイルスチェックが最適かを決定する仕組みを持っているからである。
【０１５５】
（本発明の第２の実施形態）
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。
【０１５６】
本発明の第１の実施形態ではアプリケーションとなるファイルをパッケージ化して配布していたが、本発明の第２の実施形態では、パッケージ化は行わない。また、ウイルスチェック情報およびデジタル署名またはデジタル証明書をファイルに直接添付する。
【０１５７】
本発明の第１の実施形態と構成は変わらない。異なる点はアプリ管理サーバ２がユーザ端末３に配布するアプリケーションとなるファイルの構成である。図１〜図４、図６〜図１２の構成およびステップは同じである。
【０１５８】
まずは、構成の説明で異なる部分を以下で説明する。
【０１５９】
アプリ管理サーバ２が配布するアプリケーションの構成を図１３に示す。図１３を見ると、アプリ管理サーバ２がユーザ端末３に配布するアプリケーションとなるファイルは、コード、ウイルスチェック情報および署名（あるいは証明書）で構成されている。これらの配置順序は異なっていてもよい。なお、このコード部分は、実行コード、データ、デバイスドライバ、ライブラリとなる。
【０１６０】
アプリ管理サーバ２のパッケージ作成手段２１０について、本発明の第１の実施形態では、複数アプリケーションで構成されるパッケージを作成し、そのパッケージに対してウイルスチェック情報を添付していたが、本発明の第２の実施形態では、アプリケーションとなるファイルにウイルスチェック情報を直接添付する。
【０１６１】
アプリ管理サーバ２の署名手段２１１では、複数アプリケーションで構成されるパッケージとそのパッケージに添付されたウイルスチェック情報についてデジタル署名あるいはデジタル証明書を添付していたが、本発明の第２の実施形態では、アプリケーションとなるファイルにウイルスチェック情報を直接添付したものについてデジタル署名あるいはデジタル証明書を添付する。
【０１６２】
ユーザ端末３のアプリ獲得手段３０７について、本発明の第１の実施形態では、アプリ管理サーバ２から図５で示すパッケージを獲得するとなっているが、本発明の第２の実施形態では、アプリケーションとなるファイルを獲得する。この点が本発明の第１の実施形態とは異なる。
【０１６３】
ユーザ端末３のパッケージ展開手段３０８について、本発明の第１の実施形態では、図５で示すパッケージの中から複数あるいは１つのアプリケーションを取り出していが、本発明の第２の実施形態では、アプリケーションとなるファイルを扱うため、図５で示すパッケージから複数アプリケーションを取り出す必要がない。
【０１６４】
ユーザ端末３の署名手段３１０について、本発明の第１の実施形態では、アプリ管理サーバ２から獲得したアプリケーション、およびその他の手段で獲得したアプリケーションの両方についてデジタル署名を行っていたが、本発明の第２の実施形態では、アプリ管理サーバ２から獲得したアプリケーションにはすでにデジタル署名されているため、本手段で署名する必要はない点が異なる。ただし、アプリ管理サーバ２を利用しない方法で獲得されたアプリケーションについては、第１の実施形態と同様に本手段により署名することが必要となる。
【０１６５】
本実施の形態の動作について、第１の実施形態と異なる点を以下に説明する。
【０１６６】
アプリ管理サーバ２のアプリケーションの登録について、図９のステップＣ１での動作で第１の実施形態では、１つのサービスを実現するために複数のアプリケーションが必要となる場合は、メモリ２０２にそのサービス専用のフォルダを作成し、そのフォルダーに１つのサービスを実現するために複数のアプリケーションを格納することで１つのパッケージ内に格納される複数のアプリケーションの明確化を図っているが、第２の実施形態では、パッケージの作成は不要となるためフォルダを作成することはしない。
【０１６７】
アプリ管理サーバ２のアプリケーションの登録について、図９のステップＣ２での動作で第１の実施形態では、パッケージにウイルスチェック情報を添付していたが、本発明の第２の実施形態では、アプリケーションとなるファイルにウイルスチェック情報を添付する。
【０１６８】
アプリ管理サーバ２のアプリケーションの登録について、図９のステップＣ３での動作で第１の実施形態では、パッケージにウイルスチェック情報を添付していたものに対してデジタル署名あるいはデジタル証明書を添付していたが、本発明の第２の実施形態ではアプリケーションとなるファイルにウイルスチェック情報を添付したものに対してデジタル署名あるいはデジタル証明書を添付する。
【０１６９】
アプリ管理サーバ２のアプリケーションの登録について、図９のステップＣ４での動作で第１の実施形態では、メモリ２０２にパッケージ化されていないアプリケーションとウイルスチェック情報とデジタル署名あるいはデジタル証明書が添付されたパッケージを格納していたが、本発明の第２の実施形態では何も添付されないアプリケーションとなるファイルと、アプリケーションとなるファイルにウイルスチェック情報を添付したものに対してデジタル署名あるいはデジタル証明書が添付されたものが格納される。
【０１７０】
ユーザ端末３でのアプリ獲得時について、図１１のステップＥ１での動作で第１の実施形態では、図５に示すパッケージを受信していたが、本発明の第２の実施形態では図１３に示すファイルファイルを受信する。
【０１７１】
ユーザ端末３でのアプリ獲得時について、図１１のステップＥ２での動作で第１の実施形態では、図５に示すパッケージについて署名検証していたが、本発明の第２の実施形態では図１３に示すファイルについて署名検証する。
【０１７２】
ユーザ端末３でのアプリ獲得時について、図１１のステップＥ３での動作で第１の実施形態では、図５に示すパッケージから複数のアプリケーションを取り出す。さらに、ウイルスチェック情報も取り出してチェック情報登録手段３１１に渡していたが、本発明の第２の実施形態では図１３に示すファイルを受信しているため、アプリケーションとなるファイルの取り出しは不要となり、ウイルスチェック情報をチェック情報登録手段３１１に渡すのみとなる。
【０１７３】
ユーザ端末３でのアプリ獲得時について、図１１のステップＥ４での動作で第１の実施形態では、アプリケーションとなるファイルについてハッシュ値を算出していたが、本発明の第２の実施形態では図１３に示すようにアプリケーションとなるファイルにすでにデジタル署名であるハッシュ値が添付されているため、ステップＥ３でハッシュ値を算出する必要はない。
【０１７４】
ユーザ端末３でのアプリ獲得時について、図１１のステップＥ５での動作で第１の実施形態では、アプリケーションとなるファイルのアプリケーション識別子、ハッシュ値、ウイルスチェック情報を図６で示されるテーブルに登録していたが、本発明の第２の実施形態では、ハッシュ値は図６で示すテーブルには登録しない。つまり、ファイルに添付されている署名であるハッシュ値をそのまま利用することになる。
【０１７５】
ユーザ端末３での定期的なウイルスチェックについて、図１２のステップＦ４で第１の実施形態では、図６で示されるテーブルから該当するアプリケーションとなるファイルのハッシュ値を取り出してステップＦ１で算出したハッシュ値を比べているが、本発明の第２の実施形態では、アプリケーションとなるファイルに添付されているハッシュ値とステップＦ１で算出したハッシュ値を比べる。
【０１７６】
このことにより、本発明の第２の実施形態でアプリ管理サーバ２から獲得したアプリケーションとなるファイルのハッシュ値は図６で示されるテーブルでは管理されない。アプリ管理サーバ２以外から獲得したアプリケーションとなるファイルのハッシュ値については、第１の実施形態と同様に図６で示されるテーブルで管理される。
【０１７７】
また、これまでに説明した本発明の第２の実施形態では、アプリ管理サーバ２が配布するアプリケーションとなるファイルにウイルスチェック情報とデジタル署名あるいはデジタル証明書を添付した。配布するファイルの構成のバリエーションとしては、パッケージ内のアプリケーションとなるファイル１つ１つにウイルスチェック情報とデジタル署名あるいはデジタル証明書を添付、またはそのいずれかを添付するといったことも可能である。その場合のシステムの構成および処理内容は、これまでに説明した第１の実施形態および第２の実施形態での構成および処理内容で実施可能である。
【０１７８】
また、パッケージにはデジタル署名またはデジタル証明書を添付し、パッケージの中のアプリケーションとなるファイルにウイルスチェック情報を添付するといった構成としてもこれまでに説明した第１の実施形態および第２の実施形態での構成および処理内容で実施可能である。
【０１７９】
（本発明の第３の実施形態）
次に、本発明の第３の実施形態について図面を参照して詳細に説明する。
【０１８０】
本発明の第２の実施形態では、ハッシュ値はファイルに添付するものをそのまま利用し、ウイルスチェック情報は図６に示すテーブルに登録する方法であったが、本発明の第３の実施形態ではさらにウイルスチェック情報もファイルに添付する。
【０１８１】
本発明の第１の実施形態、および本発明の第２の実施形態と図１２を除いて構成は変わらない。異なるのは、図６に示すテーブルがないことと図１２に示したフローチャートによって行われていた動作が図１４に示されるフローチャートによって行われることである。図１２と図１４との差分はステップＦ１４が追加されていることである。
【０１８２】
本発明の第３の実施形態では、定期的なウイルスチェック、またはアプリケーション実行時などのウイルスチェック時に本発明の第１の実施形態、および本発明の第２の実施形態と動作が異なる。第２の実施形態と異なる動作部分を以下に説明する。
【０１８３】
図１４に示すステップＦ２において、第２の実施形態で実施していた図６に示すテーブルの検索が第３の実施形態では不要となる。
【０１８４】
図１４に示すステップＦ３において、第２の実施形態で実施していた図６に示すテーブル内のウイルスチェック情報の存在確認を行っていたが、第３の実施形態ではファイルにウイルスチェック情報が存在するか否かの確認となる。
【０１８５】
図１４に示すステップＦ５において、第２の実施形態ではアプリケーションとなるファイルのウイルスチェック情報は図６に示すテーブルから獲得したものを使用していたが、第３の実施形態ではファイルに添付しているウイルスチェック情報を使用する。
【０１８６】
図１４に示すステップＦ９において、第２の実施形態ではウイルスチェック後のウイルスチェック情報は図６に示すテーブルに登録していたが、第３の実施形態ではウイルスチェックをおこなったファイルにそのウイルスチェック情報を添付する。このとき古いウイルスチェック情報がある場合は最初にその古いウイルスチェック情報を削除しておく。
【０１８７】
図１４に示すＦ１４は、第２の実施形態には存在しない。第３の実施形態ではステップＦ９後にウイルスチェック情報を添付したアプリケーションとなるファイルのデジタル署名を行う。実際にはハッシュ値をとりファイルに添付する。このとき古いハッシュ値が存在する場合は最初に古いハッシュ値を削除しておく。この署名に使用する秘密鍵はユーザ端末３それぞれ固有ななものでもよいし、あるグループで共有している秘密鍵でもよい。
【０１８８】
また、ファイルにウイルスチェック情報を添付し、図６に示すテーブルにファイルのハッシュ値を登録するといった仕組みとしてもこれまでに説明した第１の実施形態、第２の実施形態、および第３の実施形態で処理可能である。
【０１８９】
次に、本実施の形態の効果について説明する。
【０１９０】
本実施の形態では、ユーザ端末上でウイルスチェックしたアプリケーションは他のユーザ端末上にコピーあるいは移動してもウイルスチェックがされていることがわかる。これは、アプリ管理サーバから配布されたアプリケーションとなるファイルをユーザ端末内で最新バージョンのウイルスチェック手段とウイルス定義ファイルを利用して、あるいはそのどちらかの最新バージョンを利用した際に、そのウイルスチェックしたファイルにウイルスチェック情報を含めてデジタル署名を行っているからである。そのデジタル署名で使用する秘密鍵は、グループで共有しているものを利用可能としているため、ユーザ端末がデジタル署名したファイルをそのユーザ端末が所属するグループの他のユーザ端末にコピーまたは移動した場合、他のユーザ端末上で全てのコンピュータウイルスに対するウイルスチェックを実施する必要がない。その結果、他のユーザ端末上でウイルスチェックの負荷を軽減できる。
【０１９１】
（本発明の第４の実施形態）
次に、本発明の第４の実施形態について図面を参照して詳細に説明する。
【０１９２】
本発明の第４の実施形態では、あるウイルスチェック手段でウイルスチェックされたファイルに対して開発元が異なる別のウイルスチェック手段において同等のウイルスチェックが可能であることを示すデータを参照することで、あるウイルスチェック手段によるウイルスチェック後に開発元が異なる別のウイルスチェック手段を利用しても、全ウイルス定義ファイルを利用したウイルスチェックを回避し、必要最小限のウイルスチェックを行う。
【０１９３】
本発明の第４の実施形態は、本発明の第１の実施形態の構成を示す図１、図２、図３、および図４をベースとした構成をとる。ただし、本発明の第４の実施形態では、図１に示した構成が図１５に示すようにウイルスチェックマッピング管理サーバ４を含む構成となり、図４に示した構成が図１６に示す構成となる。図１７はウイルスチェックマッピング管理サーバ４の構成を示すブロック図である。
【０１９４】
本発明の第４の実施形態の構成について本発明の第１の実施形態との差分を以下に説明する。
【０１９５】
図１５を参照すると、図１と比べてウイルスチェックマッピング管理サーバ４が追加されている。このウイルスチェックマッピング管理サーバ４は、あるウイルスチェック手段と開発元が異なる別のウイルスチェック手段とのマッピングを可能とするリストを管理するサーバである。
【０１９６】
図１７を参照すると、ウイルスチェックマッピング管理サーバ４は、CPU４０１、メモリ４０２、外部メモリ４０３、出力装置４０４、通信装置４０５、入力装置４０６、マッピング登録手段４０７、マッピング通知手段４０８から構成されている。
【０１９７】
ＣＰＵ４０１は、各手段やプログラムの実行を制御および計算処理を行う。
【０１９８】
メモリ４０２は、ROM、RAM、HDDのような読書き可能な、場合によっては読込みのみ可能な記憶装置である。また、このメモリは耐タンパー性を持つ場合もありえる。
【０１９９】
外部メモリ４０３は、脱着可能な読書き可能な記憶装置である。アプリケーションプログラム、ライブラリ、ユーザデータ、およびデバイスドライバなどの実行コードやデータなどを記憶させることが可能である。
【０２００】
これらのメモリ４０２、外部メモリ４０３は、各手段やプログラムの実行時には使用されるデータを読書きする場合の一時的な記憶領域である。また、実行コードそのものを一時的に記憶する記憶領域でもある。
【０２０１】
出力装置４０４は、処理結果のディスプレイ表示と音声などを出力する。
【０２０２】
通信装置４０５は、外部の装置や端末と通信を可能にする。
【０２０３】
入力装置４０６は、新たな処理の実行を依頼するためのキー（ボタン）、音声などを取り込み各手段に渡す。
【０２０４】
マッピング登録手段４０７は、あるウイルスチェック手段と開発元が異なる別のウイルスチェック手段において同等のウイルスチェックが可能であることを示すデータをウイルスチェックマッピング管理サーバ４に登録することを可能とする。
【０２０５】
マッピング通知手段４０８は、マッピング登録手段４０７で登録された新しいマッピング情報をユーザ端末３に通知する。
【０２０６】
図１６を参照すると、図４と比べてマッピング手段３１８が追加されている。
【０２０７】
マッピング手段３１８は、ウイルスチェックマッピング管理サーバ４からマッピング情報がバージョンアップした際の通知を受け取り、そのマッピング情報を管理する。
【０２０８】
次に、本発明の第４の実施形態の動作について本発明の第１の実施形態との差分について説明する。
【０２０９】
まず、あるウイルスチェック手段と開発元が異なる別のウイルスチェック手段において同等のウイルスチェックが可能であることを示すデータをウイルスチェックマッピング管理サーバ４に登録する動作について図１９のフローチャートを参照しながら説明する。
【０２１０】
あるウイルスチェック手段と開発元が異なる別のウイルスチェック手段において同等のウイルスチェックがウイルスチェックマッピング管理サーバ４に登録するには、マッピング登録手段４０７にあるウイルスチェック手段と別の開発元のウイルスチェック手段、そしてあるウイルス定義ファイルと別の開発元のウイルス定義ファイルとで、ファイルをウイルスチェックした際に同じ効果が得られる情報を入力する。この入力は、通信装置４０５を経由してもよいし、その情報を外部メモリ４０３に予め格納しておき、ウイルスチェックマッピング管理サーバ４にその外部メモリ４０３を装着し、マッピング登録手段４０７にその情報を渡しても良い。この入力された情報を集めたものをマッピング情報と呼び、新しい情報が追加されるごとにマッピング情報に追加されメモリ４０２に保持される。
【０２１１】
図１８にマッピング情報の例を示す。この例をみると、Ａ社ウイルスチェック手段バージョン1.5でウイルスチェックした場合と、Ｂ社ウイルスチェック手段バージョン2.0でウイルスチェックした場合と同等の効果が期待できることを示している。さらに、Ａ社ウイルス定義ファイルのバージョン１０５０でウイルスチェックした場合とＢ社ウイルス定義ファイルのバージョン２２００でウイルスチェックした場合と同等の効果が期待できることを示している（ステップＧ１）。
【０２１２】
マッピング登録手段４０７によるマッピング情報の追加が完了すると、その旨がマッピング通知手段４０８に通知される。すると、マッピング通知手段４０８は、予め登録されているユーザ端末３のアドレス宛てにマッピング情報が更新された旨を通知する。この通知はマッピング情報そのものを送信する（ステップＧ２）。
【０２１３】
ユーザ端末３は、マッピング手段３１８で新しいマッピング情報を受信し、そのマッピング情報をメモリ３０２に格納する。もし、古いマッピング情報があれば、最初に古いマッピング情報を削除しておく（ステップＧ３）。
【０２１４】
なお、ユーザ端末３が一定間隔でマッピング情報を獲得してもよい。その場合、更新の有無をマッピング手段３１８がウイルスチェックマッピング管理サーバ４に問合せ、もし更新されていれば、その後の処理はステップＧ２およびステップＧ３と同じ処理を行う。
【０２１５】
ユーザ端末３でマッピング情報を参照する方法は第１の実施形態をベースに考えると２つある。まずは、ユーザ端末３がパッケージ獲得する場合、そしてもう一つはウイルスチェックする場合である。
【０２１６】
第１の実施形態をベースにして、ユーザ端末３がパッケージ獲得時のマッピング情報を参照する動作について説明する。これらウイルスチェックは第１の実施形態と異なる部分のみ図１１のフローチャートを参照しながら説明する。
【０２１７】
ステップＥ５において第１の実施形態では、ウイルスチェック情報を図６に示すテーブルに登録する。第１の実施形態では、ユーザ端末３のウイルスチェック手段３１３の販売元、バージョン、そしてメモリ３０２に格納されているウイルス定義ファイルのバージョンが登録しようとしているウイルスチェック情報と異なっている場合、メモリ３０２の図１８に示すマッピング情報を参照し、ウイルスチェック情報内のウイルスチェック手段とウイルスチェック定義ファイルが、ユーザ端末３のウイルスチェック手段３１３とメモリ３０２に格納されているウイルス定義ファイルのものに置き換え可能か確認する。もし、可能であれば、図６で示すテーブルにはウイルスチェック情報の内容ではなく、ウイルスチェック情報からマッピング情報を参照して置き換え可能な情報を登録する。もし、置き換え不可能な場合、図６で示すテーブルへの登録は行わない。
【０２１８】
またもう１つの方法として、第１の実施形態で定期的なウイルスチェックおよびアプリケーション実行時のウイルスチェック時にマッピング情報を参照する動作について説明する。これらウイルスチェックは第１の実施形態と異なる部分のみ図１２のフローチャートを参照しながら説明する。
【０２１９】
ステップＦ２において第１の実施形態では図６に示すテーブルからウイルスチェック情報を獲得している。しかし、テーブルのウイルスチェック情報内のウイルスチェック手段の開発元とユーザ端末３のウイルスチェック手段３１３の開発元が異なっている場合、メモリ３０２の図１８に示すマッピング情報を参照し、テーブルのウイルスチェック情報内のウイルスチェック手段とウイルスチェック定義ファイルが、ユーザ端末３のウイルスチェック手段３１３とメモリ３０２に格納されているウイルス定義ファイルのものに置き換え可能か確認する。
【０２２０】
もし、可能であれば、該当するファイルについてテーブルの内容をユーザ端末３のウイルスチェック手段３１３とメモリ３０２に格納されているウイルス定義ファイルの情報に書き換える。
【０２２１】
もし、不可能であれば、そのテーブルの内容を破棄し、次回のウイルスチェック時にその時使用するウイルスチェック手段３１３とメモリ３０２に格納されているウイルス定義ファイルの情報に書き換える。
【０２２２】
本実施の形態で説明した、マッピング情報を用いた開発元が異なるウイルスチェック手段に対応する方法は、第１の実施形態だけでなく、第２の実施形態、第３の実施形態にも同様な方法で適用できる。
【０２２３】
次に、本実施の形態の効果について説明する。
【０２２４】
本実施の形態では、あるウイルスチェック手段によるウイルスチェック済みファイルについて、開発元が異なる別のウイルスチェック手段でウイルスチェックしなければいけない場合でも、すべてのコンピュータウイルスに対してウイルスチェックをしなくても同様な効果が期待できる。これは、開発元がこなっていても同等な効果が期待できるマッピング情報により、開発元が異なっていても同じ効果を得るウイルスチェック手段およびウイルス定義ファイルのバージョンを特定できるからである。その結果、他のユーザ端末上でウイルスチェックの負荷を軽減できる。
【０２２５】
（本発明の第５の実施形態）
次に、本発明の第５の実施形態について図面を参照して詳細に説明する。
【０２２６】
本発明の第５の実施形態では、ＯＳなどの脆弱な部分を補強するためのセキュリティパッチを適用したユーザ端末と適用していないユーザ端末とで、ウイルスチェックに必要なウイルスチェック手段とウイルス定義ファイル、またはどちらかを変える。
【０２２７】
本発明の第５の実施形態は、本発明の第１の実施形態の構成を示す図１、図２、図３、および図４をベースとした構成となる。ただし、本発明の第５の実施形態では、図２に示したアップデート管理サーバ１の構成が図２０に示す構成となる。
【０２２８】
本発明の第５の実施形態の構成について本発明の第１の実施形態との差分を以下に説明する。
【０２２９】
図２０を参照すると、図２と比べてパッチマッピング管理手段１１０が追加されている。このパッチマッピング管理手段１１０は、図２１に示すパッチマッピングテーブルを管理している。このテーブルには、あるＯＳに対してセキュリティパッチを適用した後にウイルスチェックをする場合に最低限必要なセキュリティパッチ名、ウイルスチェック手段バージョンとウイルス定義ファイルが記載されている。
【０２３０】
図２１を参照して説明する。ユーザ端末３でＡＡＡというＯＳにＫＥ１０３２８というパッチが適用されていれば、ウイルスチェック手段のバージョン1.5でウイルス定義ファイルのバージョンが３８９９から３９３３になるまでに追加されたコンピュータウイルスのパターンデータ、そして４２９９から４４１０となるまでに追加されたコンピュータウイルスのパターンデータを利用したウイルスチェックを実施すれば、バージョン４４１０の全ウイルス定義ファイルでウイルスチェックをしたものと同じ効果があることを示している。つまり、ＡＡＡというＯＳに対してＫＥ１０３２８というＯＳパッチを当てることでバージョン３８９９の全ウイルス定義ファイルおよび、バージョン３９３３から４３９９までの差分ウイルス定義ファイルで発見可能な脆弱部分は補強されているので、そのＯＳ上で動作する、その脆弱部分を悪用するアプリケーションは不正行為が不可能となり、ウイルスチェックによる検出は必要ではないと判断可能となる。
【０２３１】
アップデータ生成手段１０８は、本発明の第５の実施形態でパッチマッピング管理手段１１０が管理する図２１のパッチマッピングテーブルを参照してウイルス定義ファイルを生成することが可能となる。
【０２３２】
本実施の形態の動作について、本発明の第１の実施形態と異なる点を以下に説明する。
【０２３３】
まずは、アップデート管理サーバ１のウイルスチェック手段およびウイルス定義ファイルのアップデート処理について説明する。本発明の第１の実施形態で説明した図７に示すステップＡ１からＡ４の処理および図８に示すステップＢ１からＢ７の処理は本発明の第５の実施形態でも実施される。
【０２３４】
それ以外に、本発明の第５の実施形態で追加される処理を説明する。
【０２３５】
アップデート管理サーバ１のメモリ１０２にはウイルス定義ファイルの１バージョンごとの差分となるコンピュータウイルスのパターンとなるデータが格納されているものとする。なお差分となるデータは、第１の実施形態のウイルス定義ファイルのアップデートの動作を示す図８のステップＢ４およびＢ５で１バージョンごとの差分となるデータを生成しておき、ステップＢ７による以前のバージョンの削除といった処理を行わず、古いものも常にメモリ１０２に格納しておく。
【０２３６】
パッチマッピング管理手段１１０が管理する図２１に示す内容のパッチマッピングテーブルを更新した場合、アップデータ生成手段１０８を呼び出し、全ウイルス定義ファイル、差分ウイルス定義ファイル、および、最新のみウイルス定義ファイルの更新処理を行う。例として、ＢＢＢというＯＳにＳｅｒｖｉｃｅＰａｃｋ１というセキュリティパッチが適用された場合の情報が図２１に示すテーブルに追加されたとする。すると、ＳｅｒｖｉｃｅＰａｃｋ１が適用されたＢＢＢというＯＳ用の以下に示す全ウイルス定義ファイル、差分ウイルス定義ファイル、および、最新のみウイルス定義ファイルが生成される。これらは、メモリ１０２に格納されている１バージョンごとの差分となるコンピュータウイルスのパターンであるデータを集めることで作成される。
【０２３７】
（１）全ウイルス定義ファイル
バージョン４３４９から４４１０までのウイルス定義ファイルの差分となるコンピュータウイルスのパターンデータ
（２）差分ウイルス定義ファイル
バージョン４３９９から４４１０までのウイルス定義ファイルの差分となるコンピュータウイルスのパターンデータ
（３）最新のみウイルス定義ファイル
バージョン４４０９から４４１０までのウイルス定義ファイルの差分となるコンピュータウイルスのパターンデータ
このことにより、アプリ管理サーバ２およびユーザ端末３は、第１の実施形態の方法で用意される全ウイルス定義ファイル、差分ウイルス定義ファイル、および、最新のみウイルス定義ファイルを獲得してもよいし、本発明の第５の実施形態で追加された上記の処理により用意される、全ウイルス定義ファイル、差分ウイルス定義ファイル、および、最新のみウイルス定義ファイルを獲得してもよい。
【０２３８】
ただし、本発明の第５の実施形態で追加された上記の処理により用意される、全ウイルス定義ファイル、差分ウイルス定義ファイル、および、最新のみウイルス定義ファイルを獲得する場合、第１の実施形態のアプリ管理サーバ２またはユーザ端末３のウイルスチェック手段およびウイルス定義ファイルのバージョンアップ時の動作を示す図１０のステップＤ２において、アプリ管理サーバ２またはユーザ端末３からアップデート管理サーバ１が管理しているウイルスチェック手段およびウイルス定義ファイルの最新のバージョン情報を獲得する際に、アプリ管理サーバ２またはユーザ端末３は自身が使用しているＯＳの種別、ならびに適用しているセキュリティパッチの情報をアップデート管理サーバ１に通知して、そのＯＳに対応する全ウイルス定義ファイル、差分ウイルス定義ファイル、および、最新のみウイルス定義ファイルを獲得することになる。
【０２３９】
なお、第１の実施形態の方法で用意される全ウイルス定義ファイル、差分ウイルス定義ファイル、および、最新のみウイルス定義ファイルと本発明の第５の実施形態で追加された方法による全ウイルス定義ファイル、差分ウイルス定義ファイル、および、最新のみウイルス定義ファイルは区別可能となるようにアプリ管理サーバ２およびユーザ端末３に配布される場合は、アップデート管理サーバ１でそれぞれのウイルス定義ファイルに識別子をついかしてもよいし、アプリ管理サーバ２およびユーザ端末３で区別して格納されるような管理としてもよい。
【０２４０】
第１の実施形態で説明したアプリ管理サーバ２およびユーザ端末３の処理に関しては本発明の第５の実施形態でも同様である。
【０２４１】
また、第２の実施形態、第３の実施形態、第４の実施形態に、第５の実施形態を適用した場合、第５の実施形態の動作も同様に適用される。
【０２４２】
次に、本実施の形態の効果について説明する。
【０２４３】
本実施の形態では、最低限のコンピュータウイルスのパターンのみを集めたウイルス定義ファイルを利用してユーザ端末上のアプリケーションに対してウイルスチェックを行い、すべてのコンピュータウイルスに対してウイルスチェックをしなくても同様な効果が期待できる。これは、ユーザ端末の搭載しているセキュリティパッチの適用により脆弱な場所をなくしたＯＳ用に特化した最低限チェックすべきコンピュータウイルスのパターンをウイルス定義ファイルを用意し、そのウイルス定義ファイルを用いたウイルスチェックを実施しているからである。この結果、ユーザ端末上でウイルスチェックの負荷を軽減できる。
【０２４４】
（本発明の第６の実施形態）
次に、本発明の第６の実施形態について図面を参照して詳細に説明する。
【０２４５】
本発明の第６の実施形態では、全ウイルス定義ファイルを用いたウイルスチェックが必要な場合は、ウイルスチェックをサーバに依頼する。
【０２４６】
ここでは、本発明の第６の実施形態は本発明の第１の実施形態に適用した場合について、第１の実施形態と差分がある構成および動作のみ説明する。
【０２４７】
本発明の第６の実施形態の構成を図２、図４、図２２、図２３を参照して説明する。まず、全体の構成図となる図２２を参照すると、本発明の第１の実施形態の全体の構成図である図１と比べると、ウイルスチェックサーバ５が追加されている。このウイルスチェックサーバ５はアップデート管理サーバから最新のウイルスチェック手段およびウイルス定義ファイルを獲得し、ユーザ端末からアプリケーションなどのウイルスチェックの要求があれば、そのアプリケーションについてウイルスチェックを実施する。
【０２４８】
図２３はウイルスチェックサーバ５の構成を示すブロック図である。図２３を参照すると、ウイルスチェックサーバ５は、CPU５０１、メモリ５０２、外部メモリ５０３、出力装置５０４、通信装置５０５、入力装置５０６、アプリ受信手段５０７、アプリ送信手段５０８、ウイルスチェック手段５０９、署名手段５１０、署名検証手段５１１、アップデート更新手段５１２、ウイルスチェック管理手段５１３から構成されている。
【０２４９】
ＣＰＵ５０１は、各手段やプログラムの実行を制御および計算処理を行う。
【０２５０】
メモリ５０２は、ROM、RAM、HDDのような読書き可能な、場合によっては読込みのみ可能な記憶装置である。また、このメモリ５０２は耐タンパー性を持つ場合もありえる。
【０２５１】
外部メモリ５０３は、脱着可能な読書き可能な記憶装置である。アプリケーションプログラム、ライブラリ、ユーザデータ、およびデバイスドライバなどの実行コードやデータなどを記憶させることが可能である。
【０２５２】
これらのメモリ５０２、外部メモリ５０３には、各手段やプログラムの実行時には使用されるデータを読書きする場合の一時的な記憶領域である。また、実行コードそのものを一時的に記憶する記憶領域でもある。
【０２５３】
出力装置５０４は、処理結果のディスプレイ表示と音声などを出力する。
【０２５４】
通信装置５０５は、外部の装置や端末と通信を可能にする。
【０２５５】
入力装置５０６は、新たな処理の実行を依頼するためのキー（ボタン）、音声などを取り込み各手段に渡す。
【０２５６】
アプリ受信手段５０７は、ユーザ端末３から送られてくるアプリケーションを受信する。
【０２５７】
アプリ送信手段５０８は、ユーザ端末３にウイルスチェックが完了したアプリケーションを送り出す。
【０２５８】
ウイルスチェック手段５０９は、アプリケーションにコンピュータウイルスが存在しているか否かをチェックする。
【０２５９】
署名手段５１０は、ウイルスチェックが完了したアプリケーションにデジタル署名する。
【０２６０】
署名検証手段５１１は、署名されたアプリケーションの署名検証をする。
【０２６１】
アップデート更新手段５１２は、アップデート管理サーバ１からウイルスチェック手段５０９のバージョンよりも新しいバージョンのものを受け取る。また、アップデート管理サーバ１からウイルス定義ファイルの最新版、あるいは今まで使用していたウイルス定義ファイルとの差分データをウイルス定義ファイルとして受け取る。また、受け取ったウイルスチェック手段５０９およびウイルス定義ファイルをメモリ５０２に格納する。
【０２６２】
ウイルスチェック管理手段５１３は、ウイルスチェック実施を管理する。アプリケーションを受信した場合、そのアプリケーションに対してウイルスチェックを行う。
【０２６３】
次に本発明の第６の実施形態の動作について説明する。ここでは、本発明の第６の実施形態と本発明の第１の実施形態とで差分がある動作について説明する。差分があるのは、新たに追加されたウイルスチェックサーバ５に関連した動作である。
【０２６４】
ウイルスチェックサーバ５のウイルスチェック手段５０９とウイルス定義ファイルのアップデートに関する動作は、本発明の第１の実施形態の図１０に示すステップＤ１からＤ６の動作と同様にアップデート管理サーバから最新のウイルスチェック手段５０９とウイルス定義ファイルを獲得する。同様な処理となるため、説明を省略する。
【０２６５】
次に、ユーザ端末３がウイルスチェックサーバにウイルスチェックを依頼する動作について、図３、図１２、図２３、および図２４を参照しながら第１の実施形態と差分がある動作についてのみ説明する。
【０２６６】
図１２のステップＦ１３で第１の実施形態では、アプリケーションに対して全ウイルス定義ファイルを利用したウイルスチェック手段２０９によるウイルスチェックをユーザ端末３上で実施しているが、第６の実施形態では、ウイルスチェック対象となるアプリケーションを通信装置３０５を経由してウイルスチェックサーバ５に送信し、ウイルスチェックをウイルスチェックサーバ５に依頼する。
【０２６７】
ウイルスチェックを依頼されたウイルスチェックサーバ５は、通信装置５０５を経由してアプリ受信手段５０７で受け取る。そして、アプリケーションを受信したことをウイルスチェック管理手段５１３に通知する（ステップＨ１）。
【０２６８】
ウイルスチェック管理手段５１３は、ウイルスチェックの依頼をウイルスチェック手段５０９に依頼する。ウイルスチェック手段５０９はメモリ５０２に格納されているウイルス定義ファイルを利用してウイルスチェックを実施する（ステップＨ２）。
【０２６９】
ウイルスチェック後、ウイルスチェック管理手段５１３は、ユーザ端末３にウイルスの有無情報とウイルスチェック情報を通知する旨をアプリ送信手段５０８に依頼する。アプリ送信手段５０８は、通信装置５０５経由でユーザ端末３に送信する（ステップＨ４）。
【０２７０】
ウイルスチェックの完了したことをユーザ端末３は、通信装置３０５を経由してアプリ獲得手段３０７に送信される。アプリ獲得手段３０７は、署名検証３０９によるアプリケーションのハッシュ値をもとめて、ウイルスチェック情報をメモリ３０２に格納されている図６に示すテーブルに格納する。
【０２７１】
なお、必要であれば、ウイルスチェックサーバ５とユーザ端末３との間でのアプリケーションおよびウイルスチェック情報の送信については、ユーザ端末３の署名検証手段３０９および署名手段３１０、そして、ウイルスチェックサーバ５の署名手段５１０および署名検証手段５１１を利用した、デジタル署名を用いた改竄防止を実施してもよい。
【０２７２】
また、図１２のステップＦ１３の全ウイルス定義ファイルを用いたウイルスチェックが必要な場合のみサーバにウイルスチェックを依頼するのではなく、ステップＦ１０の差分ウイルスチェックを用いたウイルスチェックが必要な場合にもサーバにウイルスチェックを依頼してもよい。
【０２７３】
本発明の第６の実施形態は、本発明の第１の実施形態の構成と動作をベースとして説明したが、本発明の第２の実施形態から本発明の第５の実施形態のいずれにも適用可能である。
【０２７４】
ただし、それぞれの発明を実施するための最良の形態によって、アプリケーション、デジタル署名であるハッシュ値、およびウイルスチェック情報が、アプリケーションに添付する、メモリ３０２に格納するなどの違いがある。よって、ステップＦ１３または、ステップＦ１０ではそれらの適切な処理に対応させる。
【０２７５】
次に、本実施の形態の効果について説明する。
【０２７６】
本実施の形態では、ユーザ端末上でのウイルスチェックは極力行わなわなくさせることが可能となる。これは、ユーザ端末上にウイルスチェックに必要なコンピュータウイルスのパターンの数の違いによるウイルス定義ファイルを複数もち、どのウイルス定義ファイルを利用するのが最適かを決定する仕組みをもち、さらに、大量のパターンを含むウイルス定義ファイルを用いたチェックが必要と判断した場合は、ウイルスチェックが可能なサーバにウイルスチェックを依頼することが可能であるからである。
【０２７７】
（本発明の第７の実施形態）
次に、本発明の第７の実施形態について図面を参照して詳細に説明する。
本発明の第７の実施形態では、ユーザ端末３上でのウイルスチェックは一切行わず、すべてウイルスチェックサーバ５で実施する。
【０２７８】
本発明の第７の実施形態の説明は、本発明の第６の実施形態の差分のみとする。
【０２７９】
本発明の第７の実施形態は、本発明の第６の実施形態と同じであり、図２、図４、図２２、図２３を参照して説明する。ユーザ端末３でウイルスチェックが必要と判断したアプリケーションについては、すべてウイルスチェックサーバ５でウイルスチェックを実施するため、図４のユーザ端末３において本発明の第７の実施形態では、ウイルスチェック手段３１３、定義ファイル選択手段３１４、アップデート更新手段３１５はなくてもよい。また、ウイルス定義ファイルもメモリ３０２に格納する必要はない。
【０２８０】
次に、本発明の第７の実施形態の動作を説明する。
本発明の第７の実施形態と本発明の第６の実施形態の動作の差分についてのみ説明する。
【０２８１】
差分があるのは、アプリケーションのウイルスチェック時の動作である。
【０２８２】
本発明の第７の実施形態のウイルスチェック時の動作を図２５のフローチャートで示す。この図２５を第６の実施形態での動作を示す図１２と比べると、ステップＦ６〜ステップＦ８、ステップＦ１０がない。それ以外のウイルスチェック時の動作は第６の実施形態と同じである。
【０２８３】
また、本発明の第７の実施形態のウイルスチェック手段のアップデート動作は不要である。さらに、本発明の第７の実施形態のウイルス定義ファイルのアップデート動作もほとんどは不要である。必要な動作は、ステップＤ１とステップＤ２のみであり、その動作の結果、本発明の第７の実施形態では、ウイルスチェック手段とウイルス定義ファイルの最新バージョンに関する情報をウイルスチェック管理手段３１６が保持できていればよい。
【０２８４】
次に、本実施の形態の効果について説明する。
【０２８５】
本実施の形態では、ユーザ端末上でのウイルスチェックは一切行わず、ウイルスチェックを実施したのと同じ効果が期待できる。これは、ユーザ端末上にアプリケーションがどのバージョンのウイルスチェック手段とウイルス定義ファイルによってウイルスチェックをしたのかといったウイルスチェック情報をもち、さらに、ウイルスチェック手段とウイルス定義ファイルの最新のバージョン情報、さらに最新バージョン情報の獲得を可能とした仕組みを持ち、もし、ウイルスチェック手段とウイルス定義ファイルがバージョンアップした場合、ウイルスチェックすべきアプリケーションをウイルスチェック可能なサーバにウイルスチェックを依頼することが可能であるからである。
【０２８６】
（本発明の第８の実施形態）
次に、本発明の第８の実施形態について図面を参照して詳細に説明する。
【０２８７】
本発明の第８の実施形態では、ウイルスチェックに使用するウイルス定義ファイルおよびウイルスチェック手段に関する情報がユーザ端末３上で更新された場合、アプリ管理サーバ２から最新のウイルス定義ファイルおよびウイルスチェック手段でチェックされたアプリケーションとなるファイルを獲得する。
【０２８８】
本発明の第８の実施形態の説明は、本発明の第７の実施形態の差分のみとする。
【０２８９】
構成は本発明の第７の実施形態と同じである。
【０２９０】
本発明の第８の実施形態の動作において、本発明の第７の実施形態と異なる動作は、ウイルスチェック動作である。
【０２９１】
動作の差分について図２５と図２６を参照して説明する。図２６は本発明の第８の実施形態の動作を示すフローチャートである。
【０２９２】
図２６のステップＧ１〜Ｇ４は、図２５のステップＦ１〜Ｆ４と同じである。図２６のステップＧ７、Ｇ８は、図２５のステップＦ１３、Ｆ９と同じである。
【０２９３】
本発明の第８の実施形態では、ステップＧ５およびＧ６が第７の実施形態では存在しない。
【０２９４】
ステップＧ５では、ユーザ端末３のウイルスチェック管理手段３１６で管理されているウイルス定義ファイルおよびウイルスチェック手段３１３の最新バージョンに関する情報とウイルスチェック対象となっているファイルが以前チェックされたときのウイルス定義ファイルおよびウイルスチェック手段３１３のバージョンとを比べ、最新バージョンに関する情報が新しいと判断された場合には、ステップＧ７に進む。
【０２９５】
ステップＧ６は、ステップＧ４でファイルが改竄されていると判断された場合と、上記で説明したステップＧ５の場合にこのステップは呼び出される。ステップＧ６では、アプリ管理サーバ２に、ウイルスチェック管理手段３１６で管理されているウイルス定義ファイルおよびウイルスチェック手段３１３の最新バージョンに関する情報でウイルスチェックされたアプリケーションが存在するか問合せる。もし、存在すれば該当するファイルを獲得し、ユーザ端末３内に存在する古いファイルを削除して、アプリ管理サーバ２から獲得したファイルに置き換える。なお、古いファイルを削除した後の処理は、アプリ管理サーバ２からアプリケーションとなるファイルを獲得する処理と同じである。例えば、本発明の第１の実施形態では、図１１のような処理である。
【０２９６】
本発明の第８の実施形態のように最新のウイルス定義ファイルおよびウイルスチェック手段を用いたウイルスチェックが必要となった場合、ウイルスチェックを実施せず、すでにウイルスチェックを実施しているアプリ管理サーバから獲得するといった方法は、本発明の第１の実施形態から本発明の第７の実施形態まですべてに適用可能である。
【産業上の利用可能性】
【０２９７】
本発明によれば、比較的非力なコンピュータでも負荷をかけずにウイルスチェックを高速に行うといった用途に適用できる。
【図面の簡単な説明】
【０２９８】
【図１】本発明の第１の実施形態の構成を示す示すブロック図である。
【図２】第１の実施形態のアップデート管理サーバの構成を示すブロック図である。
【図３】第１の実施形態のアプリ管理サーバの構成を示すブロック図である。
【図４】第１の実施形態のユーザ端末の構成を示すブロック図である。
【図５】第１の実施形態のアプリ管理サーバが配布するパッケージの具体例を示す図である。
【図６】第１の実施形態のユーザ端末が保持するテーブルの具体例を示す図である。
【図７】第１の実施形態のアップデート管理サーバのウイルスチェック手段のアップデート動作を示す流れ図である。
【図８】第１の実施形態のアップデート管理サーバのウイルス定義ファイルのアップデート動作を示す流れ図である。
【図９】第１の実施形態のアプリ管理サーバのアプリ獲得動作を示す流れ図である。
【図１０】第１の実施形態のウイルスチェックのバージョンアップ動作を示す流れ図である。
【図１１】第１の実施形態のユーザ端末のアプリ獲得動作を示す流れ図である。
【図１２】第１の実施形態のユーザ端末のウイルスチェック動作を示す流れ図である。
【図１３】第２の実施形態のアプリ管理サーバが配布するアプリケーションとなるファイルの具体例を示す図である。
【図１４】第３の実施形態のユーザ端末のウイルスチェック動作を示す流れ図である。
【図１５】本発明の第４の実施形態の構成を示す示すブロック図である。
【図１６】第４の実施形態のユーザ端末の構成を示すブロック図である。
【図１７】第４の実施形態のウイルスチェックマッピング管理サーバの構成を示すブロック図である。
【図１８】第４の実施形態のマッピング情報となるテーブルの具体例を示す図である。
【図１９】第４の実施形態のウイルスチェックマッピング管理サーバの構成を示すブロック図である。
【図２０】第５の実施形態のアップデート管理サーバの構成を示すブロック図である。
【図２１】第５の実施形態のパッチマッピングテーブルの具体例を示す図である。
【図２２】本発明の第６の実施形態の構成を示す示すブロック図である。
【図２３】第６の実施形態のウイルスチェックサーバの構成を示すブロック図である。
【図２４】第６の実施形態のウイルスチェックサーバのウイルスチェック動作を示す流れ図である。
【図２５】第７の実施形態のユーザ端末のウイルスチェック動作を示す流れ図である。
【図２６】第８の実施形態のユーザ端末のウイルスチェック動作を示す流れ図である。
【符号の説明】
【０２９９】
１        アップデート管理サーバ
２        アプリ管理サーバ
３        ユーザ端末
４        ウイルスチェックマッピング管理サーバ
５        ウイルスチェックサーバ
１０１、２０１、３０１、４０１、５０１    ＣＰＵ
１０２、２０２、３０２、４０２、５０２    メモリ
１０３、２０３、３０３、４０３、５０３    外部メモリ
１０４、２０４、３０４、４０４、５０４    出力装置
１０５、２０５、３０５、４０５、５０５    通信装置
１０６、２０６、３０６、４０６    入力装置
１０７    アップデータ登録手段
１０８    アップデータ生成手段
１０９    アップデート通知手段
１１０    パッチマッピング管理手段
２０７    アプリ登録手段
２０８    アプリ配布手段
２０９、３１３、５０９    ウイルスチェック手段
２１０    パッケージ作成手段
２１１、３１０、５１０    署名手段
２１２、３１５、５１２    アップデート更新手段
２１３、３１６、５１３    ウイルスチェック管理手段
３０７    アプリ獲得手段
３０８    パッケージ展開手段
３０９、５１１    署名検証手段
３１１    チェック情報登録手段
３１２    チェック情報検索手段
３１４    定義ファイル選択手段
３１７    アプリ実行手段
３１８    マッピング手段
４０７    マッピング登録手段
４０８    マッピング通知手段
５０７    アプリ受信手段
５０８    アプリ送信手段
【図１】
2007200102.tif 000003
【図２】
2007200102.tif 000004
【図３】
2007200102.tif 000005
【図４】
2007200102.tif 000006
【図５】
2007200102.tif 000007
【図６】
2007200102.tif 000008
【図７】
2007200102.tif 000009
【図８】
2007200102.tif 000010
【図９】
2007200102.tif 000011
【図１０】
2007200102.tif 000012
【図１１】
2007200102.tif 000013
【図１２】
2007200102.tif 000014
【図１３】
2007200102.tif 000015
【図１４】
2007200102.tif 000016
【図１５】
2007200102.tif 000017
【図１６】
2007200102.tif 000018
【図１７】
2007200102.tif 000019
【図１８】
2007200102.tif 000020
【図１９】
2007200102.tif 000021
【図２０】
2007200102.tif 000022
【図２１】
2007200102.tif 000023
【図２２】
2007200102.tif 000024
【図２３】
2007200102.tif 000025
【図２４】
2007200102.tif 000026
【図２５】
2007200102.tif 000027
【図２６】
2007200102.tif 000028