(57)【特許請求の範囲】
【請求項１】
フレームの識別情報を用いて前記フレームを受信するかを判定する第１の通信装置と、
前記第１の通信装置と同じネットワークに属する第２の通信装置
を備え、
前記第１の通信装置は、
前記ネットワークへの攻撃の検出と、前記攻撃に使用されたフレームに含まれている識別情報である対象識別情報とを通知する通知フレームを前記第２の通信装置から受信すると、前記対象識別情報を含むフレームを、認証処理の対象に設定し、
前記認証処理の対象に設定した送信フレームを送信する際に、前記送信フレームから生成した認証情報を、前記送信フレームと共に送信し、
前記第２の通信装置は、前記対象識別情報を含むフレームに対する認証処理を終了するかどうかを、前記ネットワークが設置されているシステムの状態の検知結果に応じて決定し、前記対象識別情報を含むフレームに対する認証処理を終了することを決定すると、前記対象識別情報を含むフレームに対する認証処理の終了を要求する要求フレームを前記ネットワークに送信する
ことを特徴とする通信システム。
【請求項２】
前記対象識別情報を含むフレームを受信する第３の通信装置をさらに備え、
前記第３の通信装置は
前記通知フレームを前記第２の通信装置から受信すると、前記対象識別情報を含むフレームを、前記認証処理の対象に設定し、
前記第１の通信装置から送信された前記認証情報と前記送信フレームを取得し、
前記第１の通信装置から取得した前記認証情報と前記送信フレームから生成した認証情報とを比較する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
フレームの識別情報を用いて前記フレームを受信するかを判定するネットワークに含まれる通信装置に、
前記ネットワークへの攻撃の検出と、前記攻撃に使用されたフレームに含まれている識別情報である対象識別情報とを通知する通知フレームを受信すると、前記対象識別情報を含むフレームを、認証処理の対象に設定し、
前記認証処理の対象に設定した送信フレームを送信する際に、前記送信フレームから認証情報を生成し、
前記送信フレームと共に、前記認証情報を送信し、
前記対象識別情報を含むフレームに対する認証処理を終了するかどうかを、前記ネットワークが設置されているシステムの状態の検知結果に応じて決定し、
前記対象識別情報を含むフレームに対する前記認証処理を終了することを決定すると、前記対象識別情報を含むフレームを、前記認証処理の対象から除外し、
前記対象識別情報を含むフレームに対する認証処理の終了を要求する要求フレームを送信する
処理を行わせることを特徴とする通信プログラム。
【請求項４】
フレームの識別情報を用いて前記フレームを受信するかを判定するネットワークに含まれる通信装置が、
前記ネットワークへの攻撃の検出と、前記攻撃に使用されたフレームに含まれている識別情報である対象識別情報とを通知する通知フレームを受信すると、前記対象識別情報を含むフレームを、認証処理の対象に設定し、
前記認証処理の対象に設定した送信フレームを送信する際に、前記送信フレームから認証情報を生成し、
前記送信フレームと共に、前記認証情報を送信し、
前記対象識別情報を含むフレームに対する認証処理を終了するかどうかを、前記ネットワークが設置されているシステムの状態の検知結果に応じて決定し、
前記対象識別情報を含むフレームに対する前記認証処理を終了することを決定すると、前記対象識別情報を含むフレームを、前記認証処理の対象から除外し、
前記対象識別情報を含むフレームに対する認証処理の終了を要求する要求フレームを送信する
処理を行うことを特徴とする通信方法。
【請求項５】
フレームの識別情報を用いて前記フレームを受信するかを判定するネットワークに含まれる通信装置であって、
前記ネットワーク中の他の通信装置との間でフレームを送受信する通信部と、
前記ネットワークへの攻撃の検出と、前記攻撃に使用されたフレームに含まれている識別情報である対象識別情報とを通知する通知フレームを、前記通信部が受信すると、前記対象識別情報を含むフレームを、認証処理の対象に設定する設定部と、
前記認証処理の対象に設定した送信フレームを送信する際に、前記送信フレームから認証情報を生成する生成部と、
前記ネットワークが設置されているシステムの状態を検知する状態検知部と、
前記対象識別情報を含むフレームに対する認証処理を終了するかどうかを、前記状態検知部による前記システムの状態の検知結果に応じて決定する決定部
を備え、
前記設定部は、前記対象識別情報を含むフレームに対する前記認証処理を終了することを前記決定部が決定すると、前記対象識別情報を含むフレームを、前記認証処理の対象から除外し、
前記通信部は、前記対象識別情報を含むフレームに対する認証処理の終了を要求する要求フレームを送信する
ことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク中の装置での通信に関する。
【背景技術】
【０００２】
自動車の車載ネットワークやファクトリーオートメーションなどに使用される装置間で、データや制御情報を送受信するために、ＣＡＮ（Controller Area Network）と呼ばれるネットワーク技術が使用されることがある。ＣＡＮが用いられるシステムは、複数のＥＣＵ（electronic control unit）を含む。ＥＣＵ同士はフレームを送受信することにより通信を行う。ＣＡＮでは、通信に使用されるフレームには、フレームの識別に使用される識別情報（ＩＤ）が含まれている。また、各ＥＣＵは、受信するフレームのＩＤを予め記憶している。フレームはブロードキャストされ、各ＥＣＵは、ＥＣＵが受信するように設定されたＩＤを含むフレームを受信するが、受信対象に設定されていないＩＤを含むフレームは破棄する。
【０００３】
しかし、各ＥＣＵは、そのＥＣＵが受信するように設定されたＩＤを含むフレームを用いてネットワークへの攻撃が行われた場合、攻撃に使用されるフレームを受信してしまう。そこで、このような攻撃を防ぐために、データ、ＩＤ、ＩＤに対応するカウンタ値から生成したメッセージ認証コード（Message Authentication Code、ＭＡＣ）を用いる検証方法が提案されている（特許文献１など）。送信されたフレーム中の所定のフィールドの内容が不正を示す所定条件に該当する場合、そのフレームの最後尾が送信される前にエラーフレームを送信する通信システムも考案されている（特許文献２など）。さらに、バスを介して接続された複数の装置のうちの１つが送信するデータ中の認証用情報を用いた認証に失敗すると、データの送信元が他の装置に成りすまして不正データを送信したと判定してデータを無効化するシステムも提案されている（特許文献３など）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１３／０６５６８９号
【特許文献２】国際公開第２０１５／１５１４１８号
【特許文献３】特開２０１５−１１４９０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＣＡＮシステム中の各装置がフレームを受信するたびにＭＡＣ認証を行う場合、システム中の全ての装置がデータを含むフレームとＭＡＣを含むフレームの両方を送受信するので、ネットワーク中の装置の負荷が高くなってしまう。背景技術に述べたいずれの技術を適用しても、攻撃が検出されないフレームについても、攻撃が検出されたフレームと同様に認証などの処理が発生する。
【０００６】
本発明は、１つの側面では、ネットワーク中の装置の負荷を抑えつつ、ネットワークを保護することを目的とする。
【課題を解決するための手段】
【０００７】
ある１つの態様にかかる通信システムは、フレームの識別情報を用いて前記フレームを受信するかを判定する第１の通信装置と、前記第１の通信装置と同じネットワークに属する第２の通信装置を備える。通知フレームは、前記ネットワークへの攻撃を検出したことを示す情報と、前記攻撃に使用されたフレームに含まれている識別情報である対象識別情報とを含む。前記第１の通信装置は、通知フレームを前記第２の通信装置から受信すると、前記対象識別情報を含むフレームを、認証処理の対象に設定する。前記第１の通信装置は、認証処理の対象に設定した送信フレームを送信する際に、前記送信フレームから生成した認証情報を、前記送信フレームと共に送信する。前記第２の通信装置は、前記対象識別情報を含むフレームに対する認証処理を終了するかどうかを、前記ネットワークが設置されているシステムの状態の検知結果に応じて決定し、前記対象識別情報を含むフレームに対する認証処理を終了することを決定すると、前記対象識別情報を含むフレームに対する認証処理の終了を要求する要求フレームを前記ネットワークに送信する。
【発明の効果】
【０００８】
ネットワーク中の装置の負荷を抑えつつ、ネットワークを保護できる。
【図面の簡単な説明】
【０００９】
【図１】実施形態にかかる通信方法の例を説明する図である。
【図２】通信装置の構成の例を説明する図である。
【図３】通信装置のハードウェア構成の例を説明する図である。
【図４】送受信されるフレームのフォーマットの例を示す図である。
【図５】通信装置が保持する情報の例を説明する図である。
【図６】通信処理の例を説明するシーケンス図である。
【図７】攻撃を検出した場合のテーブルの変更例と通知フレームの例を説明する図である。
【図８】ＭＡＣの生成方法の例を説明する図である。
【図９】攻撃の検出方法の例を説明するフローチャートである。
【図１０】攻撃が検出されたときの処理の例を説明する図である。
【図１１】攻撃が検出されたときの処理の例を説明する図である。
【図１２】攻撃が検出されたときの処理の例を説明する図である。
【図１３】通信装置が行う処理の例を説明するフローチャートである。
【図１４】通信装置がフレームを受信したときに行う処理の例を説明するフローチャートである。
【図１５】攻撃が検出されたときの処理の例を説明する図である。
【図１６】第２の実施形態にかかる通信方法の例を説明するフローチャートである。
【図１７】ネットワークの変形例を説明する図である。
【発明を実施するための形態】
【００１０】
図１は、実施形態にかかる通信方法の例を説明する図である。ネットワークＮ１は、実施形態にかかる通信方法が用いられるＣＡＮネットワークの例である。ネットワークＮ１では、通信装置１０（１０ａ〜１０ｄ）がバスで接続されている。通信装置１０同士は、バスを介してフレームを送受信することにより通信を行う。
【００１１】
ネットワークＮ１に含まれる通信装置１０の各々は、いずれかの通信装置１０において攻撃が検出されるまで、いずれのＩＤについてもＭＡＣ認証を行わずにフレームを送受信し、攻撃が検出されたＩＤについては、フレームの受信の際にＭＡＣ認証を行う。ネットワークＮ１に示すＣＡＮネットワークに含まれる各々の通信装置１０が行う通信処理の例を、図１中のフローチャートに示す。
【００１２】
ステップＳ１において、通信装置１０は、ネットワーク中の他の通信装置１０との間で、ＭＡＣの生成に使用する共通鍵の取得や、各ＩＤに対して認証を行うかを判定するために使用するフラグ（認証フラグ）の初期設定を行う。なお、ＭＡＣ認証のために使用されるカウンタ値や共通鍵の取得は、その通信装置１０が送信又は受信するＩＤ毎に行われているものとする。初期設定の時点では、いずれのＩＤに対応付けられた認証フラグもＯＦＦに設定されているとする。以下の説明では、認証フラグ＝ＯＮはＭＡＣ認証を用いてフレームの送受信を行うことを示し、認証フラグ＝ＯＦＦはＭＡＣ認証を行わずにフレームの送受信を行うことを示すものとする。
【００１３】
初期設定が終わると、ネットワークＮ１に含まれる通信装置１０の各々は、いずれかの通信装置１０において攻撃が検出されるまで、いずれのＩＤについてもＭＡＣ認証を行わずにフレームを送受信する（ステップＳ２、ステップＳ３でＮｏ）。
【００１４】
ネットワークＮ１に対する攻撃を検出した場合、通信装置１０は、攻撃を検出したＩＤに対応付けられている認証フラグをＯＮに更新すると共に、ネットワークＮ１中の他の通信装置１０に対して攻撃の検出を通知する（ステップＳ３でＹｅｓ、ステップＳ４）。ここで、攻撃検出の通知は、攻撃を検出したＩＤを通知する通知フレームを用いて行われる。なお、通知フレームは、ネットワーク中の全ての通信装置１０が受信対象とするＩＤを用いて送信されるものとする。通知フレームを受信した通信装置１０は、通知フレームで通知されたＩＤについての認証フラグをＯＮに更新することにより、通知されたＩＤを用いた通信ではＭＡＣ認証を行うことを設定する。
【００１５】
その後、攻撃が検出されたＩＤを含むフレームの送受信の際には、ＭＡＣ認証が行われ、攻撃が検出されていないＩＤを含むフレームの送受信の際には、ＭＡＣ認証が行われない（ステップＳ５）。すなわち、認証フラグ＝ＯＮに設定されているＩＤを含むフレームを送信する通信装置１０は、データフレームの他に、データフレーム中のデータを用いて生成したＭＡＣを認証用の情報として送信する。一方、認証フラグ＝ＯＮに設定されているＩＤを受信対象としている通信装置１０は、フレームの受信の際にデータフレーム中のデータからＭＡＣを計算すると共に、送信元から送信された認証用のＭＡＣと計算で得られたＭＡＣを比較する。送信元から送信された認証用のＭＡＣと、データを用いた計算で得られたＭＡＣが一致すると、通信装置１０は、受信したフレームを処理する。
【００１６】
このように、図１を用いて説明した通信方法では、攻撃が検出されていないＩＤについてはＭＡＣ認証が行われず、ネットワーク中のいずれかの通信装置１０によって攻撃が検出されてから、攻撃が検出されたＩＤを用いた通信ではＭＡＣ認証が行われる。このため、攻撃が検出されたＩＤを用いた不正アクセスがあったとしても、フレームの受信側の通信装置１０は、攻撃が検出されたＩＤを含むフレームについては、ＭＡＣ認証を行うので、不正アクセスが防止される。また、ＭＡＣ認証は、攻撃が検出されたＩＤに対して行われるに過ぎないので、ＭＡＣ認証に起因して通信装置１０にかかる負荷や処理の遅延は、攻撃の検出状況に関わらず全ＩＤについてＭＡＣ認証を行うシステムに比べて小さくなる。従って、実施形態にかかるシステムでは、ネットワーク中の装置にかかる負荷を抑えつつ、ネットワークの保護が可能になる。
【００１７】
ところで、ＭＡＣ認証による負荷を抑えるために、一部のＩＤに限定して攻撃の検出状況に関わらずＭＡＣ認証を行うことも考えられるが、この場合は、特定のＩＤで識別されるフレームについては、処理の遅延が発生するという問題がある。一方、実施形態にかかる通信方法は、ＭＡＣ認証を行うＩＤを、攻撃が検出されたＩＤを含むフレームに限定することにより、攻撃が発生していないときの処理遅延等を防ぐこともできる。
【００１８】
＜装置構成の例とフレームのフォーマットの例＞
以下の説明では、ＣＡＮネットワークへの攻撃が発生していない状況では、ＣＡＮネットワーク中の各通信装置１０は、自装置が送信するフレームに付すＩＤを含むフレームを他の通信装置１０から受信しないものとする。
【００１９】
図２は、通信装置１０の構成の例を説明する図である。通信装置１０は、通信部１１、制御部２０、記憶部３０を備える。通信部１１は、受信部１２と送信部１３を有する。制御部２０は、攻撃検出部２１、設定部２２、ＭＡＣ生成部２３、認証部２４、通知処理部２５、フレーム処理部２６、判定部２７を有する。記憶部３０は、送信ホワイトリスト３１、受信ホワイトリスト３２、受信ブラックリスト３３を格納し、さらに、制御部２０での処理に使用されるデータも、適宜、格納する。
【００２０】
送信ホワイトリスト３１は、通信装置１０が他の通信装置１０に送信するフレームの識別に使用されるＩＤのリストと、リストに含まれる各ＩＤに対応付けられた認証フラグが含まれる。受信ホワイトリスト３２は、通信装置１０が受信するフレームの識別に使用されるＩＤと、各ＩＤに対応付けられた認証フラグが含まれる。受信ブラックリスト３３は、ＣＡＮネットワークへの攻撃が発生していない場合に、通信装置１０が受信しないことが予測されるＩＤのリストである。例えば、受信ブラックリスト３３は、送信ホワイトリスト３１に含まれているＩＤのリストであっても良い。送信ホワイトリスト３１、受信ホワイトリスト３２、受信ブラックリスト３３の例は後述する。
【００２１】
送信部１３は、ＣＡＮネットワーク中の他の装置に、適宜、フレームを送信する。受信部１２は、ＣＡＮネットワーク中の他の装置から送信されたフレームを受信する。受信部１２は、受信したフレームを攻撃検出部２１に出力する。
【００２２】
攻撃検出部２１は、入力されたフレームを用いて、ネットワークへの攻撃を検出する。例えば、入力されたフレーム中のＩＤが受信ブラックリスト３３に含まれている場合、攻撃検出部２１は、攻撃を検出したと判定する。攻撃検出部２１で攻撃が検出されると、通知処理部２５は、通知フレームを生成し、送信部１３を介して、他の装置に攻撃の発生を通知する。また、入力されたフレームが通知フレームである場合、攻撃検出部２１は、通知フレームを設定部２２に出力する。設定部２２は、通知フレームを用いて、適宜、送信ホワイトリスト３１や受信ホワイトリスト３２の認証フラグを変更する。
【００２３】
攻撃検出部２１は、入力されたフレームを用いて新たな攻撃を検出しない場合、受信ホワイトリスト３２で認証フラグ＝ＯＦＦに設定されているＩＤを含むフレームを、フレーム処理部２６に出力する。一方、攻撃検出部２１は、受信ホワイトリスト３２で認証フラグ＝ＯＮに設定されているＩＤを含むフレームを認証部２４に出力する。
【００２４】
ＭＡＣ生成部２３は、認証部２４に入力されたフレーム中のデータを用いて、ＭＡＣを生成する。認証部２４は、データを含むフレームの認証用に送信されてきたＭＡＣと、ＭＡＣ生成部２３で生成されたＭＡＣを比較することにより、ＭＡＣ認証を行う。ＭＡＣ認証に成功すると、認証部２４は、フレームをフレーム処理部２６に出力する。一方、ＭＡＣ認証に失敗した場合、認証部２４は、受信フレームが不正なフレームであると判定して廃棄する。フレーム処理部２６は、入力されたデータを処理する。
【００２５】
判定部２７は、フレーム処理部２６で他の通信装置１０宛に生成されたフレーム中のＩＤが送信ホワイトリスト３１に含まれているかを判定する。他の通信装置１０宛に生成されたフレーム中のＩＤが送信ホワイトリスト３１に含まれている場合、判定部２７は、生成されたフレームを、送信部１３を介して送信する。一方、他の通信装置１０宛に生成されたフレーム中のＩＤが送信ホワイトリスト３１に含まれていない場合、フレームを廃棄する、或いはフレームを破棄すると共に、廃棄するフレーム中のＩＤを通知処理部２５に通知する。すると、通知処理部２５は、判定部２７から通知されたＩＤを、攻撃に使用される可能性のあるＩＤとして含む通知フレームを生成し、他の通信装置１０に送信する。
【００２６】
なお、図２は一例であり、例えば、実装に応じて、通信装置１０がフレーム処理部２６を含まないように設計されても良い。例えば、通信装置１０をＥＣＵとＣＡＮとの間に接続される別のＥＣＵとしてのアダプタや、ＥＣＵ中のＣＡＮコントローラとして実現される場合、通信装置１０はフレーム処理部２６を含まなくても良い。通信装置１０にフレーム処理部２６が含まれない場合、攻撃検出部２１や認証部２４は、フレーム処理部２６と同様の処理を行うために通信装置１０に接続されている装置に、フレームを出力する。また、判定部２７は、通信装置１０に接続されている装置からフレームを取得する。
【００２７】
図３は、通信装置１０のハードウェア構成の例を説明する図である。図３の例では、通信装置１０は、ＥＣＵ１００として実現されている。ＥＣＵ１００は、ＣＡＮトランシーバ１０１、ＣＡＮコントローラ１０２、処理回路１０３を含む。処理回路１０３は、プロセッサ１０４とメモリ１０５を備える。ＣＡＮコントローラ１０２は、プロセッサ１１１とメモリ１１２を備える。
【００２８】
ＣＡＮトランシーバ１０１は、適宜、バス電圧の調整など、ＥＣＵ１００がＣＡＮネットワーク中の他の装置と通信するための処理を行う。ＣＡＮコントローラ１０２は、受信したフレームに対するＣＲＣ（Cyclic Redundancy Check）チェックやビットスタッフィングなどの処理を行うことにより、データを抽出する。ＣＡＮコントローラ１０２は、データをプロセッサ１０４に出力する。プロセッサ１０４とプロセッサ１１１は、いずれも、任意の処理回路である。プロセッサ１０４は、メモリ１０５に格納されたプログラムを読み込んで、処理を行う。一方、プロセッサ１１１は、メモリ１１２に格納されたプログラムを読み込んで、処理を行う。
【００２９】
ＥＣＵ１００が通信装置１０として動作する場合、ＣＡＮトランシーバ１０１とＣＡＮコントローラ１０２により、通信部１１が実現される。また、後述するように、通信装置１０は、ＣＡＮコントローラ１０２によって実現されても良い。制御部２０は、プロセッサ１０４またはプロセッサ１１１によって実現される。記憶部３０は、メモリ１０５かメモリ１１２で実現される。さらに、プロセッサ（１０４、１１１）での処理で得られたデータやプロセッサ（１０４、１１１）での処理に使用されるデータも、メモリ１０５やメモリ１１２に格納され得る。なお、制御部２０の一部又は全部が、プロセッサの代わりに制御部２０の処理に適した回路などのハードウェアで実現されても良い。
【００３０】
図４は、送受信されるフレームのフォーマットの例を示す図である。図４のＦ１１は、一般仕様のフレームのフォーマット例であり、Ｆ１２は拡張仕様で使用されるフレームのフォーマット例である。
【００３１】
一般仕様のフレームは、ＳＯＦ（Start of Frame）、調停（arbitration）フィールド、コントロールフィールド、データフィールド、ＣＲＣフィールド、ＡＣＫフィールド、ＥＯＦ（End of Frame）を含む。調停フィールドには、ＩＤとＲＴＲ（Remote Transmission Request）が含まれる。ここで、ＩＤは、フレームの識別に使用される識別情報である。コントロールフィールドには、ＩＤＥ（Identifier Extension）、予約ビット、ＤＬＣ（Data Length Code）が含まれる。ＣＲＣフィールドは、ＣＲＣシーケンスとＣＲＣデリミタを含む。ＡＣＫフィールドは、ＡＣＫスロットとＡＣＫデリミタを含む。なお、各フィールドに含まれる情報要素のビット長は、Ｆ１１の一番下の行に記載したとおりである。例えば、ＩＤの長さは１１ビットであり、データフィールドの長さは０〜６４ビットの可変長である。
【００３２】
拡張仕様で使用されるフレーム（Ｆ１２）も、ＳＯＦ、調停フィールド、コントロールフィールド、データフィールド、ＣＲＣフィールド、ＡＣＫフィールド、ＥＯＦを含む。拡張仕様の調停フィールドは、ＩＤベース、ＳＲＲ（Substitute Remote Request Bit）、ＩＤＥ、ＩＤ拡張、ＲＴＲを含む。拡張仕様では、ＩＤベースとして格納されたビット列の次に、ＩＤ拡張として格納されたビット列をつなげて得られるビット列により、フレームの識別情報（ＩＤ）を表わす。コントロールフィールドからＥＯＦまでは、拡張仕様のフォーマットでも、一般仕様のフォーマットと同様である。また、各フィールドに含まれる情報要素のビット長は、Ｆ１２の一番下の行に記載したとおりである。このため、拡張フォーマットでは、送信元の識別情報として、ＩＤベースの１１ビットとＩＤ拡張の１８ビットを合わせた２９ビットのビット列が使用される。以下、図４のＦ１１に示すフォーマットを用いたフレームが送受信される場合を例として、各実施形態で行われる処理の例を説明する。なお、通信に使用されるフレームが拡張仕様の場合でも、同様に処理が行われる。
【００３３】
＜第１の実施形態＞
以下の説明では、動作を行っている装置などを特定しやすくするために、符号の後に特定しようとする通信装置１０に割り当てられたアルファベットを記載することがある。例えば、攻撃検出部２１ａは、通信装置１０ａに含まれている攻撃検出部２１である。さらに、以下の説明では、テーブルの番号の後にアンダースコアに数字を続けて、テーブルの更新状態などを説明することもある。以下、第１の実施形態を、攻撃の検出の前後で行われる通信処理の例、ＭＡＣの生成方法の例、攻撃の検出方法の例、ハードウェアでの実装方法の例に分けて説明した後、通信装置１０が行う処理を時系列に述べる。なお、第１の実施形態では、図１に示すネットワークＮ１において通信が行われる場合を例として説明する。
【００３４】
（１）攻撃の検出の前後で行われる通信処理の例
図５は、通信装置１０が保持する情報の例を説明する図である。送信ホワイトリスト３１ａ＿１は、通信の開始時点で通信装置１０ａが保持する送信ホワイトリスト３１の例である。送信ホワイトリスト３１ａ＿１は、送信対象ＩＤと認証フラグを含む。送信対象ＩＤは、その送信ホワイトリスト３１を保持している通信装置１０が送信する対象のフレームの識別に使用される識別情報である。認証フラグは、各エントリ中の送信対象ＩＤで識別されるフレームに対するＭＡＣ認証を行うかを表す。図５の例では、通信装置１０ａは、ＩＤ＝１２３、２３４、４５６のフレームを送信対象としている。また、ＩＤ＝１２３、２３４、４５６のいずれに対しても、攻撃が検出されていないので、認証フラグはＯＦＦに設定されている。
【００３５】
受信ホワイトリスト３２ｂ＿１は、通信の開始時点で通信装置１０ｂが保持する受信ホワイトリスト３２の例である。受信ホワイトリスト３２ｂ＿１は、受信対象ＩＤと認証フラグを含む。受信対象ＩＤは、受信ホワイトリスト３２を保持している通信装置１０が受信する対象のフレームを識別する識別情報である。認証フラグは、各エントリ中の受信対象ＩＤに対するＭＡＣ認証を行うかを表す。図５の例では、通信装置１０ｂは、ＩＤ＝１２３、３４５、４５７のフレームを受信対象としている。また、ＩＤ＝１２３、３４５、４５７のいずれに対しても、攻撃が検出されていないので、認証フラグはＯＦＦに設定されている。
【００３６】
同様に、受信ホワイトリスト３２ｃには、受信対象ＩＤ＝４５６に対応付けて、認証フラグ＝ＯＦＦという情報が格納されている。従って、通信装置１０ｃでは、ＩＤ＝４５６のフレームを受信する。また、ＩＤ＝４５６で識別されるフレームの送受信の際にはＭＡＣ認証は行われていない。
【００３７】
受信ブラックリスト３３ａは、通信装置１０ａが保持する受信ブラックリスト３３の例である。受信ブラックリスト３３は、その受信ブラックリスト３３を保持している通信装置１０において、ＣＡＮネットワークに対する攻撃による通信以外では受信しないことが想定されるフレームを識別するＩＤのリストである。例えば、攻撃が行われていない場合には、通信装置１０ａは通信装置１０ａでの送信対象ＩＤを受信しないと想定されるので、受信ブラックリスト３３ａは、送信ホワイトリスト３１ａ中の送信対象ＩＤと同じであっても良い。図５の例では、受信ブラックリスト３３ａは、送信ホワイトリスト３１ａ＿１の送信対象ＩＤと同様に、ＩＤ＝１２３、２３４、４５６を含む。
【００３８】
図６は通信処理の例を説明するシーケンス図である。図７は、攻撃を検出した場合のテーブルの変更例と通知フレームの例を説明する図である。以下、図６と図７を参照しながら、通信装置１０ａ〜１０ｃが図５に示す情報を保持している場合に行われる通信の例を説明する。
【００３９】
ステップＳ１１において、通信装置１０ａがＩＤ＝１２３を含むフレームを送信したとする。通信装置１０ａから送信されるフレームは、ネットワーク中にブロードキャストされるので、ＩＤ＝１２３を含むフレームは、通信装置１０ｂと通信装置１０ｃのいずれにも到達する。
【００４０】
通信装置１０ｂの受信部１２ｂは、ＩＤ＝１２３を含むフレームを受信すると、受信フレームを攻撃検出部２１ｂに出力する。攻撃検出部２１ｂは、受信フレームのＩＤが受信ホワイトリスト３２ｂ＿１（図５）に含まれているので、受信フレーム中のＩＤは受信対象のフレームを識別するＩＤであると判定する。また、受信ホワイトリスト３２ｂ＿１では、ＩＤ＝１２３に対応付けられた認証フラグはＯＦＦに設定されている。そこで、攻撃検出部２１ｂは、受信フレームをフレーム処理部２６ｂに出力し、フレーム処理部２６ｂは、受信フレームを処理する（ステップＳ１２）。
【００４１】
通信装置１０ｃにおいても、受信部１２ｃはＩＤ＝１２３を含むフレームを受信すると、受信フレームを攻撃検出部２１ｃに出力する。攻撃検出部２１ｃは、受信フレームのＩＤが受信ホワイトリスト３２ｃ（図５）に含まれていないので、受信フレーム中のＩＤは受信対象のフレームを識別するＩＤではないと判定して、受信フレームを廃棄する（ステップＳ１３）。
【００４２】
ＩＤ＝１２３を含むフレームを用いた攻撃が検出されるまでは、ステップＳ１１〜Ｓ１３を参照しながら説明したように、ＩＤ＝１２３を含むフレームの送受信の際には、認証処理が行われない。その後、通信装置１０ａにおいて、ＩＤ＝１２３を用いた攻撃が検出されたとする（ステップＳ１４）。攻撃の検出方法は任意の既知の方法が用いられ得るが、図６の例では、通信装置１０ａにＩＤ＝１２３のフレームが通信装置１０ｄ（図示せず）から送信されたとする。この場合、通信装置１０ａ中の攻撃検出部２１ａは、受信部１２ａを介してＩＤ＝１２３の受信フレームを取得すると、フレーム中のＩＤを受信ブラックリスト３３ａ（図５）と比較する。受信ブラックリスト３３ａには、受信フレーム中のＩＤ＝１２３が含まれているので、攻撃検出部２１ａは、ネットワークに対する攻撃を検出したと判定する。設定部２２ａは、攻撃が検出されたＩＤに対応付けられている認証フラグをＯＮに設定する。
【００４３】
図７の送信ホワイトリスト３１ａ＿２は、ステップＳ１４での処理による送信ホワイトリスト３１ａ＿１（図５）の更新例を示す。ステップＳ１４の処理では、設定部２２ａは、ＩＤ＝１２３に対応付けられた認証フラグを更新する。このため、送信ホワイトリスト３１ａ＿２では、送信対象ＩＤのうち、ＩＤ＝１２３に対応する認証フラグがＯＮに設定される。
【００４４】
一方、通信装置１０ａの通知処理部２５ａは、ＩＤ＝１２３に対する攻撃が発生したことを通知するための通知フレームを生成する。図７のＭ１は、通知フレーム中に含まれている情報要素の例を示す。通知フレームには、フレームの種別と通知対象のＩＤが含まれる。ステップＳ１４での攻撃の検出に際して生成される通知フレームでは、種別＝通知フレーム、対象ＩＤ＝１２３に設定される。Ｍ１に示す情報要素は、フレーム中のデータフィールドに含まれる。通知処理部２５ａは、生成した通知フレームを、送信部１３ａを介して、ネットワーク中の通信装置１０に送信する（図６のステップＳ１５）。なお、通知フレームは、ネットワーク中の全ての通信装置１０が受信対象とする制御用のＩＤを用いて送信されるものとする。このため、通知フレームは、通信装置１０ｂと通信装置１０ｃの両方に到達する。また、通知フレーム専用の全ＥＣＵが受信するＩＤを用いることで、種別の情報をデータ部に格納していなくても良い。
【００４５】
通信装置１０ｂの攻撃検出部２１ｂは、受信部１２ｂを介して通知フレームを取得すると、通知フレームを設定部２２ｂに出力する。設定部２２ｂは、通知フレーム中の対象ＩＤが、送信ホワイトリスト３１ｂと受信ホワイトリスト３２ｂのいずれかに記録されているかを判定する。この例では、対象ＩＤ＝１２３であり、受信ホワイトリスト３２ｂ＿１（図５）にＩＤ＝１２３が含まれている。そこで、設定部２２ｂは、受信ホワイトリスト３２ｂ＿１中でＩＤ＝１２３に対応付けられている認証フラグをＯＮに設定することにより、ＩＤ＝１２３のフレームをＭＡＣ認証の対象に設定する（ステップＳ１６）。ステップＳ１６での処理により、受信ホワイトリスト３２ｂ＿１は、受信ホワイトリスト３２ｂ＿２（図７）に示すように更新される。
【００４６】
通信装置１０ｃにおいても、攻撃検出部２１ｃは受信部１２ｃを介して通知フレームを取得し、通知フレームを設定部２２ｃに出力する。設定部２２ｃは、通知フレーム中の対象ＩＤが、送信ホワイトリスト３１ｃと受信ホワイトリスト３２ｃのいずれかに記録されているかを判定する。ここで、対象ＩＤ＝１２３は、受信ホワイトリスト３２ｃ（図５）と送信ホワイトリスト３１ｃのいずれにも含まれていないとする。そこで、設定部２２ｃは、通知フレームによって認証処理の開始が通知されたＩＤは、通信装置１０ｃでの処理対象のフレームを識別するＩＤではないと判定して、通知フレームを廃棄する。
【００４７】
その後、通信装置１０ａのフレーム処理部２６ａがＩＤ＝１２３を含む送信フレームを生成したとする。フレーム処理部２６ａは、生成したフレームを、判定部２７ａに出力する。判定部２７ａは、生成されたフレーム中のＩＤ＝１２３をキーとして、送信ホワイトリスト３１ａ＿２（図７）を検索することにより、送信可能なフレームであるかを判定する。送信ホワイトリスト３１ａ＿２には、ＩＤ＝１２３が含まれているので、判定部２７ａは、送信可能な送信フレームが生成されたと判定する。さらに、送信ホワイトリスト３１ａ＿２中でＩＤ＝１２３に対応付けられた認証フラグがＯＮに設定されていることから、判定部２７ａは、送信対象のフレームは、送受信の際に認証処理を行う対象であると判定する。そこで、判定部２７ａは、送信フレームを送信部１３ａとＭＡＣ生成部２３ａに出力する。送信部１３ａは、入力された送信フレームをネットワークに送信する（ステップＳ１７）。
【００４８】
ＭＡＣ生成部２３ａは、入力されたフレームを用いて、認証用のＭＡＣを生成する。認証用のＭＡＣの生成方法については後述する（図８）。図６の例では、ステップＳ１７で送信されたＩＤ＝１２３のフレームから生成されたＭＡＣはＭＡＣａであるとする（ステップＳ１８）。
【００４９】
ステップＳ１７で送信されたＩＤ＝１２３のフレームが到達した通信装置１０ｂでは、攻撃検出部２１ｂが受信部１２ｂを介してＩＤ＝１２３のフレームを取得する。攻撃検出部２１ｂは、受信ホワイトリスト３２ｂ＿２（図７）を用いて、ＩＤ＝１２３のフレームが受信対象であることを特定する。さらに、ＩＤ＝１２３に対応付けられた認証フラグがＯＮに設定されていることから、攻撃検出部２１ｂは、ＩＤ＝１２３のフレームの受信の際にはＭＡＣ認証を行うことを決定し、ＩＤ＝１２３のフレームを認証部２４ｂに出力する。認証部２４ｂは、入力されたフレームを用いたＭＡＣの生成をＭＡＣ生成部２３ｂに要求する。ＭＡＣ生成部２３ｂは、認証部２４ｂからの要求に応じて、ＭＡＣを生成する（ステップＳ１９）。図６の例では、通信装置１０ｂに到達したＩＤ＝１２３のフレームから計算されたＭＡＣをＭＡＣｂとする。なお、ＭＡＣ生成部２３ｂでのＭＡＣの生成方法と、ＭＡＣ生成部２３ａでのＭＡＣの生成方法は同じであるものとする。
【００５０】
ステップＳ１７で送信されたＩＤ＝１２３のフレームは、通信装置１０ｃにも到達するが、ＩＤ＝１２３のフレームは、通信装置１０ｃの受信対象でも送信対象でもない。このため、通信装置１０ｃでは、ステップＳ１３と同様の処理によりＩＤ＝１２３のフレームが廃棄される。
【００５１】
その後、通信装置１０ａのＭＡＣ生成部２３ａは、ステップＳ１８で計算したＭＡＣ（ＭＡＣａ）を、ステップＳ１７で送信したＩＤ＝１２３のフレームの認証用の情報として送信する（ステップＳ２０）。
【００５２】
ステップＳ２０で送信されたＩＤ＝１２３のフレームが到達した通信装置１０ｂでは、ステップＳ１７で通信装置１０ｂがＩＤ＝１２３のデータフレームを受信したときと同様の手順により、受信フレームが認証部２４ｂに出力される。認証部２４ｂは、入力されたフレームから、ＩＤ＝１２３のフレームの送信元（通信装置１０ａ）で生成されたＭＡＣａを抽出し、ＭＡＣ生成部２３ｂでの計算結果（ＭＡＣｂ）と比較する。ＭＡＣａとＭＡＣｂが一致すると、認証部２４ｂは、ステップＳ１７で受信したデータフレーム中のデータをフレーム処理部２６ｂに出力する。このため、受信フレームは通信装置１０ｂにおいて処理される（ステップＳ２１）。なお、ＭＡＣａとＭＡＣｂが一致しない場合、認証部２４ｂは、ステップＳ１７で受信したデータフレームとステップＳ２０で受信した認証用の情報を廃棄する。
【００５３】
その後、ステップＳ２２において、通信装置１０ａ中のフレーム処理部２６ａがＩＤ＝４５６を含むフレームを生成したとする。判定部２７ａは、生成されたフレーム中のＩＤ＝４５６をキーとして、送信ホワイトリスト３１ａ＿２（図７）を検索することにより、送信可能なフレームであるかを判定する。送信ホワイトリスト３１ａ＿２には、ＩＤ＝４５６が含まれているので、判定部２７ａは、送信可能な送信フレームが生成されたと判定する。さらに、送信ホワイトリスト３１ａ＿２中でＩＤ＝４５６に対応付けられた認証フラグはＯＦＦに設定されていることから、判定部２７ａは、送信対象のフレームは、送受信の際の認証処理の対象ではないと判定する。そこで、判定部２７ａは、送信部１３ａを介して、送信フレームをネットワークに送信する（ステップＳ２２）。
【００５４】
通信装置１０ｂの受信部１２ｂは、ＩＤ＝４５６を含むフレームを受信すると、受信フレームを攻撃検出部２１ｂに出力する。攻撃検出部２１ｂは、受信フレームのＩＤが受信ホワイトリスト３２ｂ＿２（図７）と送信ホワイトリスト３１ｂのいずれにも含まれていないので、受信フレームを廃棄する（ステップＳ２３）。
【００５５】
通信装置１０ｃにおいても、受信部１２ｃはＩＤ＝４５６を含むフレームを受信すると、受信フレームを攻撃検出部２１ｃに出力する。攻撃検出部２１ｃは、受信フレームのＩＤ＝４５６をキーとして受信ホワイトリスト３２ｃ（図５）を検索する。ＩＤ＝４５６が受信対象に含まれており、かつ、認証フラグ＝ＯＦＦであるので、攻撃検出部２１ｃは、ＩＤ＝４５６で識別されるフレームを、認証処理を行わずに受信することを決定する。このため、攻撃検出部２１ｃは、ＩＤ＝４５６の受信フレームをフレーム処理部２６ｃに出力する。従って、ＩＤ＝４５６のフレームは通信装置１０ｃで処理される（ステップＳ２４）。
【００５６】
このように、図６の例では、攻撃が検出されたＩＤ＝１２３のフレームについては、ステップＳ１５での通知フレームの送信以降では、フレームの送受信の際に認証処理が行われる。一方、ＩＤ＝１２３を用いた攻撃が検出された後でも、ＩＤ＝４５６による攻撃は検出されていない。このため、ステップＳ２２以降の処理でも、ＩＤ＝４５６については認証処理を伴わずにフレームの送受信が行われる。
【００５７】
なお、図５〜図７を参照しながら説明した処理は一例であり、例えば、プログラムやハードウェアの実装に応じて、データの入力先や出力先が変更されてもよい。例えば、ＭＡＣ生成部２３は、認証部２４を介さずにＭＡＣを生成するために使用するデータ（ＣＡＮデータ）を取得してもよい。
【００５８】
（２）ＭＡＣの生成方法の例
図８は、ＭＡＣの生成方法の例を説明する図である。ＭＡＣの生成方法として、ＨＭＡＣ−ＳＨＡ１（Hash-based Message Authentication Code - Secure Hash Algorithm 1）、ＨＭＡＣ−ＳＨＡ２５６などのハッシュ関数を使う方式や、ブロック暗号アルゴリズムを使う方式が使用されうる。以下の説明では、図８を参照しながらブロック暗号アルゴリズムを用いる場合の例を説明するが、ＭＡＣの生成方法は、ネットワーク中の通信装置１０の間で共通していれば、任意の方法でよい。
【００５９】
ＭＡＣの生成には、ＭＡＣを計算する対象のフレームのデータフィールド中のデータ、カウンタ値、ＭＡＣを計算する対象のフレームのＩＤ（ＣＡＮ  ＩＤ）を結合した文字列が使用される。ここで、カウンタ値は、１つのＩＤについてのＭＡＣの計算の度に異なる値が用いられるようにＭＡＣ生成部２３で処理された値である。なお、カウンタ値は、ＩＤごとに異なる値であっても、同じ値であっても良い。図８の例では、データ、カウンタ値、ＣＡＮ  ＩＤの順に連続させた文字列を生成しているが、実装に応じて、結合される要素の順序が入れ替えられても良い。次に、ＭＡＣ生成部２３は、データ、カウンタ値、ＣＡＮ  ＩＤから得られた文字列を、共通鍵を用いて、暗号化することにより、暗号文を生成する。ＭＡＣ生成部２３は、暗号文から予め決められた方法で６４ビットを選択し、得られた値をＭＡＣとする。なお、６４ビットの選択方法は、ネットワーク中の通信装置１０で共通していれば、任意である。例えば、ＭＡＣ生成部２３は、生成した暗号文の先頭の６４ビットをＭＡＣとしてもよいし、暗号文の末尾の６４ビットをＭＡＣにしても良い。またセキュリティーに応じて６４ビット以外の長さに調整してもよい。
【００６０】
（３）攻撃の検出方法の例
図９は、攻撃の検出方法の例を説明するフローチャートである。図９を参照しながら、図５〜図７を参照しながら説明した処理と同様に、通信装置１０が通知フレーム以外のフレームを用いて、攻撃を検出する方法の例を説明する。
【００６１】
通信装置１０の受信部１２は、通知メッセージではないフレームを受信したとする（ステップＳ３１）。受信部１２は、受信したフレームを攻撃検出部２１に出力する。攻撃検出部２１は、入力されたフレームを識別するＩＤが受信ホワイトリスト３２に含まれているかを判定する（ステップＳ３２）。入力されたフレームを識別するＩＤが受信ホワイトリスト３２に無い場合、攻撃検出部２１は、入力されたフレームを識別するＩＤが受信ブラックリスト３３に含まれているかを判定する（ステップＳ３２でＮｏ、ステップＳ３３）。入力されたフレームを識別するＩＤが受信ブラックリスト３３にある場合、攻撃検出部２１は、攻撃を検出したと判定する（ステップＳ３３でＹｅｓ、ステップＳ３４）。そこで、攻撃検出部２１は入力されたフレームの識別に使用するＩＤを設定部２２に出力すると共に、入力されたフレームを廃棄する（ステップＳ３５）。
【００６２】
一方、入力されたフレームを識別するＩＤが受信ブラックリスト３３にも含まれていない場合、攻撃検出部２１は、入力されたフレームは処理対象ではないと判定する（ステップＳ３３でＮｏ）。そこで、攻撃検出部２１は入力されたフレームを廃棄する（ステップＳ３５）。
【００６３】
入力されたフレームを識別するＩＤが受信ホワイトリスト３２に含まれている場合、攻撃検出部２１は、フレームのＩＤに対応付けられている認証フラグがＯＮに設定されているかを判定する（ステップＳ３２でＹｅｓ、ステップＳ３６）。フレームのＩＤに対応付けられている認証フラグがＯＮに設定されていない場合、攻撃検出部２１は、入力されたフレームをフレーム処理部２６に出力する（ステップＳ３６でＮｏ）。フレーム処理部２６は、入力されたフレームを処理する（ステップＳ３８）。一方、フレームのＩＤに対応付けられている認証フラグがＯＮに設定されている場合、攻撃検出部２１は、入力されたフレームを認証部２４に出力する（ステップＳ３６でＹｅｓ）。認証部２４は、入力されたフレームを、入力されたフレーム中のデータから計算されたＭＡＣと、入力されたフレームの認証用に送信元から取得したＭＡＣを用いて、認証処理を行うと共に、認証結果に応じた処理を行う（ステップＳ３７）。
【００６４】
攻撃の検出は、自装置が送信するフレームのＩＤと同じＩＤを他の通信装置１０から受信した場合以外にも行われうる。例えば、攻撃検出部２１は、受信ホワイトリスト３２に含まれているＩＤごとに、フレームの受信周期や受信頻度を記録することができる。フレームの受信周期の変動が所定の割合以上になった場合、攻撃検出部２１は、攻撃を検出したと判定しても良い。同様に、フレームの受信頻度が所定の割合を超えて増加した場合も、攻撃検出部２１は、攻撃が発生したと判定しても良い。攻撃が発生したと判定された後の処理は、図５〜図７を参照しながら説明した処理と同様である。
【００６５】
さらに、通信装置１０は、判定部２７において送信対象のフレームを識別するＩＤが送信ホワイトリスト３１に含まれていないことが検出された場合にも、攻撃が発生していると判定する。このような処理は、例えば、通信装置１０がＣＡＮコントローラ１０２として実現されているなどの理由により、通信装置１０の接続先でフレームが処理されている場合に特に有効である。すなわち、通信装置１０の接続先の装置が攻撃者によってすりかえられた場合に、悪意のあるフレームが通信装置１０に送信フレームとして入力されることになる。そこで、判定部２７は、送信ホワイトリスト３１に含まれないＩＤを識別情報として含むフレームを検出すると、判定部２７が、攻撃を検出したと判定しても良い。判定部２７は、攻撃の検出に使用したフレームの廃棄と並行して、廃棄するフレーム中のＩＤを通知処理部２５に通知する。通知処理部２５での通知フレームの送信のための処理や、通知フレームを受信した通信装置１０での処理は、図５〜図７を参照しながら説明した処理と同様である。
【００６６】
（４）ハードウェアでの実装方法の例
図５〜図９を参照しながら説明した処理では、通信装置１０での処理がプログラムを読み込んだプロセッサによって行われる場合を例としたが、通信装置１０の処理の一部や全部がハードウェアで実現されても良い。以下、認証処理の切り替えや通知フレームの送信を、スイッチを用いて制御する場合の制御例を説明する。
【００６７】
図１０は、攻撃が検出されたときの処理の例を説明する図である。図１０の通信装置１０ａを参照しながら、通知フレームの送信処理がスイッチＳＷ１で制御される場合の例を説明する。図１０の通信装置１０ａで図示するケースでは、スイッチＳＷ１は、記憶部３０ａおよび通知処理部２５ａと、設定部２２ａの間の接続に設置されている。また、スイッチＳＷ１は、攻撃が検出されていない間は、設定部２２ａからの信号が通知処理部２５ａなどに流れない状態に設定されているとする。この状態で、例えば、通信装置１０ａが受信フレームを用いて攻撃を検出したとする。攻撃の検出方法は、前述の方法のうちで、受信フレームを用いる方法のいずれかであるとする。攻撃検出部２１ａは、受信フレームの識別に使用されるＩＤの情報を設定部２２ａに出力する（矢印Ａ１）。設定部２２ａは、スイッチＳＷ１を用いて、通知処理部２５ａおよび記憶部３０ａに接続する（矢印Ａ２でＳＷ１の設定変更）。さらに、設定部２２ａと通知処理部２５ａが接続されると、設定部２２ａから出力された信号が通知処理部２５ａに入力される（矢印Ａ３）。通知処理部２５ａは、設定部２２ａから、攻撃が検出されたＩＤを取得すると、通知フレームを生成し、送信部１３ａに出力する（矢印Ａ４）。送信部１３ａは、他の装置に通知フレームを送信する。一方、設定部２２ａは、記憶部３０ａ中の送信ホワイトリスト３１ａか受信ホワイトリスト３２ａのいずれかで、攻撃が検出されたＩＤに対応付けられた認証フラグをＯＮに設定する（矢印Ａ５）。
【００６８】
図１０の通信装置１０ｂは、通信装置１０ａから送信された通知フレームを受信した場合に行われる制御の例を示している。図１０中の通信装置１０ｂを参照しながら、受信ホワイトリスト３２中のＩＤに対応付けられた認証フラグが、スイッチＳＷ２として実現される場合を説明する。認証フラグがスイッチＳＷ２として実現される場合、通信装置１０が処理する対象の各ＩＤに対して、データの出力を制御するためのデータ出力部４３が、スイッチＳＷ２とともに設置される。なお、スイッチＳＷ２も、ＩＤごとに設置される。なお、図１０の通信装置１０ｂの例では、通知フレームで攻撃が通知されたＩＤの処理に使用される部分を抜き出して図示している。例えば、受信部１２ｂとフレーム処理部２６ｂや認証部２４ｂの間には、攻撃検出部２１ｂなどが接続されていてもよい。
【００６９】
通知フレームを受信する前は、スイッチＳＷ２は、破線Ａで示すように、Ｙｅｓを表す信号が、常時、データ出力部４３ｂに出力されるように設定されている。ここで、データ出力部４３ｂにＹｅｓという信号が出力されると、データ出力部４３ｂは、受信部１２ｂや攻撃検出部２１ｂ（図示せず）などを介して取得したフレーム中のデータをフレーム処理部２６ｂに出力する（矢印Ａ１１、Ａ１２）。ＭＡＣ生成部２３ｂに対しては、データフレーム中のデータ（ＣＡＮデータ）が入力されるとする（矢印Ａ１３）。一方、認証部２４ｂには、ＭＡＣ認証が行われる場合に送信されるＭＡＣデータが入力されるものとする（矢印Ａ１４）。ＭＡＣ生成部２３ｂは、入力されたＣＡＮデータを用いてＭＡＣを生成すると、生成したＭＡＣを認証部２４ｂに出力する（矢印Ａ１５）。なお、ＭＡＣ認証が行われない場合には、認証部２４ｂにはＭＡＣデータが入力されないので、ＭＡＣ生成部２３ｂでのＭＡＣの計算結果と認証部２４ｂが取得した認証用のＭＡＣデータの比較処理は行われない。
【００７０】
通知フレームを受信すると、設定部２２ｂ（図示せず）によって、通知フレームで通知されたＩＤに対応付けられたスイッチＳＷ２は、実線Ｂで示すように、設定が変更される。実線Ｂに示す設定では、認証部２４ｂから認証結果がスイッチＳＷ２に出力される（矢印Ａ１６）。このため、認証結果が認証成功（Ｙｅｓ）であれば、データ出力部４３ｂにＹｅｓという信号がスイッチＳＷ２から出力されるが、認証に失敗するとＮｏという信号がスイッチＳＷ２にからデータ出力部４３ｂに出力される。データ出力部４３ｂは、認証失敗を表すＮｏが入力されると、データ出力部４３ｂが取得したデータを破棄して、フレーム処理部２６ｂには出力しない。このため、認証処理に成功した場合のみ、フレーム処理部２６ｂにＣＡＮデータが出力される。
【００７１】
図１１は、攻撃が検出されたときの処理の例を説明する図である。図１１を参照しながら、送信ホワイトリスト３１中のＩＤに対応付けられた認証フラグが、スイッチＳＷ３として実現される場合を説明する。認証フラグが、スイッチＳＷ３として実現される場合、スイッチＳＷ３は、ＭＡＣ生成部２３ｄと送信部１３ｄの間の接続に設置される。ここで、スイッチＳＷ３は、通信装置１０ｄが送信する対象とするＩＤの各々に対して１つずつ設置されるものとする。なお、図１１の例でも、通知フレームで攻撃が通知されたＩＤの処理に使用される部分を抜き出して図示している。
【００７２】
通知フレームの受信前では、スイッチＳＷ３は、実線Ｄに示すように設定されているため、ＭＡＣ生成部２３ｄと送信部１３ｄは接続されていない。このため、ＭＡＣ生成部２３ｄでＭＡＣが生成されても、スイッチＳＷ３が押下されていないので、生成されたＭＡＣは送信部１３ｄに出力されない。
【００７３】
設定部２２ｄは、受信部１２ｄや攻撃検出部２１ｄ（図示せず）を介して、通知フレームを取得する（矢印Ａ２１）。設定部２２ｄは、通知フレームで通知されたＩＤに対応付けられたスイッチＳＷ３の設定を、破線Ｅに示すように変更する。このため、設定の変更後は、ＭＡＣ生成部２３ｄで生成されたＭＡＣが送信部１３ｄに出力されるようになる。スイッチＳＷ３の設定変更後に、フレーム処理部２６でデータ（ＣＡＮデータ）が生成されると、通知対象となるＣＡＮデータは送信部１３ｄとＭＡＣ生成部２３ｄの両方に入力される（矢印Ａ２３、Ａ２４）。スイッチＳＷ３が認証フラグ＝ＯＮに相当する設定になっている場合、ＭＡＣ生成部２３ｄで生成されたＭＡＣデータは送信部１３ｄに出力される。このため、通知フレームによって攻撃が検出されたＩＤについては、攻撃の通知後、送信部１３ｄからは、ＣＡＮデータとＭＡＣデータの両方が送信されるようになる。
【００７４】
図１２は、攻撃が検出されたときの処理の例を説明する図である。図１２を参照しながら、通知フレームの送信処理の制御と送信ホワイトリスト３１中の認証フラグの両方がスイッチで実現される場合の例を説明する。図１２では、通知フレームの送信処理の制御がスイッチＳＷ４で行われ、送信ホワイトリスト３１中の認証フラグがスイッチＳＷ５で実現される。スイッチＳＷ４は、通知処理部２５ａと設定部２２ａの間の接続に設置されており、攻撃が検出されていない間は、設定部２２ａからの信号が通知処理部２５ａに流れない状態に設定されている。この状態で、通信装置１０ａが受信フレームを用いて攻撃を検出したとする。攻撃検出部２１ａは、攻撃に使用されたフレームの識別に使用されるＩＤの情報を設定部２２ａに出力する（矢印Ａ３１）。設定部２２ａは、スイッチＳＷ４を用いて、通知処理部２５ａに接続する（矢印Ａ３２でＳＷ４の設定変更）。さらに、設定部２２ａと通知処理部２５ａが接続されると、設定部２２ａから出力された信号が通知処理部２５ａに入力される（矢印Ａ３３）。通知処理部２５ａは、攻撃が検出されたＩＤを設定部２２ａから取得すると、通知フレームを生成し、送信部１３ａに出力する（矢印Ａ３４）。送信部１３ａは、他の装置に通知フレームを送信する。
【００７５】
一方、認証フラグとして動作するスイッチＳＷ５は、ＭＡＣ生成部２３ａと送信部１３ａの間の接続に設置される。ここで、スイッチＳＷ５は、通信装置１０ａが送信する対象とするＩＤの各々対して１つずつ設置されるものとする。通知フレームの受信前では、スイッチＳＷ５によって、ＭＡＣ生成部２３ａと送信部１３ａの間の接続は切断されている。
【００７６】
設定部２２ａは、攻撃検出部２１ａから攻撃が検出されたＩＤが通知されると、通知されたＩＤに対応付けられたスイッチＳＷ５の設定を変更することにより、ＭＡＣ生成部２３ａと送信部１３ａを接続する（矢印Ａ３５）。このため、設定の変更後は、ＭＡＣ生成部２３ａで生成されたＭＡＣが送信部１３ａに出力されるようになる。スイッチＳＷ５の設定変更後に、フレーム処理部２６ａでデータ（ＣＡＮデータ）が生成されると、通知対象となるＣＡＮデータは送信部１３ａとＭＡＣ生成部２３ａの両方に入力される（矢印Ａ３６、Ａ３７）。このため、スイッチＳＷ５が認証フラグ＝ＯＮに相当する設定になっている場合、ＭＡＣ生成部２３ａで生成されたＭＡＣデータは送信部１３ａに出力される。このため、通知フレームによって攻撃が検出されたＩＤについては、攻撃の通知後、ＣＡＮデータとＭＡＣデータの両方が送信されるようになる。
【００７７】
図１３は、通信装置１０が行う処理の例を説明するフローチャートである。通信装置１０中の判定部２７は、フレーム送信を行うかを判定する（ステップＳ５１）。フレーム送信を行う場合、判定部２７は、送信対象のフレームを用いた攻撃を検出したかを判定する（ステップＳ５２）。例えば、判定部２７は、送信フレームを識別するＩＤが送信ホワイトリスト３１に含まれているかの判定を、ステップＳ５２の処理として行うことができる。送信対象のフレームを用いた攻撃を検出した場合、判定部２７は、処理対象のフレームを廃棄する（ステップＳ５３）。
【００７８】
判定部２７は、送信対象のフレームによって攻撃を検出していない場合、送信対象のフレームに対応付けられた認証フラグがＯＮに設定されているかを判定する（ステップＳ５２でＮｏ、ステップＳ５６）。送信対象のフレームに対応付けられた認証フラグがＯＦＦに設定されている場合、判定部２７は、送信部１３を介して送信対象のフレームを送信する（ステップＳ５６でＮｏ、ステップＳ５７）。一方、送信対象のフレームに対応付けられた認証フラグがＯＮに設定されている場合、ＭＡＣ生成部２３は、送信対象のフレームからＭＡＣを計算する（ステップＳ５６でＹｅｓ、ステップＳ５８）。送信部１３は、送信対象のフレームと、ＭＡＣ生成部２３で計算されたＭＡＣを送信する（ステップＳ５９）。
【００７９】
ステップＳ５１において、フレームの送信処理を行っていないと判定される場合、フレームの受信処理中であるかが判定される（ステップＳ５１でＮｏ、ステップＳ６０）。フレームの受信処理中の場合、通信装置１０は、フレームの受信処理を行う（ステップＳ６０でＹｅｓ、ステップＳ６１）。ステップＳ６１の詳細は、図１４を参照しながら説明する。
【００８０】
一方、フレームの受信処理中でもない場合、攻撃検出部２１は、攻撃を検出したかを判定する（ステップＳ６０でＮｏ、ステップＳ６２）。攻撃検出部２１が攻撃を検出していない場合、ステップＳ５１に戻る（ステップＳ６２でＮｏ）。攻撃検出部２１が攻撃を検出した場合、通知処理部２５は、攻撃を検出したＩＤについての通知フレームを送信する（ステップＳ６２でＹｅｓ、ステップＳ６３）。設定部２２は、攻撃検出部２１が攻撃を検出したＩＤに対応付けられた認証フラグをＯＮに設定する（ステップＳ６４）。ステップＳ５３、Ｓ５７、Ｓ５９、Ｓ６４の処理が終了した場合、ステップＳ５１以降の処理が繰り返される。
【００８１】
なお、図１３は一例であり、実装に応じて手順が変更されても良い。例えば、ステップＳ６３とＳ６４の順序は、任意に変更され得る。また、ステップＳ５３の処理後に、ステップＳ６３、Ｓ６４の処理が行われるように通信装置１０が設計されても良い。例えば、判定部２７が、送信対象のフレームのＩＤが送信ホワイトリスト３１に含まれていないＩＤであることを検出した場合、ステップＳ５３の処理後に、ステップＳ６３、Ｓ６４の処理が行われても良い。
【００８２】
図１４は、通信装置１０がフレームを受信したときに行う処理の例を説明するフローチャートである。図１４は、図１３中のステップＳ６１の詳細の例を示している。なお、図１４も処理の一例を示しており、実装に応じて変更され得る。例えば、ステップＳ８２とＳ８３の順序は任意に変更され得る。
【００８３】
受信部１２はフレームを受信する（ステップＳ７１）。攻撃検出部２１は、受信フレームが通知フレームであるかを判定する（ステップＳ７２）。受信フレームが通知フレームではない場合、攻撃検出部２１は、受信フレームによって攻撃を検出したかを判定する（ステップＳ７２でＮｏ、ステップＳ７３）。なお、ステップＳ７３の判定処理は、例えば、図９を参照しながら説明した処理とすることができる。受信フレームを用いて攻撃を検出していない場合、攻撃検出部２１は、受信フレームのＩＤに対応付けられた認証フラグがＯＮに設定されているかを判定する（ステップＳ７３でＮｏ、ステップＳ７４）。受信フレームのＩＤに対応付けられた認証フラグがＯＮに設定されている場合、ＭＡＣ生成部２３は、受信フレームからＭＡＣ（ＭＡＣｘ）を計算する。さらに、認証部２４は、計算されたＭＡＣｘと認証用に受信したＭＡＣ（ＭＡＣｙ）を比較する（ステップＳ７４でＹｅｓ、ステップＳ７５）。ＭＡＣｘとＭＡＣｙが一致する場合、認証部２４は、受信フレームをフレーム処理部２６に出力し、フレーム処理部２６はフレームを処理する（ステップＳ７６でＹｅｓ、ステップＳ７７）。ＭＡＣｘとＭＡＣｙが一致しない場合、認証部２４は、受信フレームを廃棄する（ステップＳ７６でＮｏ、ステップＳ７８）。
【００８４】
ステップＳ７４において、受信フレームのＩＤに対応付けられた認証フラグがＯＮに設定されていない場合、受信フレームは認証を行わずに送受信されるフレームである（ステップＳ７４でＮｏ）。攻撃検出部２１は、受信フレームのＩＤは受信ホワイトリスト３２に含まれているかを判定する（ステップＳ７９）。受信フレームのＩＤが受信ホワイトリスト３２に含まれている場合、攻撃検出部２１は受信フレームをフレーム処理部２６に出力し、フレーム処理部２６はフレームを処理する（ステップＳ７９でＹｅｓ、ステップＳ８０）。一方、受信フレームのＩＤが受信ホワイトリスト３２に含まれていない場合、攻撃検出部２１は受信フレームを廃棄する（ステップＳ７９でＮｏ、ステップＳ８１）。
【００８５】
ステップＳ７３において攻撃を検出したと判定されると、通知処理部２５は、攻撃が検出されたＩＤについての通知フレームを送信する処理を行う（ステップＳ７３でＹｅｓ、ステップＳ８２）。設定部２２は、攻撃が検出されたＩＤに対応付けられた認証フラグをＯＮに設定する（ステップＳ８３）。
【００８６】
ステップＳ７２において、通知フレームを受信したと判定した場合、設定部２２は、通知フレームで通知されたＩＤが受信ホワイトリスト３２か送信ホワイトリスト３１に含まれるかを判定する（ステップＳ７２でＹｅｓ、ステップＳ７３）。通知フレームで通知されたＩＤが受信ホワイトリスト３２と送信ホワイトリスト３１のいずれにも含まれない場合、設定部２２は受信処理を終了する（ステップＳ８４でＮｏ）。通知フレームで通知されたＩＤが受信ホワイトリスト３２か送信ホワイトリスト３１に含まれる場合、設定部２２は、通知されたＩＤに対応付けられた認証フラグをＯＮに設定する（ステップＳ８４でＹｅｓ、ステップＳ８５）。
【００８７】
以上説明したように、第１の実施形態によると、ネットワーク中のいずれかの通信装置１０によって攻撃が検出されてから、攻撃が検出されたＩＤを用いた通信ではＭＡＣ認証を行って、不正アクセスを防止する。このため、第１の実施形態によると、ネットワークのセキュリティーを高めることができる。さらに、ＭＡＣ認証は、攻撃が検出されたＩＤに対して行われるに過ぎないので、ＭＡＣ認証に起因して通信装置１０にかかる負荷や処理の遅延は、攻撃の検出状況に関わらずにＭＡＣ認証を行うシステムに比べて小さい。さらに、特定のＩＤに対して、攻撃の検出状況に関わらずＭＡＣ認証を行う場合に比べて、特定のＩＤを用いたときの処理速度が遅くなるなどの問題も発生しない。
【００８８】
＜第２の実施形態＞
第１の実施形態に加えて、攻撃が終了した場合や、攻撃に対する対処が成功したことにより、ＭＡＣ認証を用いたフレームの送受信を終了する場合について説明する。
【００８９】
図１５は、第２の実施形態において、攻撃が検出されたときの処理の例を説明する図である。第２の実施形態にかかる通信装置１０は、図１５に示すように、状態検知部４１と処理部４２を備える。状態検知部４１は、ネットワークが設置されているシステムの稼動状況をモニタし、得られた情報を処理部４２と設定部２２に通知する。処理部４２は、攻撃検出部２１から攻撃の発生が通知されると、システムの稼動状況に合わせて予め決定された処理のいずれかを行う。なお、状態検知部４１と処理部４２のいずれも、プロセッサ１０４かプロセッサ１１１によって実現される。以下、状態検知部４１と処理部４２の動作の説明も、図１５を参照しながら述べる。なお、図１５では、通知フレームの送信処理の制御がスイッチＳＷ１１で行われ、送信ホワイトリスト３１中の認証フラグがスイッチＳＷ１２で実現される。図１５では、認証フラグなどをハードウェアで実装する場合の例を説明しているが、第２の実施形態にかかる通信装置１０でも、制御部２０の一部、または、全部をソフトウェアで実現することもできる。
【００９０】
状態検知部４１は、通信装置１０が起動している間、ネットワークが設置されているシステムでの動作状態をモニタするための処理を行う。例えば、状態検知部４１は、ネットワーク中の他の通信装置１０に含まれている状態検知部４１との間での通信結果や、ネットワークが設置されているシステム中の装置との通信結果を用いて、稼動状況を判定しても良い。例えば、ＣＡＮネットワークが自動車に搭載されている場合、状態検知部４１は、ＣＡＮネットワークが搭載されている自動車が走行中であるかをモニタする。状態検知部４１は、モニタ処理によって得られた情報を、定期的に設定部２２と処理部４２に出力する（矢印Ａ４１、Ａ４２）。
【００９１】
その後、攻撃検出部２１で攻撃が検出されたとする。攻撃検出部２１での攻撃の検出処理は、第１の実施形態と同様である。攻撃検出部２１は、攻撃を検出したことを処理部４２に通知する（矢印Ａ４３）。
【００９２】
処理部４２は、攻撃が検出されると、予め決められた安全対策のための処理を行う。例えば、ＣＡＮネットワークが自動車に搭載されている場合、処理部４２は、攻撃検出部２１から攻撃が通知されると、停車を促す音声信号を車内のスピーカから出力させるために予め決められている処理を行っても良い。また、車内に搭載された表示画面などがある場合には、これに画像信号を出力しても良い。また、処理部４２は、処理部４２が保持している検査プログラムを用いてシステムの状態を検査しても良い。
【００９３】
矢印Ａ４４〜Ａ４７に示す処理は、図１２を参照しながら説明した矢印Ａ３１〜Ａ３４の処理と同様である。このため、第２の実施形態でも、第１の実施形態と同様に通知フレームの送信が行われる。さらに、矢印Ａ４８〜Ａ５０の処理は、図１２を参照しながら説明した矢印Ａ３５〜Ａ３７の処理と同様である。このため、第２の実施形態でも、第１の実施形態と同様に通知フレームによって攻撃が通知されたＩＤを有するフレームの送受信に際して、認証処理が行われる。
【００９４】
図１６は、第２の実施形態にかかる通信方法の例を説明するフローチャートである。以下、図１６を参照しながら、復帰処理の例について説明する。図１６のステップＳ９１〜Ｓ９５は、図１を参照しながら説明したステップＳ１〜Ｓ５と同様である。第２の実施形態では、ＭＡＣ認証を用いるフレームの送受信を行っている間、処理部４２は、状態検知部４１から取得した情報や検査プログラムを用いた検査の結果などを用いて、認証処理を終了するＩＤがあるかを判定する（ステップＳ９６）。例えば、処理部４２は、攻撃の検出後に状態検知部４１から停車したことが通知された場合は、認証処理を行っている全てのＩＤについて、認証処理を終了できると判定しても良い。また、特定のＩＤを用いた攻撃の終了が確認できた場合には、攻撃の終了が確認できたＩＤについて、認証処理を終了できると判定する。
【００９５】
認証処理を終了するＩＤがあると判定すると、処理部４２は、認証処理を終了するＩＤを設定部２２に通知する。設定部２２は、処理部４２から通知されたＩＤについての認証フラグをＯＦＦに設定する。さらに、処理部４２は、他の通信装置１０に対して、自装置が認証処理を終了するＩＤに対する認証処理を終了することを要求するための復帰要求フレームを生成する。復帰要求フレームには、フレーム種別と、認証処理の終了を要求するＩＤが含められる。例えば、ＩＤ＝１２３に対する復帰処理を行う場合、処理部４２は、以下の情報要素を含む復帰要求フレームを生成する。
種別    ：復帰要求フレーム
対象ＩＤ：１２３
処理部４２は、生成した復帰要求フレームを、送信部１３から送信する。なお復帰要求フレームも、通知フレームと同様に、ネットワーク中の全ての通信装置１０が受信対象とする制御用のＩＤを用いて送信されるものとする。または、復帰要求フレームを作成する代わりに対象ＩＤのみを含むフレームを作成し、復帰要求フレームを送信するための専用ＩＤを用いて送信しても良い。
【００９６】
復帰要求を受信した通信装置１０では、攻撃検出部２１が受信部１２を介して、復帰要求フレームを取得する。攻撃検出部２１は、復帰要求フレームを設定部２２に出力する。設定部２２は、受信した復帰要求フレームで通知されたＩＤに対応付けられた認証フラグをＯＦＦに設定する。このため、復帰要求フレームの受信後の通信装置１０では、復帰要求フレームで通知されたＩＤに対する認証処理が行われなくなる（ステップＳ９７）。例えば、認証処理の対象となっていたフレームを送信する通信装置１０は、復帰要求フレームの受信後は、復帰要求フレームで通知されたＩＤを含むフレームの送信の際に、送信対象のフレームのＭＡＣを送信しなくなる。一方、認証処理の対象となっていたフレームを受信する通信装置１０は、復帰要求フレームの受信後は、復帰要求フレームで通知されたＩＤを含むフレームの受信の際に認証処理を行わずに受信処理を行う。
【００９７】
その後、ネットワーク中の各通信装置１０は、新たに攻撃を検知したかを判定する（ステップＳ９８）。新たな攻撃が検出されていない場合、ステップＳ９５以降の処理が繰り返される（ステップＳ９８でＮｏ）。このため、認証フラグ＝ＯＮのままの設定が継続しているＩＤについては、認証処理を伴う通信が継続されるが認証フラグ＝ＯＦＦのＩＤについては認証処理が行われない。一方、新たな攻撃が検知された場合には、ステップＳ９４以降の処理が繰り返される（ステップＳ９８でＹｅｓ）。このため、新たに攻撃が検出された場合には、攻撃が検出されたＩＤについての認証処理が開始される。
【００９８】
第２の実施形態では、攻撃の停止などに伴い、認証処理を終了することができる。このため、攻撃の検出や攻撃の停止の確認などに応じて、認証処理の開始や停止を行うことができ、通信装置１０にかかる負担を小さくすると共に、ネットワークのセキュリティーも担保できる。このため、第２の実施形態は、ネットワークへの攻撃が検出されてもシステムを停止せずに連続使用する場合に特に効果的である。
【００９９】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【０１００】
図１７は、ネットワークの変形例を説明する図である。ネットワークＮ２は、通信装置１０（１０ａ〜１０ｄ）と検知装置７０を含む。ネットワークＮ２の例では、各通信装置１０は、ＣＡＮネットワークのＥＣＵとしても動作する。検知装置７０は、ネットワーク中で送受信されるフレームのＩＤごとの統計値などを用いることにより、ネットワークＮ２への攻撃を検知する。ネットワークＮ２のように、検知装置７０がネットワーク中に含まれている場合、各通信装置１０は、攻撃検出部２１を備えなくても良い。さらに、検知装置７０は、ネットワークへの攻撃の終了なども検知する。攻撃が終了したＩＤを特定すると、検知装置７０は、特定したＩＤを含む復帰要求フレームを、ネットワークＮ２中の通信装置１０に送信する。
【０１０１】
図１７のネットワークＮ３には、ＥＣＵ１００（１００ａ〜１００ｄ）と、通知装置８０が含まれており、各ＥＣＵ１００は、通信装置１０（１０ａ〜１０ｄ）を介してネットワークの他の装置と通信可能になるように接続されている。ネットワークＮ３に含まれる通信装置１０は、通知処理部２５を備えなくてもよい。この場合、各通信装置１０は、攻撃検出部２１において攻撃を検出すると、攻撃の検出を通知装置８０に通知する。通知装置８０は、いずれかの通信装置１０から攻撃の検出と、攻撃が検出されたＩＤが通知されると、ネットワークＮ３中の装置に、通知フレームをブロードキャストする。第２の実施形態に対応した通信装置１０がネットワークＮ３に用いられる場合、処理部４２は、認証処理を終了することを決定したＩＤを、通知装置８０に通知する。通知装置８０は、認証処理を終了することを決定したＩＤをネットワーク中の通信装置１０に通知するために、復帰要求フレームを送信する。また、各通信装置１０は、フレーム処理部２６を保持しなくても良く、通信装置１０において受信対象であると判定したフレーム中のデータは、通信装置１０からＥＣＵ１００に転送される。
【０１０２】
以上の説明では、攻撃が検出されたＩＤについて、ＭＡＣ認証が行われる場合の例を説明したが、攻撃が検出されたＩＤ以外にも、攻撃の検出により監視を強めることが望ましいＩＤもＭＡＣ認証の対象に追加されてもよい。例えば、乗用車のＣＡＮネットワークにおいて、ハンドルの情報を伝える際に使用されるＩＤに対する攻撃が検出された場合、攻撃が検出されたＩＤに加えて、ブレーキの情報を通知する際に使用されるＩＤについてもＭＡＣ認証を行っても良い。この場合、通知処理部２５や設定部２２は、攻撃が検出されたＩＤに対応付けて、認証処理を開始するＩＤを特定するための情報を記憶しているものとする。
【０１０３】
さらに、以上の説明では、攻撃が検出されるとＭＡＣ認証を用いる場合について説明したが、攻撃が検出されたＩＤについては、重要度に応じて、ＭＡＣ認証とＣＡＮデータの暗号化を併用しても良い。認証処理と暗号化が併用されるＩＤについては、受信ホワイトリスト３２や送信ホワイトリスト３１において、認証フラグと合わせて、暗号化を行うかなどの情報も登録されているものとする。
【０１０４】
上述の第１および第２の実施形態を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
フレームの識別情報を用いて前記フレームを受信するかを判定する第１の通信装置と、
前記第１の通信装置と同じネットワークに属する第２の通信装置
を備え、
前記第１の通信装置は、
前記ネットワークへの攻撃の検出と、前記攻撃に使用されたフレームに含まれている識別情報である対象識別情報とを通知する通知フレームを前記第２の通信装置から受信すると、前記対象識別情報を含むフレームを、認証処理の対象に設定し、
前記認証処理の対象に設定した送信フレームを送信する際に、前記送信フレームから生成した認証情報を、前記送信フレームと共に送信する
ことを特徴とする通信システム。
（付記２）
前記対象識別情報を含むフレームを受信する第３の通信装置をさらに備え、
前記第３の通信装置は
前記通知フレームを前記第２の通信装置から受信すると、前記対象識別情報を含むフレームを、前記認証処理の対象に設定し、
前記第１の通信装置から送信された前記認証情報と前記送信フレームを取得し、
前記第1の通信装置から取得した前記認証情報と前記送信フレームから生成した認証情報とを比較する
ことを特徴とする付記１に記載の通信システム。
（付記３）
前記第２の通信装置は、前記対象識別情報を含むフレームに対する認証処理を終了することを決定すると、前記対象識別情報を含むフレームに対する認証処理の終了を要求する要求フレームを前記ネットワークに送信する
ことを特徴とする付記２に記載の通信システム。
（付記４）
フレームの識別情報を用いて前記フレームを受信するかを判定するネットワークに含まれる通信装置に、
前記ネットワークへの攻撃の検出と、前記攻撃に使用されたフレームに含まれている識別情報である対象識別情報とを通知する通知フレームを受信すると、前記対象識別情報を含むフレームを、認証処理の対象に設定し、
前記認証処理の対象に設定した送信フレームを送信する際に、前記送信フレームから認証情報を生成し
前記送信フレームと共に、前記認証情報を送信する
処理を行わせることを特徴とする通信プログラム。
（付記５）
前記ネットワークで送受信されるフレームを監視することにより前記ネットワークへの攻撃を検出すると、前記通知フレームを、前記ネットワークに送信する、
処理を前記通信装置に行わせることを特徴とする付記４に記載の通信プログラム。
（付記６）
前記対象識別情報を含むフレームに対する前記認証処理を終了することを決定すると、前記対象識別情報を含むフレームを、前記認証処理の対象から除外し、
前記対象識別情報を含むフレームに対する認証処理の終了を要求する要求フレームを送信する
処理を前記通信装置に行わせることを特徴とする付記４または５に記載の通信プログラム。
（付記７）
フレームの識別情報を用いて前記フレームを受信するかを判定するネットワークに含まれる通信装置が、
前記ネットワークへの攻撃の検出と、前記攻撃に使用されたフレームに含まれている識別情報である対象識別情報とを通知する通知フレームを受信すると、前記対象識別情報を含むフレームを、認証処理の対象に設定し、
前記認証処理の対象に設定した送信フレームを送信する際に、前記送信フレームから認証情報を生成し
前記送信フレームと共に、前記認証情報を送信する
処理を行うことを特徴とする通信方法。
（付記８）
前記ネットワークで送受信されるフレームを監視することにより前記ネットワークへの攻撃を検出すると、前記通知フレームを、前記ネットワークに送信する、
処理を前記通信装置が行うことを特徴とする付記７に記載の通信方法。
（付記９）
前記対象識別情報を含むフレームに対する前記認証処理を終了することを決定すると、前記対象識別情報を含むフレームに対する認証処理の終了を要求する要求フレームを送信する、
処理を前記通信装置が行うことを特徴とする付記７または８に記載の通信方法。
（付記１０）
フレームの識別情報を用いて前記フレームを受信するかを判定するネットワークに含まれる通信装置であって、
前記ネットワーク中の他の通信装置との間でフレームを送受信する通信部と、
前記ネットワークへの攻撃の検出と、前記攻撃に使用されたフレームに含まれている識別情報である対象識別情報とを通知する通知フレームを、前記通信部が受信すると、前記対象識別情報を含むフレームを、認証処理の対象に設定する設定部と、
前記認証処理の対象に設定した送信フレームを送信する際に、前記送信フレームから認証情報を生成する生成部
を備えることを特徴とする通信装置。
（付記１１）
前記ネットワークで送受信されるフレームを監視することにより前記ネットワークへの攻撃を検出する検出部
をさらに備え、
前記検出部が前記攻撃を検出すると、
前記通信部は、前記通知フレームを、前記ネットワークに送信し、
前記設定部は、検出された攻撃で使用された識別情報を含むフレームを、前記認証処理の対象に設定する
ことを特徴とする付記１０に記載の通信装置。
（付記１２）
前記対象識別情報を含むフレームに対する前記認証処理を終了することを決定すると、前記対象識別情報を含むフレームを、前記認証処理の対象から除外する処理部
をさらに備え、
前記通信部は、前記対象識別情報を含むフレームに対する認証処理の終了を要求する要求フレームを送信する
ことを特徴とする付記１０または１１に記載の通信装置。
【符号の説明】
【０１０５】
１０  通信装置
１１  通信部
１２  受信部
１３  送信部
２０  制御部
２１  攻撃検出部
２２  設定部
２３  ＭＡＣ生成部
２４  認証部
２５  通知処理部
２６  フレーム処理部
２７  判定部
３０  記憶部
３１  送信ホワイトリスト
３２  受信ホワイトリスト
３３  受信ブラックリスト
４１  状態検知部
４２  処理部
４３  データ出力部
７０  検知装置
８０  通知装置
１００  ＥＣＵ
１０１  ＣＡＮトランシーバ
１０２  ＣＡＮコントローラ
１０３  処理回路
１０４、１１１  プロセッサ
１０５、１１２  メモリ
【図１】
0006728700.tif 000002
【図２】
0006728700.tif 000003
【図３】
0006728700.tif 000004
【図４】
0006728700.tif 000005
【図５】
0006728700.tif 000006
【図６】
0006728700.tif 000007
【図７】
0006728700.tif 000008
【図８】
0006728700.tif 000009
【図９】
0006728700.tif 000010
【図１０】
0006728700.tif 000011
【図１１】
0006728700.tif 000012
【図１２】
0006728700.tif 000013
【図１３】
0006728700.tif 000014
【図１４】
0006728700.tif 000015
【図１５】
0006728700.tif 000016
【図１６】
0006728700.tif 000017
【図１７】
0006728700.tif 000018