(57)【特許請求の範囲】
【請求項１】
デバイスに装着可能なアンチマルウェアシステムオンチップであって、
ＳＯＣ用ＣＰＵと、
スキャン用データを受信するインタフェース部と、
暗号化されたシグネチャーデータを受信するネットワークインタフェース部と、
前記ネットワークインタフェース部が受信した前記暗号化されたシグネチャーデータに対してフィルタリング動作を行うファイアウォールと、
前記暗号化されたシグネチャーデータを復号化する復号化部と、
復号化されたシグネチャーデータを格納する格納部と、
前記復号化されたシグネチャーデータを利用して、前記スキャン用データにウイルスが存在しているかどうかを判断するアンチ−ウイルスエンジンと、を備え、
前記アンチ−ウイルスエンジンは、ウィルスが前記スキャン用データに存在しているかどうかを判断する第１ハードウェアロジックを備えることを特徴とするシステムオンチップ。
【請求項２】
前記格納部に格納されたシグネチャーデータのアップデート動作を行うアップデート手段をさらに備え、
前記復号化部が暗号化されたアップデート用シグネチャーデータを復号化すると、前記アップデート手段は、復号化されたアップデート用シグネチャーデータを利用して前記アップデート動作を行うことを特徴とする請求項１に記載のシステムオンチップ。
【請求項３】
前記復号化部は、前記暗号化されたアップデート用シグネチャーが前記ファイアウォールを通過した場合にのみ復号化動作を行うことを特徴とする請求項１に記載のシステムオンチップ。
【請求項４】
アップデートサーバとセッションとが設定されるごとにセッションキーを生成するキー生成部をさらに備え、
前記ネットワークインタフェース部は、前記セッションキーをアップデートサーバに送信し、
前記アップデートサーバは、送信されたセッションキーを利用してアップデート用シグネチャーデータを暗号化することを特徴とする請求項２に記載のシステムオンチップ。
【請求項５】
前記アップデートサーバは、前記セッションキーを利用して暗号化したアップデート用シグネチャーデータを前記システムオンチップに送信することを特徴とする請求項４に記載のシステムオンチップ。
【請求項６】
アップデート用シグネチャーデータを暗号化するのに使用されるキーを生成するキー生成部をさらに備え、
前記暗号化されたアップデート用シグネチャーデータは、前記キー生成部により生成されたキーによって暗号化されることを特徴とする請求項１に記載のシステムオンチップ。
【請求項７】
所定の暗号化キーを使用して、前記キー生成部が生成したキーを暗号化する暗号化部をさらに備え、
前記ネットワークインタフェース部は、前記暗号化部により暗号化されたキーをアップデートサーバに送信することを特徴とする請求項６に記載のシステムオンチップ。
【請求項８】
前記暗号化部が使用した所定の暗号化キーは、前記アップデートサーバが配布した公開用キーであることを特徴とする請求項７に記載のシステムオンチップ。
【請求項９】
前記暗号化部は、前記キー生成部が生成したキーの暗号化に使用された暗号化アルゴリズムに対する情報を暗号化し、
前記ネットワークインタフェース部は、前記暗号化された暗号化アルゴリズムに対する情報を前記暗号化されたキーと共に前記アップデートサーバに送信することを特徴とする請求項７に記載のシステムオンチップ。
【請求項１０】
前記ファイアウォールは、前記フィルタリング動作を行う第２ハードウェアを含むことを特徴とする請求項１に記載のシステムオンチップ。
【請求項１１】
前記アンチ−ウイルスエンジンは、前記ウイルスが前記スキャン用データに存在しているかどうかを決定する第１ハードウェアロジックを備え、
前記ファイアウォールは、前記フィルタリング動作を行う第２ハードウェアロジックを備えることを特徴とする請求項１に記載のシステムオンチップ。
【請求項１２】
スキャン用データを有するメインモジュールと、このメインモジュールに装着可能なシステムオンチップを備えたデバイスであって、
前記システムオンチップは、
ＳＯＣ用ＣＰＵと、
スキャン用データを受信するインタフェース部と、
シグネチャーデータを受信するネットワークインタフェース部と、
受信した暗号化されたシグネチャーデータに対してフィルタリング動作を行うファイアウォールと、
前記シグネチャーデータを格納する格納部と、
前記シグネチャーデータを利用して、前記スキャン用データにウイルスが存在しているかどうかを判断するアンチ-ウイルスエンジンと、を備えることを特徴とするデバイス。
【請求項１３】
前記システムオンチップは、
暗号化されたアップデート用シグネチャーデータを受信し、
受信した前記暗号化されたアップデート用シグネチャーデータを復号化し、
前記復号化されたアップデート用シグネチャーデータにより、予め格納された前記シグネチャーデータをアップデートすることを特徴とする請求項１２に記載のデバイス。
【請求項１４】
復号化動作を行うソフトウェアの少なくとも一部は、前記メインモジュールが有するプロセッサ又は前記システムオンチップの前記ＣＰＵにより制御されて動作することを特徴とする請求項１３に記載のデバイス。
【請求項１５】
前記システムオンチップは、アップデートサーバとセッションが設定されるごとにセッションキーを生成し、前記セッションキーをアップデートサーバに送信し、
前記アップデートサーバは、送信されたセッションキーを利用してアップデート用シグネチャーデータを暗号化して送信することを特徴とする請求項１４に記載のデバイス。
【請求項１６】
デバイスのメインボード上において動作するデータ（以下「スキャン用データ」という）にウイルスが存在しているかどうかをスキャンする方法であって、
前記メインボードに装着されたシステムオンチップが、このシステムオンチップに備えられたネットワークインタフェース部を介してシグネチャーデータを受信するステップと、
前記システムオンチップに備えられたファイアウォールが前記シグネチャーデータに対するフィルタリング動作を行うステップと、
前記システムオンチップに備えられた格納部に前記受信したシグネチャーデータを格納するステップと、
前記システムオンチップが、前記メインボードから前記スキャン用データを受信するステップと、
前記システムオンチップが、前記受信したスキャン用データと前記格納部に格納された前記シグネチャーデータとを比較して、前記スキャン用データにウイルスが存在しているかどうかを判断するステップと、を含むシステムオンチップを利用したウイルススキャン方法。
【請求項１７】
前記システムオンチップは、暗号化されたアップデート用シグネチャーデータを受信して復号化し、前記復号化されたアップデート用シグネチャーデータにより、予め格納されたシグネチャーデータをアップデートすることを特徴とする請求項１６に記載のウイルススキャン方法。
【請求項１８】
前記システムオンチップは、
前記暗号化されたアップデート用シグネチャーデータをセキュリティー政策に従ってフィルタリングした後、前記セキュリティー政策を満たす場合にのみ復号化することを特徴とする請求項１７に記載のシステムオンチップを利用したウイルススキャン方法。
【請求項１９】
前記システムオンチップは、
アップデートサーバとセッションとが設定されるごとにセッションキーを生成して、前記セッションが設定されたアップデートサーバに前記セッションキーを送信し、
前記アップデートサーバは、前記セッションキーを利用してアップデート用シグネチャーデータを暗号化して、前記システムオンチップに送信することを特徴とする請求項１７に記載のウイルススキャン方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティー機能を有したシステムオンチップ及びこれを利用したデバイス、並びにスキャン方法に関する。
【背景技術】
【０００２】
電子及び／又は電気デバイス（以下、デバイスとする）は、多様な用途として活用されているが、例えば、ＰＣ、サーバ、携帯電話、ＰＤＡ、又はスマートフォンのようなデバイスは、本来の機能の他に金融取引、インターネットショッピング、又はインターネット電話などのように多様な種類の付加的な機能を支援している。しかしながら、このような付加的な機能は、ネットワークを介して支援される場合が多く、このような過程でウイルスのような悪性マルウェアにデバイスが露出する可能性が極めて高まった。一方、半導体設計ＩＰ用システムオンチップの活用度が高まる傾向にあるので、このような傾向に符合しながら、デバイスのセキュリティーを強化できるシステムオンチップの開発が必要となった。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、システムオンチップ及びこれを利用したデバイス、並びにスキャン方法を提供することにある。
【０００４】
また、本発明の目的は、セキュリティー機能を備えた半導体設計ＩＰ用システムオンチップ及びこれを利用したデバイス、並びにスキャン方法を提供するのを目的とする。
【０００５】
また、本発明の目的は、システムオンチップ又は半導体設計ＩＰ用システムオンチップを利用したウイルススキャン方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一実施の形態によれば、デバイスに装着可能なアンチマルウェアシステムオンチップであって、ＳＯＣ用ＣＰＵと、スキャン用データを受信するインタフェース部と、暗号化されたシグネチャーデータを受信するネットワークインタフェース部と、前記ネットワークインタフェース部が受信した前記暗号化されたシグネチャーデータに対してフィルタリング動作を行うファイアウォールと、前記暗号化されたシグネチャーデータを復号化する復号化部と、復号化されたシグネチャーデータを格納する格納部と、前記復号化されたシグネチャーデータを利用して、前記スキャン用データにウイルスが存在しているかどうかを判断するアンチ−ウイルスエンジンとを備え、前記アンチ−ウイルスエンジンは、ウィルスが前記スキャン用データに存在しているかどうかを判断する第１ハードウェアロジックを備えることを特徴とするシステムオンチップが提供される。
【０００７】
本発明の他の実施の形態によれば、スキャン用データを有するメインモジュールと、このメインモジュールに装着可能なシステムオンチップを備えたデバイスであって、前記システムオンチップは、ＳＯＣ用ＣＰＵと、スキャン用データを受信するインタフェース部と、シグネチャーデータを受信するネットワークインタフェース部と、受信した暗号化されたシグネチャーデータに対してフィルタリング動作を行うファイアウォールと、前記シグネチャーデータを格納する格納部と、前記シグネチャーデータを利用して、前記スキャン用データにウイルスが存在しているかどうかを判断するアンチ-ウイルスエンジンと、を備えることを特徴とするデバイスが提供される。
【０００８】
デバイスのメインボード上において動作するデータ（以下「スキャン用データ」という）にウイルスが存在しているかどうかをスキャンする方法であって、前記メインボードに装着されたシステムオンチップが、このシステムオンチップに備えられたネットワークインタフェース部を介してシグネチャーデータを受信するステップと、前記システムオンチップに備えられたファイアウォールが前記シグネチャーデータに対するフィルタリング動作を行うステップと、
前記システムオンチップに備えられた格納部に前記受信したシグネチャーデータを格納するステップと、前記システムオンチップが、前記メインボードから前記スキャン用データを受信するステップと、前記システムオンチップが、前記受信したスキャン用データと前記格納部に格納された前記シグネチャーデータとを比較して、前記スキャン用データにウイルスが存在しているかどうかを判断するステップと、を含むシステムオンチップを利用したウイルススキャン方法が提供される。
【発明の効果】
【０００９】
本発明の一実施の形態によれば、デバイスで使用されるデータに対するスキャン動作とフィルタリング動作とをシステムオンチップを介して行うことで、速くて強力にセキュリティー機能を提供できる。
【００１０】
また、本発明の一実施の形態によれば、スキャン動作に必要なアンチ−ウイルスエンジン、ファイアウォール、及びシグネチャーデータを暗号化して送受信することによって、より安全なセキュリティー機能を提供できる。
【００１１】
また、本発明の一実施の形態によれば、デバイスのメイン動作とは別に、システムオンチップがアップデートサーバから直接アップデート用データを受信してアップデートすることによって、デバイスの性能に影響を及ぼさず、かつセキュリティーを強化させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施の形態に係るシステムオンチップを装着したデバイスを利用するシステムの機能ブロック図である。
【図２】本発明の一実施の形態に係る半導体設計ＩＰ用システムオンチップを利用したメインボードの機能ブロック図である。
【図３】本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップを利用したメインボードの機能ブロック図である。
【図４】本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップを利用したメインボードの機能ブロック図である。
【図５】本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップを利用したメインボードの機能ブロック図である。
【図６】本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップを利用したメインボードの機能ブロック図である。
【図７】本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップを利用したメインボードの機能ブロック図である。
【図８】本発明の一実施の形態に係るシステムオンチップの機能ブロック図である。
【図９】本発明の一実施の形態に係る半導体設計ＩＰ用システムオンチップの機能ブロック図である。
【図１０】本発明の一実施の形態に係るアンチ−ウイルスエンジンのハードウェア部分を示したブロック図である。
【図１１】本発明の一実施の形態に係るファイアウォールのハードウェア部分を示したブロック図である。
【図１２】本発明の一実施の形態に係る半導体設計ＩＰ用システムオンチップがメインボードに装着される例を説明するための図である。
【図１３】本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップがメインボードに装着される例を説明するための図である。
【図１４】本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップがメインボードに装着される例を説明するための図である。
【図１５】本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法を説明するためのフローチャートである。
【図１６】本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法で用いられるアップデート過程を説明するためのフローチャートである。
【図１７】本発明の他の実施の形態に係るシステムオンチップを利用したウイルススキャン方法で用いられるアップデート過程を説明するためのフローチャートである。
【図１８】本発明の他の実施の形態に係るシステムオンチップを利用したウイルススキャン方法で用いられるデータパケットフィルタリング過程を説明するためのフローチャートである。
【図１９】本発明の他の実施の形態に係るシステムオンチップを利用したウイルススキャン方法で用いられるデータパケットフィルタリング過程を説明するためのフローチャートである。
【図２０】本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法で用いられる暗復号化過程を説明するためのフローチャートである。
【図２１】本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法で用いられる暗復号化過程を説明するためのフローチャートである。
【図２２】本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法で用いられる暗復号化過程を説明するためのフローチャートである。
【図２３】本発明の一実施の形態に係るシステムオンチップを使用した場合の効果を説明するための図である。
【図２４】本発明の一実施の形態に係るシステムオンチップを使用した場合の効果を説明するための図である。
【図２５】本発明の一実施の形態に係るシステムオンチップを使用した場合の効果を説明するための図である。
【図２６】本発明の一実施の形態に係るシステムオンチップを使用した場合の効果を説明するための図である。
【図２７】本発明の一実施の形態に係るシステムオンチップを使用した場合の効果を説明するための図である。
【図２８】本発明の一実施の形態に係るシステムオンチップを使用した場合の効果を説明するための図である。
【発明を実施するための形態】
【００１３】
以上の本発明の目的、他の目的、特徴及び利点は、添付された図面と関連した以下の好ましい実施の形態により容易に理解されるはずである。しかしながら、本発明は、ここで説明される実施の形態に限定されずに他の形態で具体化されうる。むしろ、ここで紹介される実施の形態は、開示された内容が徹底かつ完全になるように、そして当業者に本発明の思想を十分に伝達させるために提供されるものである。本明細書において、ある構成要素が他の構成要素上にあると言及される場合に、それは、他の構成要素上に直接形成されうるか、又はそれらの間に第３の構成要素が介在されうることを意味する。
【００１４】
本明細書で使用された用語は、実施の形態を説明するためのもので、本発明を限定するものではない。本明細書において、単数形は、特に言及しない限り、複数形も含む。明細書で使用される「含む（ｃｏｍｐｒｉｓｅｓ）」及び／又は「含む（ｃｏｍｐｒｉｓｉｎｇ）」と言及された構成要素は、一つ以上の他の構成要素の存在又は追加を排除しない。
【００１５】
以下、図面を参照して本発明を詳細に説明する。以下の特定実施の形態を述べるにおいて、様々な特定の内容は、発明をさらに具体的に説明し理解を助けるために作成された。しかしながら、本発明を理解することができる程度のこの分野における知識を有した読者は、このような様々な特定の内容がなくても使用されうることを認知できる。ある場合には、発明を述べるにおいて周知で発明と大きく関連のない部分は、本発明を説明するにおいて特別な理由なしで混乱を引き起こすことを防止するために述べないことを予め言及しておく。
【００１６】
図１は、本発明の一実施の形態に係るシステムオンチップを装着したデバイスを利用するシステムの機能ブロック図である。
【００１７】
同図に示すように、本発明の一実施の形態に係るシステムは、デバイス及びデバイスと通信するサーバ１００（以下、アップデートサーバとする）を備えることができる。
【００１８】
デバイスは、メインモジュール２００とシステムオンチップ２５０（以下、ＳＯＣとする）とを備え、一実施の形態によれば、メインモジュール２００とＳＯＣ２５０とは、メインボード上に装着されうる。ＳＯＣ２５０は、半導体設計ＩＰ用システムオンチップの形態で具現化されるか、又は一般的なシステムオンチップの形態で具現化されることができる。説明の便宜上、「一般的なシステムオンチップ」は、半導体設計ＩＰ用システムオンチップの形態でない他の任意のすべての形態のチップを意味する用語として使用することにする。また、本願明細書において、「ＳＯＣ（システムオンチップ）」は、特に区別する実益がない限り、上述した一般的なシステムオンチップと半導体設計ＩＰ用システムオンチップの両方を通称して使用する。また、本願明細書において「ウイルス」とは、デバイスの動作に害を及ぼすことのできる任意の悪性コードをすべて含む意味として用いられる。例えば、本願明細書において「ウイルス」とは、通常のウイルス、トロイの木馬、スパイウェアー、アドウェアー、入力流出プログラムのように非ウイルス悪性コードをすべて含む意味として使用することにする。
【００１９】
ＳＯＣ２５０は、メインモジュール２００で使用されるか動作するデータ（実行ファイル、データファイル、．．．等、任意のすべてのデータ）（以下、「スキャン用データ」）をメインモジュール２００から受信し、スキャン用データにウイルスが存在しているかどうかを判断する。このために、ＳＯＣ２５０は、後述する実施の形態のようにアンチ−ウイルスエンジンを具備できる。
【００２０】
本発明の一実施の形態によれば、ＳＯＣ２５０は、シグネチャーデータとスキャン用データとを比較することによって、スキャン用データにウイルスが存在しているかどうかを判断できる。シグネチャーデータは、メインモジュール２００又はＳＯＣ２５０に格納されて管理されることができる。シグネチャーデータがメインモジュール２００に格納される場合、ＳＯＣ２５０は、メインモジュール２００からシグネチャーデータを受信して、ウイルススキャン動作を行う。
【００２１】
アップデートサーバ１００は、例えば、アップデート用シグネチャーデータをデバイスに送信できる。一実施の形態によれば、アップデートサーバ１００は、自身のアップデートスケジュールに従って、アップデート用シグネチャーデータをデバイス側に送信するか（以下、プッシュ（ＰＵＳＨ）方式とする）、又は（ａｌｔｅｒｎａｔｉｖｅｌｙ）、デバイス側よりアップデート要請がある場合、アップデート用シグネチャーデータをデバイス側に送信できる（以下、プル（ＰＵＬＬ）方式とする）。
【００２２】
本発明の一実施の形態によれば、アップデートサーバ１００は、ＳＯＣ２５０が備えるアンチ−ウイルス（Ａｎｔｉ−ｖｉｒｕｓ）エンジン（以下、「ＡＶ」又は「ＡＶエンジン」とする）やファイアウォール（以下、「ファイアウォールエンジン」、「ＦＷ」又は「ＦＷエンジン」とする）をアップデートするためのデータも含むことができ、シグネチャーデータと同様にプル方式又はプッシュ方式によりデバイス側に送信できる。一方、プル方式やプッシュ方式は、実施の形態の一つであって、このような方式にのみ本願発明が限定されるものではなく、これらの方式の組合わせや他の方式でもアップデット用データをデバイスに送信できることはもちろんである。
【００２３】
また、本発明の一実施の形態によれば、アップデートサーバ１００は、アップデート用データをデバイスに送信する際に暗号化して送信できる。本明細書において、「アップデート用データ」とは、「アップデート用ファイアウォールデータ」、「アップデート用ＡＶエンジンデータ」、及び「アップデート用シグネチャーデータ」のうち、少なくとも何れか一つを含む意味であり、場合によって上述した三つ全部又はその一部を意味するものとして使用する。
【００２４】
本発明の一実施の形態によれば、アップデートサーバ１００がアップデート用データをデバイス側に送信する際、暗号化して送信できる。本発明の一実施の形態によれば、アップデートサーバ１００とデバイスとの間のセッションが設定されるごとに、新しい暗号化キーを使用することができる。
【００２５】
本発明の一実施の形態によれば、アップデートサーバ１００は、アップデート管理部１０１、暗復号化部１０３、及びデータ格納部１０５を備えることができ、データ格納部１０５は、アップデート用シグネチャーデータ１０７とＡＶ及び／又はＦＷエンジン１０９を格納することができる。一方、図２０は、本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法で用いられる暗復号化過程を説明するためのフローチャートであり、アップデートサーバ１００の暗号化動作について、図１と図２０とを参照して詳細に説明する。
【００２６】
図１と図２０とを参照すれば、アップデートサーバ１００の暗復号化部１０３は、公開キーと秘密キーとを生成できる。公開キーと秘密キーとは、互いに対をなす非対称キーであって、例えば、ＲＳＡアルゴリズムに用いられる公開キーと秘密キールでありうる。デバイスからアップデート用データを受信するための接続要請があるか、又はアップデートサーバ１００のアップデート用データをデバイスに送信しようとする場合、アップデートサーバ１００は、公開キーをデバイスに送信できる。
【００２７】
デバイスは、セッションキーを生成でき、サーバ１００から送信された公開キーと非対称キー方式の暗号化アルゴリズム（例：ＲＳＡアルゴリズム）を利用して、セッションキーを暗号化できる。ここで、非対称キー方式の暗号化アルゴリズムは、サーバ１００と予め約束された暗号化アルゴリズムである。
【００２８】
本実施の形態におけるセッションキーは、対称キー方式の暗号化アルゴリズム（例えば、ＡＥＳ−１２８アルゴリズム）に用いられる対称キーである。
【００２９】
デバイスは、公開キーで暗号化したセッションキーと前記対称キー方式の暗号化アルゴリズムに対する情報をサーバ１００に送信する。一方、対称キー方式の暗号化アルゴリズムに対する情報は暗号化されずに、そのままサーバ１００に送信されることもでき、又は、対称キー方式の暗号化アルゴリズムに対する情報自体も公開キーにより暗号化して送信できる。
【００３０】
本発明の一実施の形態に係るサーバ１００は、デバイスに配布した公開キーと対をなす秘密キーで前記暗号化されたセッションキーを復号化できる。そして、前記対称キー方式の暗号化アルゴリズムに対する情報が公開キーで暗号化されてデバイスから送信されてきた場合には、秘密キーで暗号化されたアルゴリズムに対する情報を復号化できる。
【００３１】
サーバ１００は、暗号化アルゴリズムに対する情報から使用する暗号化アルゴリズムを選択できる。以後、選択した暗号化アルゴリズムとセッションキーとを利用して、アップデート用データを暗号化してデバイスに送信する。
【００３２】
デバイスは、サーバ１００から送信された暗号化されたデータをセッションキーで復号化して、アップデート動作を行うことができる。
【００３３】
本実施の形態において、セッションキーは、非対称キー方式の暗号化方法により送信し、アップデート用データは、対称キー方式の暗号化方法により暗号化して送信したが、これは、例示に過ぎず、非対称キー方式のみを使用するか、対称キー方式のみ使用するか、又はセッションキーの送信は、対称キー方式により具現化し、アップデート用データの送信は非対称キー方式により具現化することも可能である。一方、非対称キー方式の暗号化技術としてＲＳＡ暗号を言及したが、ラビン（Ｒａｂｉｎ）暗号、エルガマル（ＥｌＧａｍａｌ）暗号、又は楕円曲線暗号などのように、他の暗号化技術も本願発明に使用されうる。そして、対称キー方式の暗号化技術としてＡＥＳ−１２８を言及したが、ＤＥＳ暗号のような他の暗号化技術も使用することができる。
【００３４】
図１を参照し続けて本発明の一実施の形態を説明すれば、サーバ１００からデバイスに送信されるアップデート用データは、メインモジュール２００に送信され、メインモジュール２００からＳＯＣ２５０に再度送信されるように構成されることができる。このために、デバイスのメインモジュール２００は、ＯＴＡ（図示せず）通信方式によりアップデート用データをサーバ１００から受信することができるＯＴＡインタフェース部（図示せず）を具備するか、又はサーバ１００とネットワークを介して通信できるネットワークインタフェース部（図示せず）を具備できる。一実施の形態によれば、シグネチャーデータをＳＯＣ２５０ではないメインモジュールが格納管理でき、このような場合、アップデート用シグネチャーデータは、ＳＯＣ２５０に送信されずに、ＡＶエンジンやファイアウォールに対するアップデート用データのみをＳＯＣ２５０に送信されることができる。
【００３５】
一実施の形態によれば、サーバ１００からデバイスに送信されるアップデート用データは、ＳＯＣ２５０に直に送信されるように構成されることができる。このために、ＳＯＣ２５０は、ＯＴＡ（図示せず）通信方式によりアップデート用データをサーバ１００から受信することができるＯＴＡインタフェース部（図示せず）を具備するか、又はサーバ１００とネットワークを介して通信できるネットワークインタフェース部（図示せず）とを備えることができる。
【００３６】
本発明の一実施の形態に係るＳＯＣ２５０は、上述したようなウイルスの存在有無に対するスキャン動作やデータパケットフィルタリング動作のために、別途のプロセッサ（ＣＰＵ）やメモリを具備できる。又は、ＳＯＣ２５０は、メインモジュール２００のプロセッサ及び／又はメモリをメインモジュール２００と共有して、上述した動作を行うことができる。
【００３７】
一方、本発明の一実施の形態に係るシステムは、ウェブサーバ５０をさらに備えることができる。ウェブサーバ５０は、デバイスに多様な形態のウェブサービス（例えば、課金、インターネットバンキング、オンラインショッピング等）を提供するサービスでありうる。このような場合、ＳＯＣ２５０は、ネットワークを介して受信されるデータパケットに対して、所定のセキュリティー政策を適用してフィルタリング動作を行うことができる。
【００３８】
本発明の一実施の形態に係るＳＯＣ２５０は、特定サーバから受信されるデータパケットに対してのみ通過させ、その他のサーバらから受信されるデータパケットは遮断する動作を行うことができる。例えば、ＳＯＣ２５０は、アップデートサーバ１００から受信するデータパケットやウェブサーバ５０から受信されるデータパケットに対しては通過させ、その他のサーバから送信されるデータパケットは遮断させることができる。
【００３９】
本実施の形態におけるデバイスは、システムオンチップ２５０を装着して使用できる装置であれば、如何なる装置でも良く、例えば、コンピュータやセルラーフォン、ＰＤＡ、又はスマートフォンのようなデバイスも可能である。
【００４０】
図２は、本発明の一実施の形態に係る半導体設計ＩＰ用システムオンチップを利用したメインボードの機能ブロック図である。
【００４１】
同図に示すように、本発明の一実施の形態に係る半導体設計ＩＰ用システムオンチップを利用したメインボードは、メインモジュールと半導体設計ＩＰ用システムオンチップとを備える。
【００４２】
メインモジュールは、メインプロセッサ（ＣＰＵ＿ＭＡＩＮ）２０１、メインメモリ（Ｍａｉｎ  Ｍｅｍｏｒｙ）２０３、ＵＩアプリケーション部２０５及び格納部２１１を備える。ここで、ＵＩアプリケーション部２０５は、ＡＶ／ＦＷアプリケーション２０７とＡＶ／ＦＷドライバー２０９とを備えることができ、格納部２１１は、デバイス情報２１３、及びアップデートサーバ情報２１５を含むことができる。シグネチャーデータ２１７は、格納部２１１に格納されるか、又は半導体設計ＩＰ用システムオンチップに格納されることができる。
【００４３】
半導体設計ＩＰ用システムオンチップは、ネットワークインタフェース部２５１、プロセッサ（ＣＰＵ＿ＳＯＣ）２５３、メモリ（ＳＯＣ  Ｍｅｍｏｒｙ）２５５、ファイアウォール（ＦＷ）エンジン２５７、入出力インタフェース部２６３、及びアンチ−ウイルス（ＡＶ）エンジン２６５を備えることができる。ここで、ＦＷエンジン２５７は、パケット識別部２５９とパケットフィルタリング部２６１とを備えることができ、シグネチャーデータ格納部２６７は、オプション構成要素として半導体設計ＩＰ用システムオンチップに含まれるか、又は上述したように、メインモジュールに含まれるように構成できる。
【００４４】
以下、図２の実施の形態を参照して、アップデート動作、ウイルススキャン動作、及びフィルタリング動作について順次に説明する。
【００４５】
アップデート動作
本発明の一実施の形態に係るプル方式によれば、ＡＶ／ＦＷアプリケーション２０７は、ネットワークインタフェース部２５１を介してアップデートサーバ（例えば、図１のサーバ１００）に接続を要請できる。アップデートサーバに対する情報は、格納部２１１に格納されたアップデートサーバ情報２１５を参照して分かり、前記要請には、デバイス情報２１３（例えば、ＡＶエンジン、ファイアウォール、及び／又はシグネチャーデータの現在バージョンに対する情報）が含まれていることができ、サーバ１００は、そういうデバイス情報２１３を参照して、アップデート用データを送信するかどうかを決定できる。ＦＷエンジン２５７は、サーバ情報を参照して前記接続要請に対するフィルタリング動作を行うことができる。
【００４６】
アップデートサーバは、アップデート用データをネットワークインタフェース部２５１に送信し、前記アップデート用データは、ＦＷエンジン２５７を通過してＡＶ／ＦＷアプリケーション２０７に送信される。以後、ＡＶ／ＦＷアプリケーション２０７は、アップデート用データを入出力インタフェース部２６３に送信し、プロセッサ（ＣＰＵ＿ＳＯＣ）２５３は、入出力インタフェース部２６３を介して送信されたアップデート用データで予め格納されたＦＷエンジン、ＡＶエンジン又はシグネチャー格納部２６７に格納されたシグネチャーデータをアップデートできる。一方、シグネチャーデータが格納部２６７でないメインモジュールの格納部２１１に格納された場合には、ＡＶ／ＦＷアプリケーション２０７は、ＡＶエンジン又はＦＷエンジンに対するアップデート用データのみを入出力インタフェース部２６３に送信できる。
【００４７】
又は、ＡＶ／ＦＷアプリケーション２０７が要請してネットワークインタフェース部２５１が受信したアップデート用データは、ＦＷエンジン２５７を通過した後、メインモジュールに送信されずに、直にアップデートされることができる。すなわち、プロセッサ２５３は、ＦＷエンジン２５７を通過したデータパケットがアップデート用データであると判断された場合、メインモジュール側に送信せずに直に予め格納されたＡＶエンジン、ＦＷエンジン、及び／又はシグネチャーデータをアップデートできる。一方、プロセッサ２５３は、ＦＷエンジン２５７を通過したデータパケットがアップデート用データでないと判断された場合には、メインモジュール側にネットワークインタフェース部２５１を介して送信できる。
【００４８】
本発明の一実施の形態に係るプッシュ方式によれば、アップデートサーバ（例えば、図１のサーバ１００）は、ネットワークインタフェース部２５１を介してアップデート用データを送信するとの通知をＡＶ／ＦＷアプリケーション２０７に通知できる。以後、サーバ１００から送信されたアップデート用データをＡＶ／ＦＷアプリケーション２０７は、入出力インタフェース部２６３に送信し、プロセッサ（ＣＰＵ＿ＳＯＣ）２５３は、入出力インタフェース部２６３を介して送信されたアップデート用データを予め格納されたＦＷエンジン、ＡＶエンジン又はシグネチャー格納部２６７に格納されたシグネチャーデータをアップデートする。一方、シグネチャーデータが格納部２６７でないメインモジュールの格納部２１１に格納された場合には、ＡＶ／ＦＷアプリケーション２０７は、ＡＶエンジン又はＦＷエンジンに対するアップデート用データのみを入出力インタフェース部２６３に送信することは、前述した例のとおりである。
【００４９】
スキャン動作
本発明の一実施の形態によれば、ＵＩアプリケーション部２０５は、スキャン動作を行うことを指示できる画面をユーザに提供できる。このような画面を介してスキャン動作の指示がユーザから受信されると、ＡＶ／ＦＷアプリケーション２０７は、ＡＶ／ＦＷドライバー２０９を介してスキャン用データを特定サイズ分だけシステムオンチップに送信する。ＡＶ／ＦＷドライバー２０９を介して送信されるデータを入出力インタフェース部２６３が受信し、ＡＶエンジン２６５は、入出力インタフェース部２６３が受信したスキャン用データに対してスキャン動作を行うことができる。
【００５０】
又は、ＵＩアプリケーション部２０５は、予め決まったスキャンスケジュールに従って、スキャン用データを入出力インタフェース部２６３に送信するように構成されることができる。例えば、ＵＩアプリケーション部２０５は、ユーザにスキャンスケジュールを受け取ることのできる画面を提供でき、そういう画面を介して受け取ったスキャンスケジュールに従って、スキャン用データを入出力インタフェース部２６３に送信できる。
【００５１】
また、ＵＩアプリケーション部２０５は、ユーザからスキャンスケジュールを送信されず、デフォルトとして格納されたスキャンスケジュールに従ってスキャン用データの送信動作を行うか、又は外部サーバ（管理者サーバ）から送信されるスキャンスケジュールを受信して、上述したスキャン用データの送信動作を行うことができる。
【００５２】
フィルタリング動作
本発明の一実施の形態によれば、ＦＷエンジン２５７は、ネットワークインタフェース部２５１を介して受信又は送信されるすべてのデータパケットに対してフィルタリング動作を行うことができる。例えば、パケット識別部２５９は、送受信されるデータパケットがどこからきたしどこへ向かうかに対し識別し、パケットフィルタリング部２６１は、所定のフィルタリング政策に従って、データパケットを遮断又は通過させることができる。本発明の一実施の形態によれば、ＦＷエンジン２５７は、ネットワークインタフェース部２５１を介して送受信されるすべてのデータパケットに対して、フィルタリング動作を行うことができる。
【００５３】
本発明の一実施の形態によれば、ＡＶエンジン２６５、ＦＷエンジン２５７、及び後述する暗復号化エンジン（図示せず）は、それぞれハードウェア及び／又はソフトウェアにより具現化されることができる。これらの少なくとも一部がソフトウェアにより具現化される場合、ＣＰＵ２５３によりＳＯＣメモリ２５５にロードされて動作できる。また、ＡＶエンジン２６５、ＦＷエンジン２５７、及び後述する暗復号化エンジン（図示せず）の少なくとも一部がソフトウェアにより具現化された場合、本システムオンチップは、そういうソフトウェアを格納することができるフラッシュメモリのようなプログラム格納部（図示せず）をさらに具備できる。このような場合、一実施の形態によれば、ＳＯＣがメインモジュールのＣＰＵやメモリを共有するように構成されることができる。これについては、関連図面を参照して後述する。
【００５４】
上述した図２の実施の形態で、メインモジュール、サーバ、及びシステムオンチップ間に特定インタフェース部を介してデータが送受信されると説明したが、これは、例示に過ぎず、本願発明の思想から逸脱しない限度内で上述した方式と異なる方式でデータを互いに送受信するように構成することも可能である。
【００５５】
図３は、本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップを利用したメインボードの機能ブロック図である。
【００５６】
同図に示すように、本実施の形態にメインボードは、メインモジュールと、半導体設計ＩＰ用システム用オンチップとを備える。図２の実施の形態と比較すると、図３の実施の形態は、ＯＴＡインタフェース部３６９をシステムオンチップが備えているという点に決定的な差がある。
【００５７】
ＯＴＡインタフェース部３６９を除いた残りの同図の構成要素は、図２の構成要素と類似に図面番号が付された構成要素と同じ動作を行い、従って、これらの共通した構成要素に関する詳細な説明は省略する。例えば、ＡＶエンジン３６５が行うスキャン動作、ＦＷエンジン３５７のフィルタリング動作、そしてＵＩアプリケーション部３０５のスキャン用データのシステムオンチップへの送信動作、インタフェース部３５１、３６３の動作は、それぞれＡＶエンジン２６５、ＦＷエンジン２５７、ＵＩアプリケーション部２０５、インタフェース部２５１、２６３の動作と同一である。
【００５８】
図２の実施の形態との差異点を中心に、図３の実施の形態を説明する。図３を参照すれば、ＯＴＡインタフェース部３６９は、アップデート用データをアップデートサーバ（図示せず）（例えば、図１のサーバ１００）から直接受信することができる。ＯＴＡインタフェース部３６９により送信されたアップデート用データによって、システムオンチップに格納されたＦＷエンジン３５７、ＡＶエンジン３６５、又はシグネチャーデータ格納部３６７に格納されたシグネチャーデータがアップデートされることができる。例えば、プロセッサ３５３は、ＯＴＡインタフェース部３６９が受信したアップデート用データを利用して、上述したようなアップデート動作を行うことができる。
【００５９】
一実施の形態によれば、シグネチャーデータが格納部３６７でないメインモジュールの格納部３１１に格納され、このような場合、プロセッサ３５３は、ＯＴＡインタフェース部３６９が受信したアップデート用データがシグネチャーデータに対したものであれば、そのアップデート用データをメインモジュール側に送信できる。以後、メインモジュールのプロセッサ３０１は、シグネチャーに対するアップデート用データで格納部３１１に予め格納されたデータをアップデートできる。又は、メインモジュールのプロセッサ３０１でない他の構成要素、例えば、ＡＶアプリケーション３０７がそういうシグネチャーアップデート用データを格納部３１１に格納して管理できる。
【００６０】
本発明の一実施の形態に係るＦＷエンジン３５７は、ＯＴＡインタフェース部３６９から受信されるデータパケットに対してもフィルタリング動作を行うことができる。ＦＷエンジン３５７のそういう動作は選択事項であって、ＯＴＡインタフェース部２６９から受信されるデータパケットに対してフィルタリングするように構成する必要はなく、本発明を実施しようとする者の選択事項でありうる。
【００６１】
図４は、本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップを利用したメインボードの機能ブロック図である。
【００６２】
図４に示すように、本発明の実施の形態に係るメインボードは、メインモジュールと、半導体設計ＩＰ用システム用オンチップとを備える。図２の実施の形態と比較すると、図４の実施の形態は、ネットワークインタフェース部４１９をメインモジュールが備え、システムオンチップは、ネットワークインタフェース部４１９と通信する送受信部４７１が備えるように構成されたという点に差がある。これらの構成要素を除外すると、図４の構成要素は、図２の構成要素と類似に図面番号が付された構成要素と同じ動作を行う。例えば、ＡＶエンジン４６５が行うスキャン動作、ＦＷエンジン４５７のフィルタリング動作、そしてＵＩアプリケーション部４０５のスキャン用データのシステムオンチップへの送信動作は、それぞれＡＶエンジン２６５、ＦＷエンジン２５７、ＵＩアプリケーション部２０５、インタフェース部２５１、２６３の動作と同一である。また、図４の実施の形態でのアップデート動作も、図２の実施の形態でのプル方式又はプッシュ方式のアップデート動作と同一でありうる。
【００６３】
図２の実施の形態との差異点を中心に、図４の実施の形態を説明する。図４に示すように、システムオンチップは、メインモジュールに備えられるネットワークインタフェース部４１９を介して外部に通信するか、又は外部からデータを受信することができる。
【００６４】
例えば、アップデート用データは、ネットワークインタフェース部４１９を介して受信され、ネットワークインタフェース部４１９が受信したアップデート用データは、適切な構成要素の制御（例えば、ＣＰＵ＿ＭＡＩＮ４０１又はＡＶ／ＦＷアプリケーション４０７）によってシステムオンチップに送信されることができる。シグネチャーデータに対するアップデート用データは、メインモジュールの格納部４１１に格納されるか、又はシステムオンチップの格納部４６７に格納されるかによって、システムチップへの送信有無が決定される。
【００６５】
送受信部４７１は、メインモジュールからアップデート用データを受信し、ＦＷエンジン４５７は、そういうアップデート用データに対してフィルタリング動作を行うことができる。フィルタリング動作が完了した後に、アップデート用データにより予め格納されたデータがアップデートされる。
【００６６】
本発明の一実施の形態によれば、アップデート用データでない他のデータもネットワークインタフェース部４１９により受信されることができ、そういうデータもシステムオンチップに送信され、以後ＦＷエンジン４５７によりフィルタリング動作が行われる。フィルタリング動作が完了すると、フィルタリングされたデータは、送受信部４７１を介してメインモジュールに送信される。
【００６７】
図５は、本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップを利用したメインボードの機能ブロック図である。
【００６８】
図５に示すように、本発明の一実施の形態に係るメインボードは、メインモジュールと、半導体設計ＩＰ用システム用オンチップとを備える。図４の実施の形態と比較すると、図５の実施の形態は、メインモジュールがＯＴＡインタフェース部５２１をさらに備えるように構成されたという点に決定的な差がある。このような構成要素を除いては、図５の構成要素は、図４の構成要素と類似に図面番号が付された構成要素と同じ動作を行うことができる。例えば、ＡＶエンジン５６５が行うスキャン動作、ＦＷエンジン５５７のフィルタリング動作、及びＵＩアプリケーション部５０５のスキャン用データのシステムオンチップへの送信動作は、それぞれＡＶエンジン４６５、ＦＷエンジン４５７、ＵＩアプリケーション部４０５、インタフェース部４５１、４６３の動作と同一でありうる。また、図５の実施の形態でのアップデート動作も、図２の実施の形態で説明したプル方式又はプッシュ方式のアップデート動作と同一でありうる。
【００６９】
図４との差異点を中心に、図５の実施の形態を説明する。図５の実施の形態は、アップデート用データをＯＴＡインタフェース部５２１を介して受信するという面で図４と差がある。例えば、アップデートサーバ（図１のサーバ１００）からＯＴＡインタフェース部５２１がアップデート用データを受信し、受信したアップデート用データは、入出力インタフェース部５６３又は送受信部５７１を介してシステムオンチップに送信されることができる。入出力インタフェース部５６３を介してシステムオンチップに送信される場合は、アップデート用データに対してフィルタリング動作が行われず、送受信部５７１を介してシステムオンチップに送信される場合は、ＦＷエンジン５５７のフィルタリング動作が行われることができる。
【００７０】
一方、ネットワークインタフェース部５１９を介して受信されるデータパケットは、アップデートサーバでない他の任意のサーバから受信されることでありえ、このとき、受信されたデータパケットは、システムオンチップの送受信部５７１に送信されて、ＦＷエンジン５５７によりフィルタリング動作が行われる。
【００７１】
本実施の形態において、ネットワークインタフェース部５１９は、アップデート用データを受信しないと説明したが、これは、例示に過ぎず、本発明がこれに限定されるものではない。すなわち、アップデート用データをネットワークインタフェース部５１９とＯＴＡインタフェース部５２１とがそれぞれ受信する構成も可能である。このような場合、ネットワークインタフェース部５１９を介して受信されたアップデート用データは、送受信部５７１に送信されてフィルタリング動作が行われた後に用いられることができる。
【００７２】
一方、ＯＴＡインタフェース部５２１を介して受信されたアップデート用データは、送受信部５７１又は入出力インタフェース部５６３に送信されることができるが、送受信部５７１が受信する場合は、ＦＷエンジン５５７によりフィルタリング動作が完了した後にアップデート動作が行われ、入出力インタフェース部５６３が受信する場合は、フィルタリング動作無しでアップデート動作が行われることができる。
【００７３】
本発明の一実施の形態によれば、シグネチャーデータは、メインモジュールの格納部５１０に格納されることができる。このような場合、ＯＴＡインタフェース部５２１がシグネチャーアップデート用データを受信した場合、システムオンチップに送信せずに直に格納部５１０に予め格納されたシグネチャーデータをアップデートできる。
【００７４】
本発明の他の実施の形態によれば、ＯＴＡインタフェース部５２１がシグネチャーアップデート用データを受信した場合にも、フィルタリング動作を行うように構成されることができ、このような場合、システムオンチップの送受信部５７１にシグネチャーアップデート用データが送信される。ＦＷエンジン５５７は、シグネチャーアップデート用データに対するフィルタリング動作を行った後、送受信部５７１を介してメインモジュール側にシグネチャーアップデート用データを再度送信する。以後、メインモジュールは、格納部５１１に格納されたシグネチャーデータをアップデートする。
【００７５】
本発明の他の実施の形態によれば、シグネチャーアップデート用データをネットワークインタフェース部５１９が受信する場合、シグネチャーアップデート用データに対してＦＷエンジン５５７のフィルタリング動作が完了した後に、メインモジュールの格納部５１１又はシステムオンチップの格納部５６７に予め格納されたシグネチャーデータがアップデートされることができる。
【００７６】
図６は、本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップを利用したメインボードの機能ブロック図である。
【００７７】
図６に示すように、本発明の一実施の形態に係るメインボードは、メインモジュールと、半導体設計ＩＰ用システムオンチップとを備える。図５の実施の形態と比較すると、図６の実施の形態は、システムオンチップが暗復号化エンジン６７１をさらに備えるように構成された点に決定的な差がある。このような構成要素を除いた図６の構成要素は、図５の構成要素と類似に図面番号が付された構成要素と同じ動作を行い、これらの共通の構成要素に対しては、上記の説明を参照すれば良い。例えば、ＡＶエンジン６６５が行うスキャン動作、ＦＷエンジン６５７のフィルタリング動作、及びＵＩアプリケーション部６０５のスキャン用データのシステムオンチップへの送信動作は、それぞれＡＶエンジン５６５、ＦＷエンジン５５７、ＵＩアプリケーション部５０５、インタフェース部５５１、５６３の動作と同一でありうる。また、図６の実施の形態でのアップデート動作も図２の実施の形態で説明したプル方式又はプッシュ方式のアップデート動作と同じ方式で行うことができる。
【００７８】
図５との差異点を中心に、図６の実施の形態を説明する。図６の実施の形態は、暗号化されたアップデート用データをサーバから受信するという点に前述した実施の形態と差がある。
【００７９】
図６の実施の形態がプル方式に従ってアップデート用データを受信する場合をまず説明する。ＡＶ／ＦＷアプリケーション６０７は、アップデートサーバ（例えば、図１のサーバ１００）に接続を要請する。サーバ１００は、予め生成しておいた公開キーと秘密キーのうち、公開キーを送信し、サーバ１００から送信された公開キーは、システムオンチップのＦＷエンジン６５７を通過して暗復号化エンジン６７１に送信されることができる。暗復号化エンジン６７１は、キー格納部６６９に公開キーを格納する。暗復号化エンジン６７１のセッションキー生成部６７７は、ネットワークセッション当たりに必要なキーを生成し、キー格納部６６９に格納しておく。以後、暗復号化エンジン６７１は、前記セッションキーを前記キー格納部６６９に格納された公開キーを利用して暗号化する。以後、システムオンチップは、暗号化されたセッションキーと暗号化アルゴリズムに対する情報（暗号化アルゴリズムに対する情報を公開キーで暗号化して送信することができる）をサーバ１００に送信する。例えば、暗号化されたセッションキーと暗号化アルゴリズムに対する情報は、入出力インタフェース部６６３を介してＡＶ／ＦＷアプリケーション６０７に送信され、ＡＶ／ＦＷアプリケーション６０７は、ネットワークインタフェース部６１９を介して前記暗号化されたセッションキーと暗号化アルゴリズムに対する情報をサーバ１００に送信できる。
【００８０】
サーバ１００は、デバイスに配布した公開キーと対になる秘密キーを利用して、前記暗号化されたセッションキーを復号化し、暗号化アルゴリズムに対する情報を利用して暗号化アルゴリズムを選択する。選択した暗号化アルゴリズムとセッションキーとを暗号化キーとして使用してアップデート用データを暗号化して、メインモジュールに送信できる。本実施の形態において、暗号化アルゴリズムに対する情報が暗号化されずにサーバ１００に送信されると説明したが、暗号化アルゴリズムに対する情報とセッションキーとをすべて公開キーで暗号化してサーバ１００に送信することもできる。
【００８１】
一例を挙げれば、ＡＶ／ＦＷアプリケーション６０７は、サーバ１００から受信される暗号化されたアップデート用データを入出力インタフェース部６６３を介して暗復号化エンジン６７１に送信できる。暗復号化エンジン６７１の復号化部６７５は、キー格納部６６９に格納されたセッションキーを利用して暗号化されたデータを復号化する。以後、復号化されたアップデート用データにより予め格納されたデータがアップデートされることができる。
【００８２】
他の例として、ＡＶ／ＦＷアプリケーション６０７は、サーバ１００から受信される暗号化されたアップデート用データを送受信部６８１を介してＦＷエンジン６５７に送信でき、以後、ＦＷエンジン６５７によりフィルタリング動作が完了すると、アップデート用データが暗復号化エンジン６７１に送信される。暗復号化エンジン６７１の復号化部６７５は、キー格納部６６９に格納されたセッションキーを利用して、暗号化されたアップデート用データを復号化する。以後、復号化されたアップデート用データにより予め格納されたデータがアップデートされることができる。
【００８３】
アップデートサーバの公開キー、暗号化されたセッションキーや暗号化アルゴリズムに対する情報、及び暗号化されたアップデート用データなどは、ＯＴＡインタフェース部６２１やネットワークインタフェース部６１９を介して送信又は受信されることができる。ネットワークインタフェース部６１９やＯＴＡインタフェース部６２１を介して送受信される場合、ＦＷエンジン６５７を介するか、又は介さないように構成することが可能であることは、上述のとおりである。
【００８４】
図６の実施の形態がプル方式に従って暗号化されたアップデート用データを受信する場合を説明すれば、アップデートサーバ（例えば、図１のサーバ１００）は、自身のアップデートスケジュールに従ってＡＶ／ＦＷアプリケーション６０７に接続を要請する。以後の動作は、上述したプル（ＰＵＬＬ）方式と同じ過程を介して暗号化されたアップデート用データを復号化してアップデートできる。
【００８５】
本発明の一実施の形態によれば、シグネチャーデータがメインモジュールの格納部６１１に格納されて管理されることができる。このような場合、復号化部６７５により復号化されたアップデート用シグネチャーデータは、入出力インタフェース部６６３を介してメインモジュールに送信される。メインモジュールでは、受信したアップデート用シグネチャーデータで格納部６１１に格納されたシグネチャーデータをアップデートできる。
【００８６】
本発明の他の実施の形態によれば、シグネチャーデータがシステムオンチップの格納部６６７に格納されて管理されることができる。このような場合、復号化部６７５により復号化されたアップデート用シグネチャーデータで格納部６６７に予め格納されたシグネチャーデータがアップデートされることができる。
【００８７】
上述した図６の実施の形態におけるセッションキーの交換は、非対称キー方式の暗号化方法を使用し、アップデート用データは、対称キー方式の暗号化方法を使用したが、これは、例示に過ぎず、非対称キー方式のみ又は対称キー方式のみを使用するか、又はセッションキーの送信は対称キー方式により、アップデート用データの送信は、非対称キー方式により具現化することも可能である。
【００８８】
また、図６の実施の形態においてアップデート用データに対して暗復号化過程を説明したが、アップデート用データでない他の暗号化が必要なデータに対しても、本発明の思想から逸脱しない限度で本願発明が適用されうることはもちろんである。
【００８９】
図７は、本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップを利用したメインボードの機能ブロック図である。
【００９０】
図７に示すように、本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップを利用したメインボードは、メインモジュールと、半導体設計ＩＰ用システム用オンチップとを備える。図６の実施の形態と比較すると、図７の実施の形態は、ＯＴＡインタフェース部７６９をメインモジュールでないシステムオンチップが備えるという点に決定的な差がある。このような構成要素を除いた残りの図７の構成要素は、図６の構成要素と類似に図面番号が付された構成要素と同様に動作できる。例えば、ＡＶエンジン７６５が行うスキャン動作、ＦＷエンジン７５７のフィルタリング動作、及びＵＩアプリケーション部７０５のスキャン用データのシステムオンチップへの送信動作は、それぞれＡＶエンジン６６５、ＦＷエンジン６５７、ＵＩアプリケーション部６０５、インタフェース部６５１、６６３の動作と同一でありうる。また、図７の実施の形態でのアップデート動作も、図２の実施の形態で説明したプル方式又はプッシュ方式のアップデート動作と同一でありうる。
【００９１】
図６の実施の形態との差異点を中心に、図７の実施の形態を説明する。図７の実施の形態において、システムオンチップは、サーバから暗号化されたアップデート用データをＯＴＡインタフェース部７６９を介して直接受信できるという点に、前述した図６の実施の形態と差がある。暗号化されたアップデート用データをネットワークインタフェース部７１９を介して受信する過程は、上述した図６の実施の形態と同一でありうる。
【００９２】
本発明の一実施の形態によれば、暗復号化部エンジン７７１は、公開キー、公開キーで暗号化されたセッションキー、及び暗号化アルゴリズムに対する情報をネットワークインタフェース部７１９によって送信又は受信し、セッションキーで暗号化されたアップデート用データは、ＯＴＡインタフェース部７６９を介して受信するように構成されることができる。一方、サーバ１０から公開キーを受信し、暗号化されたセッションキーと復号化アルゴリズムに対する情報をサーバ１０に送信するまでの過程は、上述した実施の形態と同一でありうる。
【００９３】
本発明の他の実施の形態によれば、暗復号化エンジン７７１は、公開キー、公開キーで暗号化されたセッションキー、暗号化アルゴリズムに対する情報、及びセッションキーで暗号化されたアップデート用データを全部ＯＴＡインタフェース部７６９を介して送信又は受信するように構成されることができる。
【００９４】
図８は、本発明の一実施の形態に係るシステムオンチップの機能ブロック図である。
【００９５】
図８に示すように、本発明の一実施の形態に係るシステムオンチップは、プロセッサ（ＣＰＵ）、ＤＭＡコントローラ（ＤＭＡ  Ｃｏｎｔｒｏｌｌｅｒ）、乱数発生器（Ｒａｎｄｏｍ  Ｎｕｍｂｅｒ  Ｇｅｎｅｒａｔｏｒ）、入出力データアドレススクランブラー（Ｉ／Ｏ  ｄａｔａ  ａｄｄｒｅｓｓ  ｓｃｒａｍｂｌｅｒ）、非対称キー発生器（Ａｓｙｍｍｅｔｒｉｃ  Ｋｅｙ  Ｇｅｎｅｒａｔｏｒ）、非対称復号化エンジン（Ａｓｙｍｍｅｔｒｉｃ  Ｄｅｃｒｙｐｔｉｏｎ  Ｅｎｇｉｎｅ）、非対称暗号化エンジン（Ａｓｙｍｍｅｔｒｉｃ  Ｅｎｃｒｙｐｔｉｏｎ  Ｅｎｇｉｎｅ）、対称復号化エンジン（Ｓｙｍｍｅｔｒｉｃ  Ｄｅｃｒｙｐｔｉｏｎ  Ｅｎｇｉｎｅ）、対称暗号化エンジン（Ｓｙｍｍｅｔｒｉｃ  Ｅｎｃｒｙｐｔｉｏｎ  Ｅｎｇｉｎｅ）、（Ｓ）ＤＲＡＭコントローラ（（Ｓ）ＤＲＡＭ  Ｃｏｎｔｒｏｌｌｅｒ）、フラッシュコントローラ（Ｆｌａｓｈ  Ｃｏｎｔｒｏｌｌｅｒ）、ＳＲＡＭコントローラ（ＳＲＡＭ  Ｃｏｎｔｒｏｌｌｅｒ）、バッファ（ｂｕｆｆｅｒ）、ＡＶエンジン（Ａｎｔｉ−ｖｉｒｕｓ  Ｅｎｇｉｎｅ）、ＦＷエンジン（ＦＷ  Ｅｎｇｉｎｅ）、ｃｏｎｆｉｇｕｒｅ＆ＡＰＢ、ブート（ｂｏｏｔ）、ＤＲＡＭ、フラッシュメモリ（Ｆｌａｓｈ  Ｍｅｍｏｒｙ）、ネットワークインタフェース部（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  ｐａｒｔ）、ＵＡＲＴ、ＳＰＩ、及びＧＰＩＯを備えることができる。
【００９６】
本実施の形態において、プロセッサ（ＣＰＵ）は、図２ないし図７の実施の形態でのシステムオンチップが有するＣＰＵ＿ＳＯＣの動作を行い、乱数発生器、入出力データアドレススクランブラー、非対称キー発生器、非対称復号化エンジン、対称復号化エンジン、対称暗号化エンジンなどは、前述した図６と図７の実施の形態での暗復号化エンジンの動作を行うことができる。例えば、乱数発生器は、図６と図７のキー生成部に対応するものであって、セッションキーを生成できる。非対称暗号化エンジン（Ａｓｙｍｍｅｔｒｉｃ  Ｅｎｃｒｙｐｔｉｏｎ  Ｅｎｇｉｎｅ）は、乱数発生器により生成されたセッションキーを予め配布された公開キーで暗号化し、そして対称キー暗号アルゴリズムを前記公開キーにより暗号化する。以後、暗号化されたセッションキーと対称キー方式の暗号化アルゴリズムに対する情報は、ネットワークインタフェース部を介して外部サーバに送信される。外部サーバ（例えば、アップデートサーバ）では、暗号化されたセッションキーを前記公開キーと対をなす秘密キーを使用して復号化し、暗号化アルゴリズムに対する情報を利用して暗号化するアルゴリズムを選択し、選択した暗号化アルゴリズムとセッションキーとを使用して送信するデータを暗号化して送信できる。
【００９７】
ネットワークインタフェース部が送信された暗号化されたデータは、対称キー方式の暗号化アルゴリズムにより暗号化されたものであって、対称復号化エンジンがセッションキーを使用して復号化できる。
【００９８】
一方、本願発明の一実施の形態によれば、アップデート用データは、対称キー方式の暗号アルゴリズムや非対称キー方式の暗号アルゴリズムの多様な組み合わせで暗号化及び復号化されることができ、上で説明しない対称暗号化エンジン、非対称キー発生器、非対称復号化エンジン等は、そういう多様な組合わせの暗号化及び復号化動作を行うことができる。一方、図８に例示される入出力データアドレススクランブラーは、ハッキングによってＩＰが操作されるのを防止するために動作できる。
【００９９】
（Ｓ）ＤＲＡＭコントローラ、及びフラッシュコントローラ、ＳＲＡＭコントローラは、それぞれＤＲＡＭ、フラッシュメモリ、バッファを制御できる。
【０１００】
ブート（ｂｏｏｔ）は、システムオンチップに電源が供給される際、システムオンチップを駆動させるシステムプログラムをＤＲＡＭにロードさせることができる。システムプログラムがＤＲＡＭにロードされると、ロードされたシステムプログラムによりシステムオンチップが動作される。
【０１０１】
configure＆ＡＰＢは、システムオンチップに対するコンフィギュレーション（ｃｏｎｆｉｇｕｒａｔｉｏｎ）動作を行うことができる。
【０１０２】
図８のＡＶエンジンとＦＷエンジンは、上述した図２ないし図７でのＡＶエンジンとファイアウォールとに対応する動作を行うことができる。例えば、図８のＡＶエンジンは、スキャニング用データとシグネチャーデータとを比較して、ウイルスの有無を判断し、ＦＷエンジンは、ネットワークインタフェース部を介して送受信されるデータパケットに対して、所定のセキュリティー政策に従ってフィルタリング動作を行うことができる。
【０１０３】
本発明の一実施の形態によれば、ＡＶエンジンとＦＷエンジンとは、ソフトウェアにより具現化されることができる。このような場合、ＡＶエンジンとＦＷエンジンとは、フラッシュメモリに格納され、プロセッサ（ＣＰＵ）によりＤＲＡＭにロードされて動作されうる。本実施の形態において、フラッシュメモリにシグネチャーデータも格納されることができる。フラッシュメモリに格納されたシグネチャーデータは、一定サイズ分だけＤＲＡＭにロードされて、スキャン動作時に用いられることができる。
【０１０４】
本発明の他の実施の形態によれば、図８のＡＶエンジンとＦＷエンジンとは、それぞれハードウェア及びソフトウェアにより具現化されることができる。例えば、ＡＶエンジンは、ハードウェアとソフトウェアにより具現化されることができ、ここでソフトウェア部分は、フラッシュメモリに格納され、プロセッサ（ＣＰＵ）によりＤＲＡＭにロードされて、ＡＶエンジンのハードウェアと共にスキャン動作を行うことができる。ＦＷエンジンのソフトウェア部分もフラッシュメモリに格納されて、プロセッサ（ＣＰＵ）によりＤＲＡＭにロードされて、ＦＷエンジンのハードウェアと共にフィルタリング動作を行うことができる。
【０１０５】
一実施の形態によれば、シグネチャーデータは、フラッシュメモリでないメインモジュール（図示せず）に格納されてから、スキャン動作が行われる時にシステムオンチップのＤＲＡＭにロードされて用いられることができる。本実施の形態によれば、ＵＡＲＴ、ＳＰＩ、及びＧＰＩＯは、メインモジュール及び／又は外部装置との通信インタフェースを提供できる。
【０１０６】
図８の実施の形態において、システムオンチップがＣＰＵとＤＲＡＭとを備えると説明したが、メインモジュールのＣＰＵとＤＲＡＭとをシステムオンチップが共有するようにする構成も可能である。例えば、メインモジュールのＣＰＵをシステムオンチップが共有する場合には、メインモジュールのＣＰＵがＡＶエンジンを動作させて、スキャニング動作を行うことができる。
【０１０７】
他の例として、メインモジュールのＤＲＡＭをシステムオンチップが共有する場合、ＡＶエンジンがメインモジュールのＤＲＡＭにロードされて動作されうる。このような場合、シグネチャーデータとスキャニング用データとがすべてメインモジュールのＤＲＡＭにロードされて、スキャニング動作が行われることができる。
【０１０８】
図９は、本発明の一実施の形態に係る半導体設計ＩＰ用システムオンチップの機能ブロック図である。
【０１０９】
図９に示すように、本発明の一実施の形態に係る半導体設計ＩＰ用システムオンチップは、プロセッサ（ＣＰＵ）、ＳＤＲＡＭ（又はＤＲＡＭ）、フラッシュメモリ、非対称キー発生器（Ａｓｙｍｍｅｔｒｉｃ  Ｋｅｙ  Ｇｅｎｅｒａｔｏｒ）、ＡＶエンジン（Ａｎｔｉ−ｖｉｒｕｓ  Ｅｎｇｉｎｅ）、ＦＷエンジン（ＦＷ  Ｅｎｇｉｎｅ）、乱数発生器（Ｒａｎｄｏｍ  Ｎｕｍｂｅｒ  Ｇｅｎｅｒａｔｏｒ）、入出力データアドレススクランブラー（Ｉ／Ｏ  ｄａｔａ  ａｄｄｒｅｓｓ  ｓｃｒａｍｂｌｅｒ）、非対称復号化エンジン（Ａｓｙｍｍｅｔｒｉｃ  Ｄｅｃｒｙｐｔｉｏｎ  Ｅｎｇｉｎｅ）、非対称暗号化エンジン（Ａｓｙｍｍｅｔｒｉｃ  Ｅｎｃｒｙｐｔｉｏｎ  Ｅｎｇｉｎｅ）、対称復号化エンジン（Ｓｙｍｍｅｔｒｉｃ  Ｄｅｃｒｙｐｔｉｏｎ  Ｅｎｇｉｎｅ）、及び対称暗号化エンジン（Ｓｙｍｍｅｔｒｉｃ  Ｅｎｃｒｙｐｔｉｏｎ  Ｅｎｇｉｎｅ）を備えることができる。
【０１１０】
図９の非対称キー発生器、ＡＶエンジン、ＦＷエンジン、乱数発生器、入出力データアドレススクランブラー、非対称復号化エンジン、対称復号化エンジン、対称暗号化エンジン、非対称暗号化エンジン（図示せず）は、上述した暗復号化過程を行うことができる。このような構成要素の動作は、図８の実施の形態を参照すれば良い。
【０１１１】
図９の実施の形態によれば、ＡＶエンジンの一部がハードウェアにより具現化され、残りは、そういうハードウェアを駆動するためのソフトウェアにより具現化されることができる。このソフトウェアは、フラッシュメモリに格納され、スキャン動作時にＳＤＲＡＭにロードされて動作される。ＳＤＲＡＭには、シグネチャーデータとスキャン用データもロードされる。
【０１１２】
図９の一実施の形態によれば、ＡＶエンジンは、ソフトウェアによってのみ具現化されることもできる。このような場合にも、フラッシュメモリにＡＶエンジンが格納され、スキャン動作時にＣＰＵによりＳＤＲＡＭにロードされて動作できる。
【０１１３】
図９の一実施の形態によれば、ＦＷエンジンの少なくとも一部がソフトウェアにより具現化されることができ、ＦＷエンジンのソフトウェア部分は、フラッシュメモリに格納され、ＣＰＵによりＳＤＲＡＭにロードされて動作できる。
【０１１４】
図９の一実施の形態によれば、フラッシュメモリには、ソフトウェアにより具現化されたＡＶエンジン、ソフトウェアにより具現化されたファイアウォール、及びシグネチャーデータが格納されていることができる。
【０１１５】
他の実施の形態によれば、メインモジュールと半導体設計ＩＰ用システムオンチップとがＣＰＵ又はＤＲＡＭを共有することができる。ＣＰＵを共有する場合には、メインモジュールのＣＰＵが半導体設計ＩＰ用システムオンチップに存在するＡＶエンジン及び／又はＦＷエンジンをＤＲＡＭにロードして、スキャン動作を行うことができる。ＤＲＡＭを共有する場合には、半導体設計ＩＰ用システムオンチップが有するＣＰＵが半導体設計ＩＰ用システムオンチップに存在するＡＶエンジン及び／又はＦＷエンジンを共有ＤＲＡＭにロードして、スキャン動作又はフィルタリング動作を行うことができる。如何なる場合でも、前記ＤＲＡＭには、特定サイズのシグネチャーデータとスキャン用データとがロードされうる。
【０１１６】
図１０は、本発明の一実施の形態に係るＡＶエンジンのハードウェアロジックを示したブロック図である。
【０１１７】
図１０に示すように、本発明の一実施の形態に係るＡＶエンジンのハードウェアロジックは、システムレジスタ、システムインタフェース、メモリインタフェース、ハッシュＤＢ、バッファ、ハッシュマッチャー、テキストローダー、ハッシュＱバッファ、サブマッチャ、及びスキャンＱバッファを備える。
【０１１８】
図１０の実施の形態によれば、システムインタフェース（Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）は、バスインタフェースを介してＡＶエンジンの動作状態を制御できる。例えば、ＡＭＢＡ２．０プロトコルのバスインタフェースを介して、ＡＶエンジンの動作状態を制御できる。また、本システムオンチップが半導体設計ＩＰ用システムオンチップとして設計される際には、システムインタフェースは、例えば、ＡＸＩバスインタフェースを介して、ＡＶエンジンの動作状態を制御できる。
【０１１９】
図１０の実施の形態によれば、システムレジスタは、ＡＶエンジンの動作状態を把握するか、又は各バッファの状態と割込みの状態を示すレジスタを含むことができる。
【０１２０】
図１０の実施の形態によれば、ＡＶエンジンの性能改善のために、ＡＶエンジンの動作状態、動作制御のためのレジスト領域のコンフィギュレーション部（ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｐａｒｔ）に該当するシステムインフォメーション部分と高速のデータ処理のためのデータ経路（ｐａｔｈ）とをそれぞれ異なるポートに分離して速度が向上するようにした。また、読み出し動作（マッチャーエンジン）と書き込み動作（システム又はＤＲＡＭ）とを分離させることによって、デュアルポートメモリを使用しなくてもＤＢインタフェイス部で読み出し動作と書き込み動作とを制御できるようにした。
【０１２１】
図１１は、本発明の一実施の形態に係るファイアウォールのハードウェアロジック部分を示したブロック図である。図１１に示すように、本発明の一実施の形態に係るファイアウォールのハードウェアロジック部分は、メモリインタフェース、システムインタフェース、バッファ、ルールメモリ、バッファ、現在パケットメモリ、コンフィギュレーションレジスタ、割込み発生器、及びパケットマッチャーを備えることができる。
【０１２２】
図１１の実施の形態によれば、メモリインタフェースは、ａｈｂ２ｍｅｍブロックを有することができ、このようなａｈｂ２ｍｅｍは、例えば、ＡＭＢＡ（２．０）ｂｕｓ規格をメモリインタフェース規格に転換する機能を行うことができる。
【０１２３】
図１１の実施の形態によれば、外部メモリ（Ｅｘｔｅｒｎａｌ  ｍｅｍｏｒｙ）に格納されたルール又は内部規則（ｉｎｔｅｒｎａｌ  ｒｕｌｅ）とＮＩＣを介した現在パケット（Ｃｕｒｒｅｎｔ  ｐａｃｋｅｔ）の比較のために、両側の速度制御が必要な部分が必要となるが、このためにＦＩＦＯバッファを使用することができる。すなわち、外部メモリから読み出されるルールデータをＦＩＦＯバッファに入れることができる。
【０１２４】
図１１の実施の形態によれば、ルールメモリは、現在パケット内の有効バイトのサム（ＳＵＭ）値を介したルール（Ｒｕｌｅ）のカテゴリー化、外部メモリのアクセス頻度を減らすために使用されるレジスタブロックでありうる。
【０１２５】
図１１の実施の形態によれば、ＮＩＣを介して伝達されたデータパケットは、ＳＤＲＡＭの決まった位置に格納され、データフィルタの結果によってパケットの処理有無が決定される。このような場合、ＳＤＲＡＭのデータ経路に多い量のデータが処理され、このためにバッファが必要でありうる。
【０１２６】
図１２は、本発明の一実施の形態に係る半導体設計ＩＰ用システムオンチップがメインボードに装着される例を説明するための図である。
【０１２７】
図１２の一実施の形態によれば、半導体設計ＩＰ用システムオンチップ８５０は、独立的なＣＰＵ（ＣＰＵ＿ＳＯＣ）を具備することができ、メインモジュールのＣＰＵ（ＣＰＵ＿ＭＡＩＮ）を共有しなくても良い。
【０１２８】
図１２の一実施の形態によれば、半導体設計ＩＰ用システムオンチップ８５０は、メインモジュールのＲＡＭ（ＳＲＡＭ）を共有できる。このような場合メインモジュールのＲＡＭ（ＳＲＡＭ）には、スキャン用データとシグネチャーデータとがロードされ、半導体設計ＩＰ用システムオンチップ８５０でソフトウェアにより具現化される暗復号化部、ＡＶ、及び／又はＦＷ部分もメインモジュールのＲＡＭ（ＳＲＡＭ）にロードされて、それぞれの動作を行うことができる。
【０１２９】
図１３は、本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップがメインボードに装着される例を説明するための図である。
【０１３０】
図１３の一実施の形態によれば、半導体設計ＩＰ用システムオンチップ９５０は、メインモジュールに備えられた２個以上のＣＰＵのうちの何れか一つを使用することができる。例えば、システムオンチップ９５０は、メインモジュールに含まれたＣＰＵ（ＣＰＵ＿ＳＯＣ）を使用し、メインモジュールの他のＣＰＵ（ＣＰＵ＿ＭＡＩＮ）は使用しない。ＣＰＵが１個であってもマルチプロセシング機能が支援されるプロセッサ（マルチプロセッサ）をメインモジュールが有した場合には、半導体設計ＩＰ用システムオンチップ８５０は、マルチプロセッサの資源の一部を専用して使用することができる。
【０１３１】
本実施の形態は、メインモジュールのＣＰＵとメモリとを使用する形態で構成されたものであって、このような場合、メインモジュールのＲＡＭ（ＳＲＡＭ）には、スキャン用データとシグネチャーデータとがロードされ、半導体設計ＩＰ用システムオンチップ８５０でソフトウェアにより具現化される暗復号化部、ＡＶ及び／又はＦＷ部分も、メインモジュールのＲＡＭ（ＳＲＡＭ）にロードされて、それぞれの動作を行うことができる。
【０１３２】
図１４は、本発明の他の実施の形態に係る半導体設計ＩＰ用システムオンチップがメインボードに装着される例を説明するための図である。
【０１３３】
図１４の一実施の形態によれば、半導体設計ＩＰ用システムオンチップ１０５０は、独立的なメインモジュールのＣＰＵを共有し、またメインモジュールのＳＤＲＡＭを共有できる。
【０１３４】
本実施の形態は、ＣＰＵとメモリとをすべて共有する形態で構成されたものであって、このような場合、メインモジュールのＲＡＭ（ＳＤＲＡＭ）には、スキャン用データとシグネチャーデータとがロードされ、半導体設計ＩＰ用システムオンチップ１０５０でソフトウェアにより具現化された暗復号化部、ＡＶ、及び／又はＦＷ部分もメインモジュールのＲＡＭ（ＳＤＲＡＭ）にロードされて、それぞれの動作を行うことができる。
【０１３５】
図１５は、本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法を説明するためのフローチャートである。
【０１３６】
図１、図２、及び図１５の実施の形態を参照して、本発明の一実施の形態に係るスキャン方法を説明すれば、メインモジュール２００がスキャン用データをＳＯＣ２５０に送信し（Ｓ２０１）、ＳＯＣ２５０は、スキャン用データを受信する（Ｓ２０３）。
【０１３７】
ＳＯＣ２５０は、シグネチャーデータをＳＯＣメモリ２５５（ＳＯＣ  Ｍｅｍｏｒｙ）にロードし（Ｓ２０２）、シグネチャーデータとスキャン用データとを比較してウイルスの有無を判断し（Ｓ２０５）、判断結果をメインモジュール２００に送信する（Ｓ２０７）。本発明の一実施の形態によれば、図１５においてシグネチャーデータをメモリにロードするステップ（Ｓ２０２）は、点線で表示したように、ステップＳ２０５が進められる前であれば、いつでも行われることができる。
【０１３８】
本発明の一実施の形態によれば、ＡＶ／ＦＷアプリケーション２０７がスキャン用データをＡＶ／ＦＷドライバー２０９を介してＳＯＣ２５０の入出力インタフェース部２６３に送信できる（Ｓ２０１）。以後、ＡＶエンジン２６５は、シグネチャーデータと入出力インタフェース部２６３が受信したスキャン用データとを比較して、ウイルスの有無を判断できる（Ｓ２０５）。シグネチャーデータは、図２に示すように、メインモジュールの格納部２１１に格納されるか、又はＳＯＣ２５０の格納部２６７に格納されることができる。これらの格納部２１１、２６７に格納されたシグネチャーデータは、ＡＶエンジン２６５が行われる時又は行われる前に予めメモリ（ＳＯＣ  Ｍｅｍｏｒｙ）２５５にロードされて（Ｓ２０２）、前記スキャン動作が行われる時に使用される。
【０１３９】
上述した実施の形態において、本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法を、図１と図２の実施の形態を適用して説明したが、他の実施の形態（例えば、図３〜図１４）にも適用されうることはもちろんである。
【０１４０】
図１６は、本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法で用いられるアップデート過程を説明するためのフローチャートである。
【０１４１】
図１、図２、及び図１６の実施の形態を参照して、本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法を説明すれば、ＳＯＣ２５０は、外部サーバ（例えば、サーバ１００又はウェブサーバ５０になりうる）からデータパケットを受信することができ（Ｓ３０１）、受信したデータパケットに対して所定のセキュリティー政策に従って、データパケットをフィルタリングできる（Ｓ３０３）。ＳＯＣ２５０は、フィルタリングしたパケットをメインモジュール２００に送信し（Ｓ３０５）、メインモジュール２００は、アップデート用データであるかどうかを判断した後（Ｓ３０７）、仮にアップデート用データである場合は、ＳＯＣ２５０に送信する（Ｓ３０９：Ｙ）。
【０１４２】
本発明の一実施の形態によれば、ＳＯＣ２５０のネットワークインタフェース部２５１は、外部サーバ（１００、又は５０）からデータパケットを受信することができ（Ｓ３０１）、ファイアウォール（ＦＷ）２５７は、所定のセキュリティー政策に従ってステップＳ３０１にて受信したデータパケットに対して、フィルタリング動作を行うことができる（Ｓ３０３）。ステップＳ３０３にてパケット識別部２５９は、パケットがどこから送信されたかを識別し、識別した結果に従ってパケットフィルタリング部２６１がフィルタリング動作を行う。
【０１４３】
ＣＰＵ＿ＳＯＣ２５３は、フィルタリングされたパケットをネットワークインタフェース部２５１を介してメインモジュール２５０に送信でき（Ｓ３０５）、メインモジュール２５０のＡＶ／ＦＷアプリケーション２０７又はＣＰＵ＿ＭＡＩＮ２０１は、ステップＳ３０５にて送信されたデータパケットがアップデート用データであるかどうかを判断し（Ｓ３０７）、仮にアップデート用データであると判断されると（Ｓ３０７：Ｙ）、ＳＯＣ２５０の入出力インタフェース部２６３に送信する（Ｓ３０９）。
【０１４４】
上述した実施の形態において、ＡＶ／ＦＷアプリケーション２０７又はＣＰＵ＿ＭＡＩＮ２０１がアップデート用のデータであるかどうを判断すると説明したが、これらの構成要素でない別に用意された構成要素がそういう判断動作を行うように構成することも可能である。また、ＣＰＵ＿ＳＯＣ２５３がフィルタリングされたパケットをネットワークインタフェース部２５１を介してメインモジュール２５０に送信すると説明したが、これもやはり、別途の構成要素を用意して行うように構成することが可能である。
【０１４５】
上述した実施の形態において、本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法を、図１と図２の実施の形態を適用して説明したが、他の実施の形態（例えば、図３ないし図１４）にも適用されうることはもちろんである。これらの図３ないし図１４の実施の形態のうち、ＳＯＣがネットワークインタフェース部を別に備えずに送受信部を備えた場合には、送受信部がステップＳ３０１のステップを行うことができ、フィルタリングされたパケットをメインモジュールに送信する時に送受信部を介して送信されうる。
【０１４６】
図１７は、本発明の他の実施の形態に係るシステムオンチップを利用したウイルススキャン方法で用いられるアップデート過程を説明するためのフローチャートである。
【０１４７】
図１７の実施の形態は、シグネチャーデータをメインモジュール２５０で格納して管理する場合を前提としたものであって、図１、図２、及び図１７の実施の形態を参照して、本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法を説明すれば、ＳＯＣ２５０は、外部サーバ（例えば、サーバ１００又はウェブサーバ５０になりうる）からデータパケットを受信することができ（Ｓ４０１）。受信したデータパケットに対して所定のセキュリティー政策に従って、データパケットをフィルタリングできる（Ｓ４０３）。ＳＯＣ２５０は、フィルタリングしたパケットをメインモジュール２００に送信（Ｓ４０５）し、メインモジュール２００は、アップデート用データであるかどうかを判断した後（Ｓ４０７）、仮にＦＷ及び／又はＡＶエンジンをアップデートするためのアップデート用データである場合は、ＳＯＣ２５０に送信し（Ｓ４０９）、ＳＯＣ２５０でアップデート動作が行われる（Ｓ４１１）。
【０１４８】
一方、ステップＳ４０２の判断結果、シグネチャーデータをアップデートするデータであると判断された場合には、メインモジュール２００側でアップデート動作を行う（Ｓ４０４）。
【０１４９】
図１７のステップＳ４０１、Ｓ４０３、Ｓ４０５、Ｓ４０９及びＳ４１１の動作は、前述した図１６のステップＳ３０１、Ｓ３０３、Ｓ３０５、Ｓ３０９、及びＳ３１１の動作と似ているので、これらの動作についての詳細な説明は省略する。
【０１５０】
図１７の実施の形態を図１と図２の実施の形態を適用して説明したが、他の実施の形態（例えば、図３ないし図１４）にも適用されうることはもちろんである。これらの図３ないし図１４の実施の形態のうち、ＳＯＣがネットワークインタフェース部を別に備えずに、送受信部を備えた場合には、送受信部がステップＳ４０１を行うことができ、フィルタリングされたパケットをメインモジュールに送信する時に送受信部を介して送信されることができる。
【０１５１】
図１８は、本発明の他の実施の形態に係るシステムオンチップを利用したウイルススキャン方法で用いられるデータパケットフィルタリング過程を説明するためのフローチャートである。
【０１５２】
図１８の実施の形態は、ネットワークインタフェース部がメインモジュールにあり、シグネチャーデータがＳＯＣにある場合を前提としたものであって、図１、図４、及び図１８の実施の形態を参照して、本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法を説明する。
【０１５３】
メインモジュール２００のネットワークインタフェース部４１９が外部サーバ（例えば、サーバ１００又はウェブサーバ５０になりうる）からデータパケットを受信することができる（Ｓ５０１）。受信したデータパケットは、ＳＯＣ２５０の送受信部４７１に送信され、ＦＷエンジン４５７は、送受信部４７１が受信したデータパケットに対して、所定のセキュリティー政策に従ってフィルタリングできる（Ｓ５０３）。
【０１５４】
ＳＯＣ２５０は、フィルタリングしたパケットがアップデート用データである場合には、そのデータを利用してアップデートを行う（Ｓ５０７）。例えば、ＣＰＵ＿ＳＯＣ４５３又は別に用意した構成要素により予め格納されたシグネチャーデータ、ＡＶエンジン又はＦＷエンジンがアップデートされることができる。
【０１５５】
図１８の実施の形態を図１と図４の実施の形態を適用して説明したが、メインモジュールがネットワークインタフェース部を有している実施の形態（例えば、図５ないし図８）にも適用されうることはもちろんである。
【０１５６】
図１９は、本発明の他の実施の形態に係るシステムオンチップを利用したウイルススキャン方法で用いられるデータパケットフィルタリング過程を説明するためのフローチャートである。
【０１５７】
図１９の実施の形態は、ネットワークインタフェース部とシグネチャーデータとがメインモジュールにある場合を前提としたものであり、図１、図４、及び図１９の実施の形態を参照して、本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法を説明すれば、メインモジュール２００のネットワークインタフェース部４１９が外部サーバ（例えば、サーバ１００又はウェブサーバ５０になりうる）からデータパケットを受信することができる（Ｓ６０１）。受信したデータパケットは、ＳＯＣ２５０の送受信部４７１に送信され、ＦＷエンジン４５７は、送受信部４７１が受信したデータパケットに対して、所定のセキュリティー政策に従ってフィルタリングできる（Ｓ６０３）。
【０１５８】
ＳＯＣ２５０は、フィルタリングしたパケットがＦＷ及び／又はＡＶエンジンのアップデート用データであると判断されると（Ｓ６０５；Ｙ）、そのデータを利用してＦＷとＡＶエンジンとをアップデートする（Ｓ６０７）。例えば、ＣＰＵ＿ＳＯＣ４５３又は別に用意した構成要素により、予め格納されたシグネチャーデータ、ＡＶエンジン又はＦＷエンジンがアップデートされることができる。
【０１５９】
一方、フィルタリングしたパケットがシグネチャーデータをアップデートするためのものであると（Ｓ６０２：Ｙ）、フィルタリングされたデータをメインモジュール２００に送信する（Ｓ６０４）。以後、メインモジュール２００は、シグネチャーデータをアップデートする（Ｓ６０６）。
【０１６０】
図１９の実施の形態を図１と図４の実施の形態を適用して説明したが、メインモジュールがネットワークインタフェース部とシグネチャーデータとを有している実施の形態（例えば、図５ないし図８）にも適用されうることはもちろんである。
【０１６１】
図２１は、本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法で用いられる暗復号化過程を説明するためのフローチャートである。
【０１６２】
図２１は、シグネチャーデータがＳＯＣにある場合を前提としたものであって、図１、図６、及び図２０の実施の形態を参照して、本発明の一実施の形態に係る暗復号化過程を説明する。
【０１６３】
アップデートサーバ１００にデバイスが接続を要請すると（Ｓ７０１）、アップデートサーバ１００は、互いに対をなす公開キーと秘密キーのうち、公開キーをデバイスに送信し、デバイスは、公開キーを受信する（Ｓ７０３）。デバイスは、公開キーでセッションキーを暗号化し（Ｓ７０５）、暗号化したセッションキーと暗号化アルゴリズムに対する情報とをアップデートサーバ１００に送信する（Ｓ７０７）。本発明の他の実施の形態によれば、ステップＳ７０７にて、セッションキーの暗号化だけでなく暗号化アルゴリズムに対する情報自体も暗号化できる。すなわち、暗号化アルゴリズムに対する情報をサーバ１００から送信された公開キーを利用して暗号化できる。
【０１６４】
サーバ１００は、ステップＳ７０３にてデバイスに送信した公開キーと対をなす秘密キーを利用して、暗号化されたセッションキーを復号化する（Ｓ７１１）。すなわち、サーバ１００は、ＡＶ、ＦＷ及び／又はシグネチャーデータをアップデータするためのアップデート用データをセッションキーと暗号化アルゴリズムとを利用して暗号化してデバイスに送信し（Ｓ７０７）、デバイスは、暗号化されたアップデータ用データを受信し（Ｓ７０９）、受信した暗号化したアップデータ用データをセッションキーで復号化して、ＡＶ、ＦＷ及び／又はシグネチャーデータのアップデートを行う（Ｓ７１３）。
【０１６５】
デバイスでのセッションキー生成（Ｓ７０２）は、点線で表示したように、ステップＳ７０５が行われる前であれば、いつでも行われることができる。
【０１６６】
上述した実施の形態は、プル方式でアップデートする場合を想定したものであって、プッシュ方式でアップデートする方法にも適用可能である。プッシュ方式でアップデートする場合には、ステップＳ７０１が「アップデートサーバがデバイスに接続を要請」するよう変形され、その以後の過程は、図２１と同一である。
【０１６７】
図２２は、本発明の一実施の形態に係るシステムオンチップを利用したウイルススキャン方法で用いられる暗復号化過程を説明するためのフローチャートである。
【０１６８】
図２２の実施の形態は、シグネチャーデータがメインモジュールにある場合を前提としたものであって、図２１の実施の形態と比較すると、ステップＳ８０４、Ｓ８０６、及びＳ８１３の動作が追加されたという点においてのみ差がある。例えば、ステップＳ８０１、Ｓ８０２、Ｓ８０３、Ｓ８０５、Ｓ８０７、Ｓ８０９、Ｓ８１１、及びＳ８１５は、ステップＳ７０１、Ｓ７０２、Ｓ７０３、Ｓ７０５、Ｓ７０７、Ｓ７０９、Ｓ７１１、Ｓ７１５と同じ動作でありうる。
【０１６９】
図２１の実施の形態との差異点を中心に説明すれば、アップデート用データがシグネチャーデータに対したものと判断された場合（Ｓ８１３；Ｙ）、そのアップデート用データは、メインモジュールに送信されて（Ｓ８０４）、シグネチャーデータがアップデートされる（Ｓ８０６）。一方、ＡＶ及び／又はＦＷエンジンに対するアップデート用データであれば（Ｓ８１３；Ｎ）、メインモジュールに送信せずにＳＯＣでアップデート動作が行われることができる（Ｓ８１５）。
【０１７０】
図２３ないし図２８は、本発明の一実施の形態に係るシステムオンチップを使用した場合の効果を説明するための図である。
【０１７１】
図２３に示すように、同じアルゴリズムを使用するアンチ−ウイルススキャニングエンジンをアプリケーションレイヤーでマルウェアスキャニングテスト（以下、ＴＥＳＴ  １とする）した場合と、ＳｏＣ端においてマルウェアスキャニングテストした場合のスキャニング速度を示したものである。
【０１７２】
図２３におけるバー（ｂａｒ）で表現されたことがＴＥＳＴ  １のスキャニング速度で、折った線で表現されたことがＳｏＣでテストしたことである。そして、折った線のうち、下部の折った線は、ソフトウェアとハードウェアロジックから構成されたＡＶエンジンを利用してマルウェアスキャニングをしたこと（以下、ＴＥＳＴ  ２とする）であり、上部の折った線は、ＳＷによってのみ具現化されたＡＶエンジンでマルウェアスキャニングをしたこと（以下、ＴＥＳＴ  ３とする）である。
【０１７３】
一方、図２３の結果において、ＴＥＳＴ  １は、８００ＭｈｚのＣＰＵを使用した場合で、ＴＥＳＴ  ２とＴＥＳＴ  ３は、ＳｏＣ用ＦＰＧＡボード上においてテストしたことであって、５０ＭｈｚのＣＰＵを使用したことである。したがって、これらを同じ速度を有したＣＰＵを使用してテストする場合、ＳｏＣ端においてテストした場合（すなわち、ＴＥＳＴ  ２とＴＥＳＴ  ３）のスキャニング速度がアプリケーションレイヤーでテストした場合（ＴＥＳＴ  １）の速度よりはるかに速いことが予測される。図２３では、ＴＥＳＴ  ２のスキャニングタイムがＴＥＳＴ  １のスキャニングタイムより多くかかると現れたが、ＣＰＵの速度の差を考慮する場合、実際には、ＳｏＣ端でＳＷのみから構成されたアンチマルウェアエンジンを動作させた場合のスキャニングタイムが、アプリケーションレイヤーでアンチマルウェアエンジンをスキャニング動作させた場合のスキャニングタイムより少なくかかることが予測される。一方、ＴＥＳＴ  ３は、ＣＰＵの速度差があるにもかかわらず、ＴＥＳＴ  １の場合よりスキャニング速度がはるかに速いことが分かる。すなわち、スキャニング対象であるファイルの個数が約２千個を超えるにつれて、ＴＥＳＴ  ３は、ＴＥＳＴ  １より、スキャニング速度が１．５倍以上速くなることが分かる。
【０１７４】
図２４に示すように、従来のＳＯＣ基盤でないアプリケーションにより具現化したモバイルＡＶエンジンを使用してマルウェアをスキャニングした場合のメモリ使用量とスキャニング時間とを示している。
【０１７５】
図２４におけるバー（Ｂａｒ）は、マルウェアスキャニングに使用されたメモリ使用量であり、折った線は、マルウェアスキャニングに使用された時間を示したもので、８００ＭｈｚのＣＰＵを使用したことである。図２４から分かるように、ＳＯＣ基盤でないアプリケーションにより具現化されたＡＶエンジンは、スキャニングの対象になるファイルの個数が少ない状態でも、メモリを多く使用することが分かる。
【０１７６】
一方、図２４において、ファイルの個数が約３２０個より多くなるにつれてバー（Ｂａｒ）のサイズが少なくなると現れたが、これは、メモリのスワッピング動作によるものである。オペレーティングシステムは、スキャニングする対象になるファイルの個数がメモリが耐えることができない程度に多くなると、メモリのスワッピング動作を行う。このように、スワッピング動作がおきるようになると、スキャニングする時間が増加せざるを得なく、結果的にバッテリー消費が大きくなる。
【０１７７】
図２５は、ＡＶエンジンの電力消費量を示したものであって、商用化された製品と本発明の一実施の形態によるＡＶエンジンを使用してテストした結果である。
【０１７８】
図２５に示すように、比較製品１と比較製品２の両方は、ＳＯＣ基盤でないソフトウェアによってのみ具現化されたＡＶエンジンであって、比較製品１は、約１６０ｍＡを消費し、比較製品２は、２００ｍＡを消費していることが分かる。これに比べて、本願発明の一実施の形態によるＳＯＣ  ＡＣエンジンは、ソフトウェアとハードウェアロジックから構成されたエンジンであって、約１２６．９ｍＡを消費することが分かる。
【０１７９】
図２６は、既存モバイルフォンで使用される商用化された製品と本発明の一実施の形態によるＳｏＣ基盤のＡＶエンジンをテストした結果であって、マルウェアをスキャニングするのにかかった時間とＣＰＵ使用時間とを示したものである。
【０１８０】
図２６に示すように、商用化された既存製品Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７、Ｐ８、Ｐ９、Ｐ１０、Ｐ１１、Ｐ１２と本発明の一実施の形態によるＳｏＣ基盤のＡＶエンジンＰ１３に対して、スキャニング対象になるファイルの個数を別にしてそれぞれ２回ずつテストした結果である。図２６に示すように、比較製品のＣＰＵ使用量は、ほとんど１００％を使用し、本発明の実施の形態の場合Ｐ１３よりＣＰＵの使用量がはるかに多いことが分かる。その上、本実施の形態Ｐ１３は、５０ＭｈｚのＣＰＵを有したＦＰＧＡボードを使用してテストしたことであり、上記の商用化された製品は、数百Ｍｈｚ〜数ＧｈｚのＣＰＵを使用したものであるから、仮にこれらを同じ条件下でテストするならば、ＣＰＵの使用量やスキャニング時間において本実施の形態Ｐ１３がはるかに優れることが予測される。
【０１８１】
図２７は、アンドロイドフォンに実際商用アンチ−ウイルスソフトウェアをインストールして動作する様子を示したものである。３つのそれぞれ異なるＡＶソフトウェアであるが、スキャニング時には、全部ＣＰＵを１００％使用することが分かる。
【０１８２】
図２７の（ａ）、（ｂ）、及び（ｃ）をそれぞれ参照すると、ＣＰＵの使用量を３個のグラフ（(1)、(2)、(3)）で表示したが、これらは、順にＣＰＵの全体使用量（(1)）、ユーザコードレベルで使用されるＣＰＵの使用量（(2)）、カーネルコードレベルで使用されるＣＰＵの使用量（(3)）を示す。
【０１８３】
図２８は、本発明の一実施の形態によるＳｏＣ基盤のＡＶエンジンを使用して、マルウェアをスキャニングする際に使用されるＣＰＵの使用量を示したものである。図２８に示すように、ＣＰＵ使用量が３％〜３０％を表していることが分かる。このようにＣＰＵを少なく使用するようになるにつれて、速い速度で処理されると、バッテリー消費も顕著に減るようになる。一方、図２８の（ａ）において２個の信号のうち、直線型の信号は、メモリ使用量を示したもので、残りの信号は、ＣＰＵの使用量を示す信号である。図２８の（ｂ）の場合も同様に、メモリ使用量とＣＰＵの使用量とを示す。
【０１８４】
一方、図２８の実施の形態は、５０ＭｈｚのＣＰＵを使用してテストした結果であるから、従来の製品のように数百Ｍｈｚ〜数ＧｈｚのＣＰＵを使用して同様にテストすると、本願発明の効果は、従来の製品よりはるかに優れることが予測される。
【０１８５】
ＳｏＣを基盤にしたＡＶエンジンを使用すると、メインプロセッサにＣＰＵやメモリをより少なく使用しながらセキュリティー性を維持できるようになるために、デバイスをより安全に維持でき、他のアプリケーションを使用することができる余分のＣＰＵや資源があるため、ユーザが他のアプリケーションを十分に使用することができる。
【０１８６】
本発明の実施の形態に係る方法は、多様なコンピュータ手段により行われることができるプログラム命令形態で具現化されて、コンピュータ読み取り可能媒体に記録されることができる。前記コンピュータ読み取り可能媒体は、プログラム命令、データファイル、データ構造などを単独に又は組み合わせて含むことができる。前記媒体に記録されるプログラム命令は、本発明のために特に設計され構成されたものであるか、又はコンピュータソフトウェア当業者に公知されて使用可能なものでありうる。
【０１８７】
以上、本発明は、限定された実施の形態と図面により説明されたが、本発明は、上記の実施の形態に限定されるものではなく、本発明が属する分野における通常の知識を有した者であればこのような記載から多様な修正及び変形が可能である。したがって、本発明の範囲は、説明された実施の形態に限って決まってはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等なものによって決まらねばならない。
【符号の説明】
【０１８８】
３０      ウェブサーバ
１００      サーバ
２００      メインモジュール
２５０      ＳＯＣ（システムオンチップ）
１０１      アップデート管理部
１０３      暗復号化部
１０５      データ格納部
２０１      ＣＰＵ＿ＭＡＩＮ
２０３      メインメモリ
２０５      ＵＩアプリケーション部
２１１      格納部
２５１      ネットワークインタフェース部
２５３      ＣＰＵ＿ＳＯＣ
２５５      ＳＯＣメモリ
２５７      ＦＷエンジン
２６３      入出力インタフェース部
２６５      ＡＶエンジン
２６７      シグネチャーデータ格納部
【図１】
0005646411.tif 000002
【図２】
0005646411.tif 000003
【図３】
0005646411.tif 000004
【図４】
0005646411.tif 000005
【図５】
0005646411.tif 000006
【図６】
0005646411.tif 000007
【図７】
0005646411.tif 000008
【図８】
0005646411.tif 000009
【図９】
0005646411.tif 000010
【図１０】
0005646411.tif 000011
【図１１】
0005646411.tif 000012
【図１２】
0005646411.tif 000013
【図１３】
0005646411.tif 000014
【図１４】
0005646411.tif 000015
【図１５】
0005646411.tif 000016
【図１６】
0005646411.tif 000017
【図１７】
0005646411.tif 000018
【図１８】
0005646411.tif 000019
【図１９】
0005646411.tif 000020
【図２０】
0005646411.tif 000021
【図２１】
0005646411.tif 000022
【図２２】
0005646411.tif 000023
【図２３】
0005646411.tif 000024
【図２４】
0005646411.tif 000025
【図２５】
0005646411.tif 000026
【図２６】
0005646411.tif 000027
【図２７】
0005646411.tif 000028
【図２８】
0005646411.tif 000029