(57)【特許請求の範囲】
【請求項１】
ゲートウェイ電子制御ユニットECUと前記ゲートウェイECUに接続された少なくとも1つのCANバスとを備える、コントローラエリアネットワークCANバスベースのセキュリティ通信システムであって、各CANバスが少なくとも1つのCANバスECUに接続され、前記少なくとも1つのCANバスECUが第1のCANバスECUを備え、
前記ゲートウェイECUは、ランダム数を生成し、前記少なくとも1つのCANバスを使用することにより、前記ランダム数を前記少なくとも1つのCANバスECUに送信するように構成され、
前記第1のCANバスECUは、前記ゲートウェイECUによって送信された前記ランダム数を取得し、第1のCAN識別子のキー、前記第1のCAN識別子のカウント値、第1のCANパケットのデータ、および前記ゲートウェイECUによって送信された前記ランダム数に基づいて第1の情報認証コードを生成し、前記第1のCAN識別子の前記キーは、前記CANバスベースのセキュリティ通信システムによって前記第1のCAN識別子に事前に割り当てられ、前記第1のCAN識別子の前記カウント値は、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信されたCANパケットの数に従って判定され、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信されたCANパケットの前記数によって異なり、前記第1のCANパケットは、前記第1のCANバスECUによって送信されるパケットであり、前記第1のCANバスECUは、前記第1のCAN識別子を使用することにより前記第1のCANパケットを送信する、ように構成され、
前記第1のCANバスECUは、第2のCANパケットと前記第1のCAN識別子の前記キーとに基づいて暗号化演算を実行して、第1の暗号化演算結果を取得し、前記第1の暗号化演算結果、前記第1の情報認証コード、前記第1のCAN識別子の前記カウント値、および前記第1のCANパケットの前記データに対して等長暗号化演算を実行して、暗号化認証が実行された前記第1のCANパケットを取得し、前記暗号化認証が実行された前記第1のCANパケットを送信する、ようにさらに構成され、
前記第2のCANパケットは、前記暗号化認証が実行された前記第1のCANパケットが送信される前に既に存在するパケットである前記第1のCANバスECUの過去のCANパケットである、
コントローラエリアネットワークCANバスベースのセキュリティ通信システム。
【請求項２】
前記ゲートウェイECUが、
第3のCANパケットと第2のCAN識別子のキーとに基づいて第1のランダム数送信キーを取得し、前記ゲートウェイECUは、前記第2のCAN識別子を使用することによりCANパケットを前記少なくとも1つのCANバスECUに送信し、前記第2のCAN識別子の前記キーは、前記CANバスベースのセキュリティ通信システムによって前記第2のCAN識別子に事前に割り当てられ、前記第3のCANパケットは、前記ゲートウェイECUの過去のCANパケットであり、
前記第1のランダム数送信キーと前記ゲートウェイECUによって送信されるランダム数とに基づいて第1のランダム数情報認証コードを生成し、
前記第1のランダム数送信キーおよび前記第3のCANパケットに対して暗号化演算を実行して、第2の暗号化演算結果を取得し、
前記第2の暗号化演算結果、前記第1のランダム数情報認証コード、および前記送信されるランダム数に対して等長暗号化演算を実行して、暗号化認証が実行されるランダム数を取得し、
暗号化認証が実行される前記ランダム数を前記少なくとも1つのCANバスECUに送信する、
ように特に構成される、請求項1に記載のシステム。
【請求項３】
前記第1のCANバスECUは、
前記第2のCAN識別子、前記第3のCANパケット、および暗号化認証が実行される前記ランダム数を取得し、
前記第2のCAN識別子の前記キーと前記第3のCANパケットとに基づいて第2のランダム数送信キーを取得し、
前記第2のランダム数送信キーおよび前記第3のCANパケットに対して暗号化演算を実行して、第3の暗号化演算結果を取得し、
前記第3の暗号化演算結果と暗号化認証が実行される前記ランダム数とに対して等長復号演算を実行して、第1のランダム数復号情報認証コードを取得し、
前記ゲートウェイECUによって送信された前記ランダム数と前記第2のランダム数送信キーとに基づいて第2のランダム数情報認証コードを生成し、
前記第1のランダム数復号情報認証コードと前記第2のランダム数情報認証コードとが一致している場合、前記ゲートウェイECUによって送信された前記ランダム数が有効であると判定する、
ようにさらに構成される、請求項2に記載のシステム。
【請求項４】
前記少なくとも1つのCANバスECUは、第2のCANバスECUをさらに備え、前記第2のCANバスECUは、
暗号化認証が実行される前記第1のCANパケットを取得し、暗号化認証が実行される前記第1のCANパケットを復号して、第1の復号情報認証コード、前記第1のCANパケットの復号データ、および前記第1のCAN識別子の第1の復号カウント値を取得し、
前記ゲートウェイECUによって送信された前記ランダム数を取得し、前記第1のCAN識別子の前記キー、前記ゲートウェイECUによって送信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて第2の情報認証コードを生成し、
前記第1の復号情報認証コードと前記第2の情報認証コードとが一致し、前記第1のCAN識別子の前記第1の復号カウント値が有効である場合、暗号化認証が実行される前記第1のCANパケットは有効であると判定する、
ように構成される、請求項1から3のいずれか一項に記載のシステム。
【請求項５】
前記第1のCANバスECUは、
前記ゲートウェイECUによって送信された前記ランダム数と前記第1のCAN識別子の前記キーとに基づいて第1の生成キーを取得し、
前記第1のCAN識別子の前記カウント値、前記第1のCANパケットの前記データ、前記第1の生成キー、および前記ゲートウェイECUによって送信された前記ランダム数に基づいて前記第1の情報認証コードを生成する、
ように特に構成され、
前記第2のCANバスECUは、
前記ゲートウェイECUによって送信された前記ランダム数と前記第1のCAN識別子の前記キーとに基づいて前記第1の生成キーを取得し、
前記第1の生成キー、前記ゲートウェイECUによって送信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて前記第2の情報認証コードを生成する、
ように特に構成される、
請求項4に記載のシステム。
【請求項６】
前記第1のCANパケットが、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信された前記第1のCANパケットである場合、前記第1のCANバスECUの前記過去のCANパケットは、前記CANバスベースのセキュリティ通信システムによって前記第1のCAN識別子に事前に割り当てられた初期デフォルトCANパケットである、または
前記第1のCANパケットが、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信された第1のCANパケット以外のCANパケットである場合、前記第1のCANバスECUの前記過去のCANパケットは、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信されたCANパケットの指定されたCANパケットである、
請求項1から5のいずれか一項に記載のシステム。
【請求項７】
前記ゲートウェイECUによって送信される前記ランダム数が前記ゲートウェイECUによって送信された第1のランダム数である場合、前記ゲートウェイECUの前記過去のCANパケットは、前記CANバスベースのセキュリティ通信システムによって前記ゲートウェイECUに事前に割り当てられた初期デフォルトCANパケットである、または
前記ゲートウェイECUによって送信される前記ランダム数が前記ゲートウェイECUによって送信された第1のランダム数以外のランダム数である場合、前記ゲートウェイECUの前記過去のCANパケットは、前記第2のCAN識別子を使用することにより前記ゲートウェイECUによって送信されたCANパケットの指定されたCANパケットである、
請求項2から5のいずれか一項に記載のシステム。
【請求項８】
第1のCANバス電子制御ユニットECUに適用された、コントローラエリアネットワークCANバスベースのセキュリティ通信装置であって、
ゲートウェイECUによって送信されたランダム数を取得するように構成された受信ユニットと、
処理ユニットであって、第1のCAN識別子のキー、前記第1のCAN識別子のカウント値、第1のCANパケットのデータ、および前記受信ユニットによって取得された前記ランダム数に基づいて第1の情報認証コードを生成し、前記第1のCAN識別子の前記キーは、CANバスベースのセキュリティ通信システムによって前記第1のCAN識別子に事前に割り当てられ、前記第1のCAN識別子の前記カウント値は、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信されたCANパケットの数に従って判定され、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信されたCANパケットの前記数によって異なり、前記第1のCANパケットは、前記第1のCANバスECUによって送信されるパケットであり、前記第1のCANバスECUは、前記第1のCAN識別子を使用することにより前記第1のCANパケットを送信し、
第2のCANパケットと前記第1のCAN識別子の前記キーとに基づいて暗号化演算を実行して、第1の暗号化演算結果を取得し、前記第1の暗号化演算結果、前記第1の情報認証コード、前記第1のCAN識別子の前記カウント値、および前記第1のCANパケットの前記データに対して等長暗号化演算を実行して、暗号化認証が実行される前記第1のCANパケットを取得し、
前記第2のCANパケットは、前記暗号化認証が実行された前記第1のCANパケットが送信される前に既に存在するパケットである前記第1のCANバスECUの過去のCANパケットである、
ように構成された処理ユニットと、
暗号化認証が実行される、前記処理ユニットによって生成された前記第1のCANパケットを送信するように構成された送信ユニットと、
を備える、コントローラエリアネットワークCANバスベースのセキュリティ通信装置。
【請求項９】
前記受信ユニットは、第2のCAN識別子、第3のCANパケット、および暗号化認証が実行されるランダム数を取得し、前記ゲートウェイECUは前記第2のCAN識別子を使用することにより前記少なくとも1つのCANバスECUにCANパケットを送信し、前記第3のCANパケットは前記ゲートウェイECUの過去のCANパケットである、ようにさらに構成され、
前記処理ユニットは、
前記第2のCAN識別子のキーと前記第3のCANパケットとに基づいて第2のランダム数送信キーを取得し、前記第2のCAN識別子の前記キーは前記CANバスベースのセキュリティ通信システムによって前記第2のCAN識別子に事前に割り当てられ、
前記第2のランダム数送信キーおよび前記第3のCANパケットに対して暗号化演算を実行して、第3の暗号化演算結果を取得し、
前記第3の暗号化演算結果と暗号化認証が実行される、前記受信ユニットによって受信された前記ランダム数とに対して等長復号演算を実行して、第1のランダム数復号情報認証コードを取得し、
前記受信ユニットによって受信された前記ランダム数と前記第2のランダム数送信キーとに基づいて第2のランダム数情報認証コードを生成し、
前記第1のランダム数復号情報認証コードと前記第2のランダム数情報認証コードとが一致している場合、前記受信ユニットによって取得された前記ランダム数が有効であると判定する、
ようにさらに構成される、
請求項8に記載の装置。
【請求項１０】
前記処理ユニットは、
前記受信ユニットによって受信された前記ランダム数と前記第1のCAN識別子の前記キーとに基づいて第1の生成キーを取得するステップと、
前記第1のCAN識別子の前記カウント値、前記第1のCANパケットの前記データ、前記第1の生成キー、および前記受信ユニットによって受信された前記ランダム数に基づいて前記第1の情報認証コードを生成するステップと、
を使用して、前記第1のCAN識別子の前記キー、前記第1のCAN識別子の前記カウント値、前記第1のCANパケットの前記データ、および前記受信ユニットによって取得された前記ランダム数に基づいて前記第1の情報認証コードを生成する、請求項8または9に記載の装置。
【請求項１１】
前記第1のCANパケットが、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信された前記第1のCANパケットである場合、前記第1のCANバスECUの前記過去のCANパケットは、前記CANバスベースのセキュリティ通信システムによって前記第1のCAN識別子に事前に割り当てられた初期デフォルトCANパケットである、または
前記第1のCANパケットが、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信された第1のCANパケット以外のCANパケットである場合、前記第1のCANバスECUの前記過去のCANパケットは、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信されたCANパケットの指定されたCANパケットである、
請求項8から10のいずれか一項に記載の装置。
【請求項１２】
第2のCANバス電子制御ユニットECUに適用された、コントローラエリアネットワークCANバスベースのセキュリティ通信装置であって、
暗号化認証が実行される第1のCANパケットとゲートウェイECUによって送信されたランダム数とを取得するように構成された受信ユニットと、
処理ユニットであって、暗号化認証が実行された、前記受信ユニットによって取得された前記第1のCANパケットを復号して、第1の復号情報認証コード、前記第1のCANパケットの復号データ、および第1のCAN識別子の第1の復号カウント値を取得し、前記第1のCAN識別子のキー、前記受信ユニットによって受信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて第2の情報認証コードを生成し、前記第1の復号情報認証コードと前記第2の情報認証コードとが一致するか否かを判定し、前記第1の復号情報認証コードと前記第2の情報認証コードとが一致し、前記第1のCAN識別子の前記第1の復号カウント値が有効である場合、暗号化認証が実行される前記第1のCANパケットは有効であると判定し、
前記第1のCAN識別子の前記キーは、CANバスベースのセキュリティ通信システムによって前記第1のCAN識別子に事前に割り当てられる、
ように構成された処理ユニットと、
を備える、コントローラエリアネットワークCANバスベースのセキュリティ通信装置。
【請求項１３】
前記処理ユニットは、
前記受信ユニットによって受信された前記ランダム数と前記第1のCAN識別子の前記キーとに基づいて第1の生成キーを取得するステップと、
前記第1の生成キー、前記受信ユニットによって受信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて前記第2の情報認証コードを生成するステップと、
を使用して、前記第1のCAN識別子の前記キー、前記受信ユニットによって受信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて前記第2の情報認証コードを生成する、請求項12に記載の装置。
【請求項１４】
コントローラエリアネットワークCANバスベースのセキュリティ通信方法であって、
CANバス電子制御ユニットECUによって、ゲートウェイECUによって送信されたランダム数を取得するステップと、
前記CANバスECUによって、第1のCAN識別子のキー、前記第1のCAN識別子のカウント値、第1のCANパケットのデータ、および前記ゲートウェイECUによって送信された前記ランダム数に基づいて第1の情報認証コードを生成するステップであって、前記第1のCAN識別子の前記キーは、CANバスベースのセキュリティ通信システムによって前記第1のCAN識別子に事前に割り当てられ、前記第1のCAN識別子の前記カウント値は、前記第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの数に従って判定され、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信された前記CANパケットの前記数によって異なり、前記第1のCANパケットは、前記第1のCANバスECUによって送信されるパケットであり、前記第1のCANバスECUは、前記第1のCAN識別子を使用することにより前記第1のCANパケットを送信する、ステップと、
第2のCANパケットと前記第1のCAN識別子の前記キーとに基づいて暗号化演算を実行して、前記CANバスECUによって、第1の暗号化演算結果を取得し、前記第1の暗号化演算結果、前記第1の情報認証コード、前記第1のCAN識別子の前記カウント値、および前記第1のCANパケットの前記データに対して等長暗号化演算を実行して、暗号化認証が実行される前記第1のCANパケットを取得し、暗号化認証が実行された前記第1のCANパケットを送信するステップと、
を含み、
前記第2のCANパケットは、前記暗号化認証が実行された前記第1のCANパケットが送信される前に既に存在するパケットである前記第1のCANバスECUの過去のCANパケットである、
コントローラエリアネットワークCANバスベースのセキュリティ通信方法。
【請求項１５】
CANバスECUによって、ゲートウェイECUによって送信されたランダム数を取得する、前記ステップの後、前記方法は、
前記CANバスECUによって、第2のCAN識別子、第3のCANパケット、および暗号化認証が実行される前記ランダム数を取得するステップであって、前記ゲートウェイECUは前記第2のCAN識別子を使用することにより前記少なくとも1つのCANバスECUにCANパケットを送信し、前記第3のCANパケットは前記ゲートウェイECUの過去のCANパケットである、ステップと、
前記CANバスECUによって、前記第2のCAN識別子のキーと前記第3のCANパケットに基づいて第2のランダム数送信キーを取得するステップであって、前記第2のCAN識別子の前記キーは前記CANバスベースのセキュリティ通信システムによって前記第2のCAN識別子に事前に割り当てられる、ステップと、
前記第2のランダム数送信キーおよび前記第3のCANパケットに対して暗号化演算を実行して、前記CANバスECUによって、第3の暗号化演算結果を取得するステップと、
前記第3の暗号化演算結果と暗号化認証が実行される前記ランダム数とに対して等長復号演算を実行して、前記CANバスECUによって、第1のランダム数復号情報認証コードを取得するステップと、
前記CANバスECUによって、前記ゲートウェイECUによって送信された前記ランダム数と前記第2のランダム数送信キーとに基づいて第2のランダム数情報認証コードを生成するステップと、
前記第1のランダム数復号情報認証コードと前記第2のランダム数情報認証コードとが一致していると前記CANバスECUが判定した場合、前記ゲートウェイECUによって送信された前記取得されたランダム数が有効であると判定するステップと、
をさらに含む、請求項14に記載の方法。
【請求項１６】
前記CANバスECUによって、第1のCAN識別子のキー、前記第1のCAN識別子のカウント値、第1のCANパケットのデータ、および前記ゲートウェイECUによって送信された前記ランダム数に基づいて第1の情報認証コードを生成する、前記ステップは、
前記CANバスECUによって、前記ゲートウェイECUによって送信された前記ランダム数と前記第1のCAN識別子の前記キーとに基づいて第1の生成キーを取得するステップと、
前記第1のCAN識別子の前記カウント値、前記第1のCANパケットの前記データ、前記第1の生成キー、および前記ゲートウェイECUによって送信された前記ランダム数に基づいて前記第1の情報認証コードを生成するステップと、
を含む、請求項14または15に記載の方法。
【請求項１７】
前記第1のCANパケットが、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信された前記第1のCANパケットである場合、前記第1のCANバスECUの前記過去のCANパケットは、前記CANバスベースのセキュリティ通信システムによって前記第1のCAN識別子に事前に割り当てられた初期デフォルトCANパケットである、または
前記第1のCANパケットが、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信された第1のCANパケット以外のCANパケットである場合、前記第1のCANバスECUの前記過去のCANパケットは、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信されたCANパケットの指定されたCANパケットである、
請求項14から16のいずれか一項に記載の方法。
【請求項１８】
コントローラエリアネットワークCANバスベースのセキュリティ通信方法であって、
CANバス電子制御ユニットECUによって、暗号化認証が実行された第1のCANパケットを取得し、暗号化認証が実行される前記第1のCANパケットを復号して、第1の復号情報認証コード、前記第1のCANパケットの復号データ、および第1のCAN識別子の第1の復号カウント値を取得するステップと、
前記CANバスECUによって、ゲートウェイECUによって送信されたランダム数を取得し、前記第1のCAN識別子のキー、前記ゲートウェイECUによって送信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて第2の情報認証コードを生成するステップと、
前記第1の復号情報認証コードと前記第2の情報認証コードとが一致し、前記第1のCAN識別子の前記第1の復号カウント値が有効であると前記CANバスECUが判定した場合、暗号化認証が実行される前記第1のCANパケットは有効であると判定するステップと、
を含む、コントローラエリアネットワークCANバスベースのセキュリティ通信方法。
【請求項１９】
前記CANバスECUによって、前記第1のCAN識別子のキー、前記ゲートウェイECUによって送信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて第2の情報認証コードを生成する、前記ステップは、
前記CANバスECUによって、前記ゲートウェイECUから送信された前記ランダム数と前記第1のCAN識別子の前記キーとに基づいて第1の生成キーを取得するステップと、
前記第1の生成キー、前記ゲートウェイECUによって送信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて前記第2の情報認証コードを生成するステップと、
を含む、請求項18に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００２】
本出願は、通信技術の分野に関し、詳細には、特に車両用のコントローラエリアネットワーク（Controller Area Network、CAN）バスベースのセキュリティ通信方法、装置、およびシステムに関する。
【背景技術】
【０００３】
CAN通信プロトコルは、物理層（Physical Layer、PHY）およびデータリンク層（Data Link Layer、DLL）のデータ伝送標準を定義し、ブロードキャストモードの伝送チャネルであり、広く適用され、例えば車内通信に広く適用されている。
【０００４】
CAN通信プロトコルに基づいて通信が実行されるCAN通信ネットワークアーキテクチャでは、1つの中央ゲートウェイ電子制御ユニット（Electronic Control Unit、ECU）がCANバスシステムを使用することにより複数のECUに接続される。CANバスシステムは、複数のCANバスを備えることができる。各CANバスにおける複数のECUは、別のCANバスおよび中央ゲートウェイECUを使用することにより互いに接続され、サービスおよび情報を個別に受信および送信する。例えば、図1に示される車内通信に適用されたCAN通信ネットワークアーキテクチャでは、1つの中央ゲートウェイECUが、車内機能サービスを担当する複数のCANバス（パワードライブシステムCANバス、コンフォートシステムCANバス、診断システムCANバス、およびインフォテインメントシステムCANバス）に接続される。車内機能サービスを担当する各CANバスにおける複数のECUは、別のCANバスおよび中央ゲートウェイECUを使用することにより互いに接続され、サービスおよび情報を個別に受信および送信する。例えば、パワードライブシステムは、エンジン速度をリアルタイムで検出し、エンジン速度値をパワードライブシステムCANバスに送信することができ、エンジン速度値は、パワードライブシステムCANバスを使用することによりダッシュボードECUに送信され得る。エンジン速度値を受信した後、ダッシュボードECUは、エンジン速度値をダッシュボードにリアルタイムで表示することができる。
【０００５】
現在、CAN通信プロトコルに基づいて通信が実行されるプロセスでは、悪意のある攻撃者がCANバスシステムに対する効果的な攻撃を実行するために、通信プロセスで送信されたCANパケット（frame）に対して盗聴攻撃、インジェクション攻撃、またはリプレイ攻撃を実行する場合がある。例えば、車内通信に適用されたCAN通信システムでは、エンジン速度値は、図2に示される元のCANパケットを使用することにより送信される。図2の0x123の識別子を持つ元のCANパケットでは、エンジン速度値を表すためにバイト0からバイト7の値が使用され得る。例えば、バイト0およびバイト1で表されるエンジン速度値は0x5DC＝1500 RPMである。攻撃者が盗聴により元のCANパケットを取得した場合、解析によりCANパケット形式を取得し、攻撃対象（エンジン速度値）に正しくない値を注入する。例えば、図2の埋め込まれた改ざんされたCANパケットでは、エンジン速度値は0x1F40＝8000 RPMに変更されている。埋め込まれた改ざんされたCANパケットを受信した後、ダッシュボードは、解析を通じてエンジン速度値が0x1F40＝8000 RPMであることを把握する。その結果、ダッシュボードにより受信され、表示されるエンジン速度値は正しくない値となる。
【０００６】
攻撃者によりCANパケットに対して実行される盗聴攻撃、インジェクション攻撃、またはリプレイ攻撃に耐えるために、現在、CANパケットを認証または暗号化するためのいくつかのメカニズムがある。例えば、あるメカニズムでは、CANパケットのデータ（CANパケット識別子、CAN識別子に対応するカウンタの値、およびCANパケット識別子に対応するCANパケットのデータ）に対して、キーを使用することにより暗号化演算が実行され、情報検証コードが生成され、次いで、追加のCANパケットを使用することにより情報検証コードが送信され得る。しかしながら、この方法では、送信されるCANパケットのデータは依然として暗号化されない。その結果、この方式では、盗聴に耐えることができず、リプレイ攻撃にしか耐えることができない。加えて、追加のCANパケットを使用することにより情報検証コードが送信されるため、送信オーバーヘッドが比較的大きい。別の例として、別のメカニズムでは、CANパケット識別子に対応するCANパケットのデータに従って巡回冗長検査（Cyclic Redundancy Check、CRC）値のグループが最初に計算され、次いでデータおよびCRC値が直列につながれ、キーを使用することにより暗号化される。しかしながら、CRC値はランダム性を持たないため、攻撃者が有効なCRC値を取得した場合にはリプレイ攻撃が依然として実行され得る。さらに別の例として、さらに別のメカニズムでは、非標準のCAN送受信機ハードウェアを使用することにより、情報認証コードが比較的高い送受信機物理周波数に埋め込まれ、標準のCANパケットにより同時に送信され、その結果、CANパケット情報認証メカニズムが実装され、情報認証コード技術が使用される。非標準のCAN送受信機ハードウェアが使用されるため、CAN送受信機ハードウェアは、修正される必要があり、既存のCANバスベースの通信システムに直接適用することはできない。
【０００７】
したがって、攻撃者により実行される盗聴攻撃、インジェクション攻撃、またはリプレイ攻撃に耐えられるように、CANバスに基づくセキュリティ通信を実行するための効果的な方法を提供することが必要不可欠である。
【発明の概要】
【０００８】
本出願の実施形態は、攻撃者により実行される盗聴攻撃、インジェクション攻撃、およびリプレイ攻撃に効果的に耐えるためのCANバスベースのセキュリティ通信方法、装置、およびシステムを提供する。
【課題を解決するための手段】
【０００９】
第1の態様によれば、CANバスベースのセキュリティ通信システムが提供され、CANバスベースのセキュリティ通信システムが、ゲートウェイECUとゲートウェイECUに接続された少なくとも1つのCANバスとを備え、各CANバスが少なくとも1つのCANバスECUに接続され、少なくとも1つのCANバスECUが第1のCANバスECUを備える。ゲートウェイECUは、ランダム数を生成し、少なくとも1つのCANバスを使用することにより、生成されたランダム数を少なくとも1つのCANバスECUに送信する、ように構成される。第1のCANバスECUは、ゲートウェイECUによって送信されたランダム数を取得し、第1のCAN識別子のキー、ゲートウェイECUによって送信されたランダム数、第1のCAN識別子のカウント値、および第1のCANパケットのデータに基づいて第1の情報認証コードを生成する、ように構成される。第1のCANバスECUは、第1の暗号化演算結果を取得するために、第2のCANパケットと第1のCAN識別子のキーとに基づいて暗号化演算を実行し、暗号化された認証が実行される第1のCANパケットを取得するために、第1の暗号化演算結果、第1の情報認証コード、第1のCAN識別子のカウント値、および第1のCANパケットのデータに対して等長暗号化演算を実行し、暗号化された認証が実行される第1のCANパケットを送信する、ようにさらに構成される。
【００１０】
第1のCAN識別子のキーは、CANバスベースのセキュリティ通信システムによって第1のCAN識別子に事前に割り当てられ、第1のCAN識別子のカウント値は、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの数に従って判定され、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの数によって異なり、第1のCANパケットは、第1のCANバスECUによって送信されるパケットであり、第1のCANバスECUは、第1のCAN識別子を使用することにより第1のCANパケットを送信する。
【００１１】
第2のCANパケットは、第1のCANバスECUの過去のCANパケットである。
【００１２】
具体的には、第1のCANパケットが、第1のCAN識別子を使用することにより第1のCANバスECUによって送信された第1のCANパケットである場合、第1のCANバスECUの過去のCANパケットは、CANバスベースのセキュリティ通信システムによって第1のCAN識別子に事前に割り当てられた初期デフォルトCANパケットであり得る。第1のCANパケットが第1のCAN識別子を使用することにより第1のCANバスECUによって送信された第1のCANパケット以外のCANパケットである場合、第1のCANバスECUの過去のCANパケットは、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの指定されたCANパケットであり得る。
【００１３】
可能な設計では、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの指定されたCANパケットは、第1のCANパケットに隣接し、かつストレージオーバーヘッドを減らすために第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットにある、以前のCANパケットである。
【００１４】
本出願の実施形態では、第1のCANバスECUがCANパケットに対して暗号化演算を実行するプロセスおよび情報認証コードを生成するプロセスにおいて、送信されるパケットのデータが使用されるだけではなく、ランダム数、カウント値、および送信されたCANパケットの指定されたCANパケットも使用される。したがって、同じデータ値が注入されていた場合でさえも、異なる情報認証コードおよび異なる暗号化演算構造が生成される。したがって、CANバスECUは、リプレイ攻撃に耐えるために、暗号化された認証が実行されるCANパケットを送信する。加えて、暗号化および認証の二重プロセスと組み合わせて、送信されたCANパケットのデータ領域のデータが、盗聴攻撃、インジェクション攻撃、およびリプレイ攻撃のすべてに耐えることができ、セキュリティは比較的高い。加えて、情報認証コードは、別のCANパケットを使用することにより運ばれるのではなく、CANパケットのデータ領域に直接埋め込まれていると見なされ得るため、送信オーバーヘッドが比較的小さくなる。加えて、CAN送受信機ハードウェアは、既存のCANバスシステムに適用され得る設計全体において修正されない。
【００１５】
第1のCANバスECUは、CANパケット送信のセキュリティをさらに改善するために、ランダム数と第1のCAN識別子のキーとに基づいて第1の生成キーを取得し、第1の生成キー、ランダム数、第1のCAN識別子のカウント値、および第1のCANパケットのデータに基づいて第1の情報認証コードを生成してもよい。
【００１６】
CANバスベースのセキュリティ通信システムは、第2のCANバスECUをさらに備える。第2のCANバスECUは、暗号化された認証が実行される第1のCANパケットを取得し、第1の復号情報認証コード、第1のCANパケットの復号データ、および第1のCAN識別子の第1の復号カウント値を取得するために、暗号化された認証が実行される第1のCANパケットを復号する、ように構成される。第2のCANバスECUは、ゲートウェイECUによって送信されたランダム数を取得し、第1のCAN識別子のキー、ゲートウェイECUによって送信されたランダム数、第1のCAN識別子の第1の復号カウント値、および第1のCANパケットの復号データに基づいて第2の情報認証コードを生成する。第1の復号情報認証コードと第2の情報認証コードとが一致し、第1のCAN識別子の第1の復号カウント値が有効である場合、暗号化された認証が実行される第1のCANパケットは有効である。
【００１７】
第1のCAN識別子の第1の復号カウント値が有効であることは、異なるセキュリティレベルに従って異なる範囲を設定するために、第1のCAN識別子の第1の復号カウント値がカウント値の所定の許容誤差範囲内に入ることを意味する。
【００１８】
第2のCANバスECUは、ゲートウェイECUによって送信されたランダム数と第1のCAN識別子のキーとに基づいて第1の生成キーを取得し、第1の生成キー、ゲートウェイECUによって送信されたランダム数、第1のCAN識別子の第1の復号カウント値、および第1のCANパケットの復号データに基づいて第2の情報認証コードを生成することができる。
【００１９】
可能な設計では、ゲートウェイECUは、ランダム数に対して暗号化された認証を実行し得る。例えば、ゲートウェイECUは、第3のCANパケットと第2のCAN識別子のキーとに基づいて第1のランダム数送信キーを取得してもよい。ゲートウェイECUは、第1のランダム数送信キーとゲートウェイECUによって送信されるランダム数とに基づいて第1のランダム数情報認証コードを生成し、第2の暗号化演算結果を取得するために、第1のランダム数送信キーおよび第3のCANパケットに対して暗号化演算を実行する。ゲートウェイECUは、暗号化された認証が実行されるランダム数を取得するために、第2の暗号化演算結果、第1のランダム数情報認証コード、および送信されるランダム数に対して等長暗号化演算を実行し、暗号化された認証が実行されるランダム数を少なくとも1つのCANバスECUに送信する。
【００２０】
第1のCANバスECUは、第2のCAN識別子、第3のCANパケット、および暗号化された認証が実行されるランダム数を取得し、第2のCAN識別子のキーと第3のCANパケットとに基づいて第2のランダム数送信キーを取得し、第3の暗号化演算結果を取得するために、第2のランダム数送信キーおよび第3のCANパケットに対して暗号化演算を実行する、ようにさらに構成される。第1のCANバスECUは、第1のランダム数復号情報認証コードを取得するために、第3の暗号化演算結果と暗号化された認証が実行されるランダム数とに対して等長復号演算を実行し、ゲートウェイECUによって送信されたランダム数と第2のランダム数送信キーとに基づいて第2のランダム数情報認証コードを生成し、第1のランダム数復号情報認証コードと第2のランダム数情報認証コードとが一致している場合、ゲートウェイECUによって送信されたランダム数が有効であると判定する。
【００２１】
ゲートウェイECUは、第2のCAN識別子を使用することによりCANパケットを少なくとも1つのCANバスECUに送信し、第2のCAN識別子のキーは、CANバスベースのセキュリティ通信システムによって第2のCAN識別子に事前に割り当てられる。
【００２２】
第3のCANパケットは、ゲートウェイECUの過去のCANパケットである。
【００２３】
具体的には、ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数である場合、ゲートウェイECUの過去のCANパケットは、CANバスベースのセキュリティ通信システムによってゲートウェイECUに事前に割り当てられた初期デフォルトCANパケットである。ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数以外のランダム数である場合、ゲートウェイECUの過去のCANパケットは、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットである。
【００２４】
可能な設計では、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットは、第2のCAN識別子を使用することによりゲートウェイECUによって現在送信されたCANパケットに隣接し、かつストレージオーバーヘッドを減らすために第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットにある、以前のCANパケットである。
【００２５】
本出願の実施形態では、ゲートウェイECUは、暗号化された認証が実行されるランダム数を送信し、第1のCANバスECUは、CANバスベースのセキュリティ通信システムのセキュリティをさらに改善するために、受信されたランダム数の有効性を検証する。
【００２６】
第2の態様によれば、CANバスベースのセキュリティ通信装置が提供される。CANバスベースのセキュリティ通信装置は、第1のCANバスECUに適用され得る。第1のCANバスECUに適用されたCANバスベースのセキュリティ通信装置は、第1の態様および第1の態様の任意の設計による第1のCANバスECUを実施するための機能を有し、その機能は、ハードウェアを使用することにより実施されてもよいし、対応するソフトウェアをハードウェアにより実行することにより実施されてもよい。ハードウェアまたはソフトウェアは、機能に対応する1つ以上のモジュールを含む。モジュールは、ソフトウェアおよび／またはハードウェアであり得る。
【００２７】
可能な設計では、第1のCANバスECUに適用されたCANバスベースのセキュリティ通信装置は、受信ユニットと、処理ユニットと、送信ユニットとを備え、受信ユニット、処理ユニット、および送信ユニットは、第1のCANバスECUによって実行される機能ステップに対応し得る。ここでは細部を説明しない。
【００２８】
別の可能な設計では、第1のCANバスECUに適用されたCANバスベースのセキュリティ通信装置は、プロセッサと、送受信機と、ストレージ空間とを備える。ストレージ空間（メモリとも呼ばれ得る）は、プロセッサと接続され、様々なソフトウェアプログラムおよび／または命令の複数のグループを格納するために使用される。プロセッサは、第1のCANバスECUによって実行される機能ステップを実行し、信号を受信および送信するように送受信機を制御するために、ストレージ空間内の格納されたプログラムまたは命令を呼び出す。
【００２９】
第3の態様によれば、CANバスベースのセキュリティ通信装置が提供される。CANバスベースのセキュリティ通信装置は、第2のCANバスECUに適用され得る。第2のCANバスECUに適用されたCANバスベースのセキュリティ通信装置は、第1の態様および第1の態様の任意の設計による第2のCANバスECUを実施するための機能を有し、その機能は、ハードウェアを使用することにより実施されてもよいし、対応するソフトウェアをハードウェアにより実行することにより実施されてもよい。ハードウェアまたはソフトウェアは、機能に対応する1つ以上のモジュールを含む。モジュールは、ソフトウェアおよび／またはハードウェアであり得る。
【００３０】
可能な設計では、第2のCANバスECUに適用されたCANバスベースのセキュリティ通信装置は、受信ユニットと処理ユニットとを備え、受信ユニットおよび処理ユニットは、第2のCANバスECUによって実行される機能ステップに対応し得る。ここでは細部を説明しない。
【００３１】
別の可能な設計では、第2のCANバスECUに適用されたCANバスベースのセキュリティ通信装置は、プロセッサと、送受信機と、ストレージ空間とを備える。ストレージ空間（メモリとも呼ばれ得る）は、プロセッサと接続され、様々なソフトウェアプログラムおよび／または命令の複数のグループを格納するために使用される。プロセッサは、第2のCANバスECUによって実行される機能ステップを実行し、信号を受信および送信するように送受信機を制御するために、ストレージ空間内の格納されたプログラムまたは命令を呼び出す。
【００３２】
第4の態様によれば、CANバスベースのセキュリティ通信装置が提供される。CANバスベースのセキュリティ通信装置は、ゲートウェイECUに適用され得る。ゲートウェイECUに適用されたCANバスベースのセキュリティ通信装置は、第1の態様および第1の態様の任意の設計によるゲートウェイECUを実施するための機能を有し、その機能は、ハードウェアを使用することにより実施されてもよいし、対応するソフトウェアをハードウェアにより実行することにより実施されてもよい。ハードウェアまたはソフトウェアは、機能に対応する1つ以上のモジュールを含む。モジュールは、ソフトウェアおよび／またはハードウェアであり得る。
【００３３】
可能な設計では、ゲートウェイECUに適用されたCANバスベースのセキュリティ通信装置は、処理ユニットと送信ユニットとを備え、処理ユニットおよび送信ユニットは、ゲートウェイECUによって実行される機能ステップに対応し得る。ここでは細部を説明しない。
【００３４】
別の可能な設計では、ゲートウェイECUに適用されたCANバスベースのセキュリティ通信装置は、プロセッサと、少なくとも1グループの送受信機と、ストレージ空間とを備える。ストレージ空間（メモリとも呼ばれ得る）は、プロセッサと接続され、様々なソフトウェアプログラムおよび／または命令の複数のグループを格納するために使用される。プロセッサは、ゲートウェイECUによって実行される機能ステップを実行し、信号を受信および送信するように少なくとも1グループの送受信機を制御するために、ストレージ空間内の格納されたプログラムまたは命令を呼び出す。
【００３５】
第5の態様によれば、CANバスベースのセキュリティ通信方法が提供される。本方法では、CANバスECUによって実行される方法ステップは、第1の態様および第1の態様の任意の設計による第1のCANバスECUによって実行される機能ステップに対応する。
【００３６】
第6の態様によれば、CANバスベースのセキュリティ通信方法が提供される。本方法では、CANバスECUによって実行される方法ステップは、第1の態様および第1の態様の任意の設計による第2のCANバスECUによって実行される機能ステップに対応する。
【００３７】
第7の態様によれば、CANバスベースのセキュリティ通信方法が提供される。本方法では、ゲートウェイECUによって実行される方法ステップは、第1の態様および第1の態様の任意の設計によるゲートウェイECUによって実行される機能ステップに対応する。
【００３８】
第8の態様によれば、コンピュータ記憶媒体が提供される。コンピュータ記憶媒体は、いくつかの命令を格納するように構成される。命令が実行されると、第1の態様および第1の態様の任意の可能な設計によるゲートウェイECU、第1のCANバスECU、および第2のCANバスECUの任意の機能が完了され得る。
【００３９】
第9の態様によれば、コンピュータプログラム製品が提供される。コンピュータプログラム製品は、コンピュータプログラムを格納するように構成される。コンピュータプログラムは、第1の態様および第1の態様の任意の可能な設計によるゲートウェイECU、第1のCANバスECU、および第2のCANバスECUの任意の機能を実行するように構成される。
【００４０】
本出願の実施形態で提供されるCANバスベースのセキュリティ通信方法、装置、およびシステムによれば、第1のCANバスECUがCANパケットに対して暗号化演算を実行するプロセスおよび情報認証コードを生成するプロセスにおいて、送信されるパケットのデータが使用されるだけではなく、ランダム数、カウント値、および送信されたCANパケットの指定されたCANパケットも使用される。したがって、同じデータ値が注入されていた場合でさえも、異なる情報認証コードおよび異なる暗号化演算構造が生成される。したがって、CANバスECUは、リプレイ攻撃に耐えるために、暗号化された認証が実行されるCANパケットを送信する。加えて、暗号化および認証の二重プロセスと組み合わせて、送信されたCANパケットのデータ領域のデータが、盗聴攻撃、インジェクション攻撃、およびリプレイ攻撃のすべてに耐えることができ、セキュリティは比較的高い。加えて、情報認証コードは、別のCANパケットを使用することにより運ばれるのではなく、CANパケットのデータ領域に直接埋め込まれていると見なされ得るため、送信オーバーヘッドが比較的小さくなる。加えて、CAN送受信機ハードウェアは、既存のCANバスシステムに適用され得る設計全体において修正されない。
【００４１】
さらに、本出願の実施形態では、第1のCANバスECUおよび第2のCANバスECUは、ゲートウェイECUによって送信されたランダム数を使用することにより第1のCAN識別子のキーに対してキー生成処理を実行し、その結果、毎回使用されるキーは高いランダム性を有し、CANパケット送信のセキュリティはより効果的に改善され得る。
【図面の簡単な説明】
【００４２】
【図１】車内通信に適用されたCAN通信ネットワークアーキテクチャを示す図である。
【図２】車内通信のためのCAN通信ネットワークにおいてCANパケットが盗聴され、注入される概略図である。
【図３】本出願の一実施形態によるCANバスベースのセキュリティ通信システムを示す図である。
【図４】本出願の一実施形態によるCANパケットの形式の概略図である。
【図５】本出願の一実施形態によるCANバスベースのセキュリティ通信システムにおけるCAN識別子およびカウント値の概略構成図である。
【図６】本出願の一実施形態によるCANバスベースのセキュリティ通信システムにおけるCAN識別子に対応するキーを構成する概略図である。
【図７】本出願の一実施形態によるCANバスベースのセキュリティ通信システムにおけるCAN識別子に対応するキーを構成する別の概略図である。
【図８】本出願の一実施形態によるCANバスベースのセキュリティ通信システムにおける事前構成されたパラメータの概略図である。
【図９】本出願によるCANバスベースのセキュリティ通信方法を実施する流れ図である。
【図１０】本出願の一実施形態による、暗号化された認証が実行されるランダム数のデータ領域を生成する概略図である。
【図１１】本出願の一実施形態による、暗号化された認証が実行されるランダム数の有効性を検証する実施プロセスの概略図である。
【図１２】本出願の一実施形態による、暗号化された認証が実行されるCANパケットのデータ領域を生成する概略図である。
【図１３】本出願の一実施形態による、暗号化された認証が実行されるCANパケットの有効性を検証する実施プロセスの概略図である。
【図１４】本出願の一実施形態によるCANバスベースのセキュリティ通信装置の概略構成図である。
【図１５】本出願の一実施形態による別のCANバスベースのセキュリティ通信装置の概略構成図である。
【図１６】本出願の一実施形態によるさらに別のCANバスベースのセキュリティ通信装置の概略構成図である。
【発明を実施するための形態】
【００４３】
以下、添付の図面を参照して本出願における実施形態の技術的解決策を説明する。
【００４４】
図3は、本出願の一実施形態によるCANバスベースのセキュリティ通信システムを示している。図3を参照すると、CANバスベースのセキュリティ通信システムは、ゲートウェイECUと、ゲートウェイECUに接続された少なくとも1つのCANバスとを備える。各CANバスは、少なくとも1つのCANバスECUに接続される。ゲートウェイECUとCANバスECUとの双方が、動作処理を実行するプロセッサと、コマンドを格納するために使用される内部ストレージ空間と、情報を送信および受信する送受信機とを有する。CANバスECUは、送受信機のグループを通常備え、1つのCANバスに接続される。ゲートウェイECUは、送受信機の複数のグループを備えることができ、複数のCANバスに接続される。CANバスは、CANバスベースのセキュリティ通信システムの送信チャネルとして理解されてもよく、ゲートウェイECUは、ゲートウェイECUに接続された複数のCANバスを使用することにより情報の並列な送信および受信を実行し得る。CANバスECUは、CANバスECUに接続されたCANバスを使用することにより情報を送信および受信する。各CANバスECUはゲートウェイECUと通信でき、CANバスECUは互いに通信できる。
【００４５】
図3に示されるCANバスベースのセキュリティ通信システムにおけるゲートウェイECUおよびCANバスECUの構造は、本出願の本実施形態の単なる一実装であることに留意されたい。実際の用途では、ゲートウェイECUおよびCANバスECUは多くのまたはより少ないコンポーネントをさらに備えてもよく、これは本明細書において限定されない。
【００４６】
送受信機は、エンティティCANバスを使用することにより別の送受信機に接続され、通信できる。エンティティCANバスは、CAN通信プロトコルを使用することにより通信を実行し、CAN通信プロトコルは、CAN2．0A、CAN2．0B、またはCAN−FD（CAN flexible data−rate）を含み得るが、これらに限定されない。送受信機はまた、イーサネット（登録商標）（Ethernet）、無線アクセスネットワーク（Radio Access Network、RAN）、または無線ローカルエリアネットワーク（Wireless Local Area Network、WLAN）などの異なる通信ネットワークを使用することにより、別の通信デバイスと通信することもできる。具体的な実装の際には、通信インターフェース304によってサポートされる通信プロトコルは、2G／3G、ロングタームエボリューション（Long Term Evolution、LTE）、ワイヤレスフィデリティ（Wireless−Fidelity、Wi−Fi（登録商標））、5G new radio（New Radio、NR）などを含み得るが、これらに限定されない。
【００４７】
ストレージ空間（メモリとも呼ばれ得る）は、プロセッサと接続され、様々なソフトウェアプログラムおよび／または命令の複数のグループを格納するために使用される。具体的な実装の際には、ストレージ空間は高速ランダムアクセスメモリを含むことができ、1つ以上のディスクストレージデバイス、フラッシュメモリデバイス、または別の不揮発性ソリッドステートストレージデバイスなどの不揮発性メモリを含むこともできる。ストレージ空間は、CANバスベースのセキュリティ通信オペレーティングシステムを格納できる。ストレージ空間は、本出願の本実施形態の実施プログラムを格納するために使用され得る。ストレージ空間は、ネットワーク通信プログラムをさらに格納してもよい。ネットワーク通信プログラムは、1つ以上の補助デバイス、1つ以上の端末デバイス、または1つ以上のネットワークデバイスと通信するために使用されてもよい。
【００４８】
プロセッサは、汎用中央処理ユニット（Central Processing Unit、CPU）、マイクロプロセッサ、特定用途向け集積回路（Application−Specific Integrated Circuit、ASIC）、または本出願の解決策のプログラム実行を制御するように構成された1つ以上の集積回路であり得る。
【００４９】
いくつかの実施形態では、ゲートウェイECUおよびCANバスECUは、出力デバイスおよび入力デバイスをさらに備えることができる。出力デバイスはプロセッサと通信し、複数の方式で情報を表示することができる。例えば、出力デバイスは、液晶ディスプレイ（Liquid Crystal Display、LCD）、発光ダイオード（Light Emitting Diode、LED）表示デバイス、陰極線管（Cathode Ray Tube、CRT）表示デバイス、プロジェクタ（projector）などであってもよい。入力デバイスは、プロセッサと通信し、ユーザの入力を複数の方式で受け取ることができる。例えば、入力デバイスは、マウス、キーボード、タッチスクリーンデバイス、またはセンシングデバイスであってもよい。ユーザによる出力デバイスおよび入力デバイスの使用を容易にするために、いくつかの実施形態では、メモリはユーザインターフェースプログラムをさらに格納してもよい。ユーザインターフェースプログラムは、グラフィカル操作インターフェースを使用することによりアプリケーションプログラムのコンテンツを鮮明に表示し、メニュー、ダイアログボックス、またはキーなどの入力コントロールを使用することにより、アプリケーションプログラム上でユーザの制御操作を受け取ることができる。
【００５０】
現在、CANバスECU間およびCANバスECUとゲートウェイECUとの間の通信プロセスにおいて送信されるCANパケット（frame）の形式は、CANバスベースの通信プロトコルで指定されている。図4は、CANパケットの形式の概略図である。図4を参照すると、CANパケットは、パケットヘッダ（start of frame、SOF）、CAN識別子（Identifier）、リモート送信要求（RTR）コード、制御領域（Control）、データ領域（data）、巡回冗長検査（CRC）、確認応答（ACK）、およびパケットエンド（end of frame、EOF）を含む。CAN識別子は、異なるCANパケットを識別するために使用でき、11文字および29文字の2つの形式を有する。データ領域は、CAN標準では最大8バイトである。CANバスベースの通信プロトコルを使用することにより実行される通信プロセスでは、送信機がCANパケットを送信し、受信機がCAN識別子に基づいて受信されるCANパケットを選択する。CAN識別子に対応するCANパケットは、少なくとも2つの受信機を有し得る。例えば、図3において、CANバスECU 1によって送信されたCANパケットは、CANバスECU 2およびCANバスECU 3によって受信され得る。
【００５１】
本出願の本実施形態では、CANバスECU間およびCANバスECUとゲートウェイECUとの間で送信されるCANパケットは、悪意のある攻撃者によってCANパケットに対して実行される盗聴攻撃、インジェクション攻撃、またはリプレイ攻撃に耐えるように暗号化および認証され得る。
【００５２】
本出願の本実施形態では、カウンタは、CANバスベースのセキュリティ通信システムにおける各ECU（各CANバスECUおよびゲートウェイECU）に対して事前構成され得る。カウンタのカウント値を使用することにより各CAN識別子のCANパケットについてカウント値が格納され得る。各CAN識別子のカウント値は、システムにおいてCAN識別子のCANパケットで転送されたパケットの数を表すこともできるし、CAN識別子のカウント値が現在送信されているCANパケットを識別し得ると理解されてもよい。通常、CAN識別子のカウント値は、CAN識別子を使用することによりCANバスECUによって送信されたCANパケットの数に従って判定され、CAN識別子を使用することによりCANバスECUによって送信されたCANパケットの数によって異なる。可能な実装形態では、CAN識別子のカウント値は、ローリングカウンタ（rolling counter）のカウント値を使用することにより実施され得る。CAN識別子を使用することによりCANバスECUによって送信されるCANパケットの数がNであり、ローリングカウンタのカウント値が長さnビットであると仮定すると、CAN識別子のカウント値はN／（2n）に対して実行されるモジュロ演算後に取得される値になり得る。
【００５３】
例えば、図5では、CANパケットを送信するECUとCANパケットを受信するECUとの両方が、各CAN識別子のカウント値を格納する。カウント値を格納するテーブルは2つの列を有する。第1の列はCAN識別子であり、第2の列はCAN識別子に対応するカウント値である。例えば、図5では、CANパケットを送信するECUにおいて、CAN識別子Idaのカウント値はCaであり、CAN識別子Idbのカウント値はCbであり、CAN識別子Idcのカウント値はCcである。CANパケットを受信するECUにおいて、CAN識別子Iddのカウント値はCdであり、CAN識別子Ideのカウント値はCeであり、CAN識別子Idfのカウント値はCfである。
【００５４】
さらに、本出願の本実施形態では、キーを使用することにより暗号化および認証を実行するために、CANバスベースのセキュリティ通信システムにおいて各CAN識別子に対して対応するキーが構成され得る。本出願の本実施形態では、階層アーキテクチャを使用することにより、異なるCAN識別子に対してキーが生成および構成され得る。例えば、図6に示されるように、CANバスベースのセキュリティ通信システム全体に対して、独立して生成されたルートキーが最初に構成され、ルートキーを使用することにより異なるCANバスに対してCANバスキーが生成され、次いで、CANバスキーを使用することにより異なるCAN識別子に対してCAN識別子のキーが生成され得る。具体的には、キーが構成されると、ルートキーがゲートウェイECUのために構成され、対応するCANバスキーが各CANバスECUに対して個別に構成され得る。例えば、CANバス1上のECUのキーはCANバス1キーであり、CANバス1は、CANバス1キーを使用することにより、実際に必要なCAN識別子に対応するキーを生成できる。本出願の本実施形態では、図7に示されように、CANバスベースのセキュリティ通信システム全体に対して、独立して生成されたルートキーがさらに事前構成され、次いで、ルートキーを使用することにより異なるCAN識別子に対して異なるキーが生成され得る。具体的には、キーが構成されると、各ECUに対してルートキーが構成され得、ECUは、ルートキーを使用することにより、実際に必要なCAN識別子に対応するキーを生成し得る。階層アーキテクチャを使用することによりキーが生成および構成されるキー構成方法によれば、キーを格納するための各ECUのスペース要件を低減することができる。当然のことながら、本出願の本実施形態では、キーおよびシステム初期値は、異なるCAN識別子に対して独立して生成および構成されてもよい。
【００５５】
本出願の本実施形態では、CANバスベースのセキュリティ通信システムにおけるCANバスECUは、CAN識別子のキー、識別子のカウント値、ランダム数、送信されるCANパケットのデータ領域のデータに基づいて情報認証コードを生成し、CAN識別子のキーとCAN識別子を使用することにより送信されたCANパケットの指定されたCANパケットとに基づいて暗号化演算を実行し、暗号化演算結果、情報認証コード、CAN識別子のカウント値、および送信されるCANパケットのデータ領域のデータに対して等長暗号化演算を実行することができ、その結果、暗号化された認証が実行されるCANパケットのデータ領域のデータ長は、CANバスベースの通信プロトコルで指定されたデータ領域長に準拠し、暗号化された認証が実行されるCANパケットのデータは、送信されるパケットのデータ領域に送信のために配置される。暗号化された認証が実行されるCANパケットの暗号化演算プロセスおよび情報認証コードを生成するプロセスでは、送信されるパケットのデータが使用されるだけではなく、ランダム数、カウント値、および送信されたCANパケットの指定されたCANパケットも使用される。したがって、同じデータ値が注入されていた場合でさえも、異なる情報認証コードおよび異なる暗号化演算構造が生成される。したがって、CANバスECUは、リプレイ攻撃に耐えるために、暗号化された認証が実行されるCANパケットを送信する。加えて、暗号化および認証の二重プロセスと組み合わせて、送信されたCANパケットのデータ領域のデータが、盗聴攻撃、インジェクション攻撃、およびリプレイ攻撃のすべてに耐えることができ、セキュリティは比較的高い。加えて、情報認証コードは、別のCANパケットを使用することにより運ばれるのではなく、CANパケットのデータ領域に直接埋め込まれていると見なされ得るため、送信オーバーヘッドが比較的小さくなる。加えて、CAN送受信機ハードウェアは、既存のCANバスシステムに適用され得る設計全体において修正されない。
【００５６】
可能な例では、送信されるCANパケットがCAN識別子の第1のパケットである場合、CANバスECUは、CAN識別子のキーと初期デフォルトCANパケットとに基づいて暗号化演算を実行し得る。初期デフォルトCANパケットは、CANバスベースのセキュリティ通信システムのパラメータの初期設定フェーズで事前構成され得る。
【００５７】
説明を簡単にするために、本出願の本実施形態では、CANバスECUによって送信されるCANパケットは第1のCANパケットと呼ばれ、CANバスECUによって第1のCANパケットを送信するために使用されるCAN識別子は第1のCAN識別子と呼ばれ得る。CANバスECUによって暗号化演算プロセスを実行するために使用されるCANパケットは、第2のCANパケットと呼ばれる。第2のCANパケットは、第1のCANバスECUの過去のCANパケットである。過去のCANパケットは、現在のCANパケットが送信される前に既に存在するパケットとして理解され得る。
【００５８】
具体的には、第1のCANパケットが、第1のCAN識別子を使用することにより第1のCANバスECUによって送信された第1のCANパケットである場合、第1のCANバスECUの過去のCANパケットは、CANバスベースのセキュリティ通信システムによって第1のCAN識別子に事前に割り当てられた初期デフォルトCANパケットであり得る。第1のCANパケットが第1のCAN識別子を使用することにより第1のCANバスECUによって送信された第1のCANパケット以外のCANパケットである場合、第1のCANバスECUの過去のCANパケットは、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの指定されたCANパケットであり得る。
【００５９】
CANバスベースのセキュリティ通信システムでは、暗号化された認証が実行されるCANパケットを受信するCANバスECUは、CANパケットの復号データ、CAN識別子の復号カウント値、および復号情報認証コードを取得するために、暗号化された認証が実行される受信されたCANパケットを復号し、CAN識別子のキー、ランダム数、CAN識別子の復号カウント値、およびCANパケットの復号データに基づいて情報認証コードを生成し得る。復号によって取得された情報認証コードと生成された情報認証コードとが一致し、CAN識別子の復号カウント値が有効であると判定された場合、CANパケットの復号データは有効である。
【００６０】
識別子の復号カウント値が有効であることは、CAN識別子の復号カウント値が所定のカウント値と同じであることを意味し得る。所定のカウント値は、暗号化された認証が実行されるCANパケットを取得するプロセスで使用されるCAN識別子のカウント値であり得る。
【００６１】
可能な例では、CAN識別子の復号カウント値が有効であることは、CAN識別子の復号カウント値がカウント値の所定の許容誤差範囲内に入ることを意味し得る。許容誤差範囲は、CANバスベースのセキュリティ通信システムのパラメータの初期設定フェーズで事前構成され得る。誤差範囲は、セキュリティレベルに応じて異なる範囲に設定され得る。セキュリティレベルに関して比較的高い要件を有する誤差範囲は、セキュリティレベルに関して比較的低い要件を有する誤差範囲よりも小さい。
【００６２】
説明を簡単にするために、本出願の本実施形態では、CANバスベースのセキュリティ通信システムにおいてCANパケットを送信するCANバスECUは、第1のCANバスECUと呼ばれ、CANバスベースのセキュリティ通信システムにおいてCANパケットを受信するCANバスECUは、第2のCANバスECUと呼ばれる。
【００６３】
可能な例では、第1のCANバスECUおよび第2のCANバスECUは、システムセキュリティをさらに改善し、リプレイ攻撃に耐えるために、ランダム数とCAN識別子のキーとに基づいて第1の生成キーを生成し、第1の生成キー、ランダム数、CAN識別子のカウント値、およびCANパケットのデータに基づいて情報認証コードを生成してもよい。
【００６４】
別の可能な例では、本出願の本実施形態では、暗号化された認証プロセスを実行するために第1のCANバスECUおよび第2のCANバスECUによって使用されるランダム数が、ゲートウェイECUによって生成され、送信され得る。ゲートウェイECUは、ランダム数をブロードキャスト方式などで送信してもよい。
【００６５】
ゲートウェイECUはまた、暗号化された認証が実行されるランダム数を取得するために、上述のCANパケットの暗号化された認証プロセスと同様の暗号化された認証プロセスを使用することによりランダム数に対する暗号化された認証を実行し得る。例えば、ゲートウェイECUは、CAN識別子のキーと送信されたCANパケットの指定されたCANパケットとに基づいてランダム数送信キーを取得する。ゲートウェイECUは、ランダム数送信キーと送信されるランダム数とに基づいてランダム数情報認証コードを生成し、暗号化演算結果を取得するために、ランダム数送信キーおよび送信されたCANパケットの指定されたCANパケットに対して暗号化演算を実行する。ゲートウェイECUは、暗号化された認証が実行されるランダム数を取得するために、暗号化演算結果、ランダム数情報認証コード、および送信されるランダム数に対して等長暗号化演算を実行する。ゲートウェイECUは、CANバスベースのセキュリティ通信システムのCANバスECUに暗号化された認証が実行されるランダム数を送信し得る。ゲートウェイECUは、暗号化された認証が実行されるランダム数をブロードキャスト方式などで送信してもよい。
【００６６】
ゲートウェイECUによって送信されたランダム数が第1のランダム数である場合、ゲートウェイECUは、初期デフォルトCANパケットとCAN識別子のキーとに基づいてランダム数送信キーを取得し得る。
【００６７】
説明を簡単にするために、本出願の本実施形態では、CANパケットを送信するためにゲートウェイECUによって使用されるCAN識別子は、第2のCAN識別子と呼ばれ得、CANバスベースのセキュリティ通信システムは、第2のCAN識別子のためのキーを事前構成し得る。ランダム数送信キーを生成するプロセスにおいてゲートウェイECUによって使用されるCANパケットは、第3のCANパケットと呼ばれる。第3のCANパケットは、ゲートウェイECUの過去のCANパケットであり得る。具体的には、ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数である場合、ゲートウェイECUの過去のCANパケットは、CANバスベースのセキュリティ通信システムによってゲートウェイECUに事前に割り当てられた初期デフォルトCANパケットである。ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数以外のランダム数である場合、ゲートウェイECUの過去のCANパケットは、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットである。
【００６８】
暗号化された認証が実行されるランダム数を受信するCANバスECUは、受信したランダム数の有効性を検証し得る。例えば、暗号化された認証が実行されるランダム数を受信するCANバスECUは、ゲートウェイECUの第2のCAN識別子のキーと第3のCANパケットとに基づいてランダム数送信キーを取得し得る。説明を簡単にするために、本出願の本実施形態では、第3のCANパケットと第2のCAN識別子のキーとに基づいてゲートウェイECUによって取得されたランダム数送信キーは、第1のランダム数送信キーと呼ばれ得、第2のCAN識別子のキーと第3のCANパケットとに基づいてCANバスECUによって取得されたランダム数送信キーは、第2のランダム数送信キーと呼ばれ得る。暗号化された認証が実行されるランダム数を受信するCANバスECUは、暗号化演算結果を取得するために、第2のランダム数送信キーおよび第3のCANパケットに対して暗号化演算を実行し、ランダム数が復号された後に取得された情報認証コードを取得するために、取得した暗号化演算結果と暗号化された認証が実行されるランダム数とに対して等長復号演算を実行する。説明を簡単にするために、CANバスECUが第2のランダム数送信キーおよび第3のCANパケットに対して暗号化演算を実行した後に取得された暗号化演算結果は、第3の暗号化演算結果と呼ばれる。CANバスECUが第3の暗号化演算結果と暗号化された認証が実行されるランダム数とに対して等長復号演算を実行したときに取得されたランダム数の復号後に取得された情報認証コードは第1のランダム数復号情報認証コードと呼ばれる。暗号化された認証が実行されるランダム数を受信するCANバスECUは、ゲートウェイECUによって送信されたランダム数と第2のランダム数送信キーとに基づいてランダム数情報認証コードを生成し得る。以下、ランダム数情報認証コードは、第2のランダム数情報認証コードと呼ばれる。暗号化された認証が実行されるランダム数を受信するCANバスECUは、ゲートウェイECUによって送信されたランダム数の有効性を検証するために、第1のランダム数復号情報認証コードと第2のランダム数情報認証コードとが一致しているか否かを判定する。第1のランダム数復号情報認証コードと第2のランダム数情報認証コードが一致している場合、ゲートウェイEC
Uによって送信されたランダム数は有効であり、セキュリティをさらに改善するために、CANパケットは送信されたランダム数を使用することにより認証および暗号化され得る。
【００６９】
本出願の本実施形態では、CANバスECU間およびCANバスECUとゲートウェイECUとの間で送信されるCANパケットは、悪意のある攻撃者によってCANパケットに対して実行される盗聴攻撃、インジェクション攻撃、またはリプレイ攻撃に耐えるように暗号化および認証され得る。
【００７０】
CANバスベースのセキュリティ通信システムがセキュリティ通信を実行するプロセスが、実際の用途に関連して以下に説明される。
【００７１】
本出願の本実施形態では、上述の実装形態におけるセキュリティ通信方法を実施するために、CANバスベースのセキュリティ通信システムはパラメータを事前構成する必要がある。例えば、CAN識別子に対応するキーおよびシステム初期デフォルト値が、各CAN識別子に対して事前構成される必要がある。システム初期デフォルト値は、文字列のグループとして理解されてもよく、例えば、上述の実施形態における初期デフォルトCANパケットとして理解されてもよい。本出願では、ゲートウェイECUのために第2のCAN識別子が事前構成される必要がある。第2のCAN識別子は、ゲートウェイECUが各CANバス上でCANパケットを送信するときに使用されるCAN識別子として理解されてもよい。対応するキーおよびシステム初期デフォルト値（初期デフォルトCANパケット）もまた、第2のCAN識別子について事前構成される必要がある。
【００７２】
本出願の本実施形態では、第2のCAN識別子のキーとゲートウェイECUの初期デフォルトCANパケットとは、ゲートウェイECUおよびゲートウェイECUと情報を交換するすべてのCANバスECUに対して構成される必要があり、その結果、CANバスECUがランダム数の有効性を検証できる。本出願の本実施形態では、CAN識別子のキーとCANバスECUの初期デフォルトCANパケットとは、CAN識別子のCANパケットを送信および受信するCANバスECUのために構成される必要があり、その結果、CANパケットを送信するCANバスECUは送信されたCANパケットに対して暗号化された認証を実行し、暗号化された認証が実行されるCANパケットを受信するCANバスECUはCANパケットの有効性を検証する。さらに、本出願の本実施形態では、CAN識別子のカウント値は、各ECUに対して構成される必要があり、復号カウント値の有効性を検証できるように、カウント値の誤差範囲がさらに構成され得る。
【００７３】
図8は、本出願の一実施形態によるCANバスベースのセキュリティ通信システムにおける事前構成されたパラメータの概略図である。例えば、図8では、CANバスベースのセキュリティ通信システムは、ゲートウェイECUと5つのCANバスECU、すなわち、ECU 1、ECU 2、ECU 3、ECU 4、およびECU 5を備える。第2のCAN識別子CIDB、キーKB、および初期デフォルトパケットIVBは、CANバスベースのセキュリティ通信システムのゲートウェイECUのために構成されると仮定されている。第2のCAN識別子CIDBに対応するキーKBおよび初期デフォルトパケットIVBは、ゲートウェイECUおよび5つのCANバスECUの両方で構成される必要がある。ECU 1、ECU 2、およびECU 3は、CAN識別子CIDAのCANパケットを受信および送信する。CAN識別子CIDAのために事前構成されたキーはKAであり、初期デフォルトパケットはIVAであると仮定されている。ECU 1、ECU 2、およびECU 3は、CAN識別子CIDAに対応するキーをKAとして構成し、初期デフォルトパケットをIVAとして構成する必要がある。さらに、ECU 1、ECU 2、およびECU 3もまた、CAN識別子CIDAに対応するカウント値TAを構成する必要がある。
【００７４】
本出願の本実施形態では、CANバスベースのセキュリティ通信システムが上述の事前構成を完了した後、上述のセキュリティ通信方法が実行され得る。
【００７５】
図9は、本出願によるCANバスベースのセキュリティ通信方法を実施する流れ図である。図9を参照すると、本方法は、以下のステップを含む。
【００７６】
S101．ゲートウェイECUは、ランダム数を生成して送信する。
【００７７】
本出願の本実施形態では、ゲートウェイECUは、特定の周波数に従ってランダム数Rを生成し、CANバスを使用することにより、CANバスベースのセキュリティ通信システムにおける各CANバスECUにランダム数を定期的に送信することができる。ゲートウェイECUは、CANバスベースのセキュリティ通信システムにおける各CANバスECUにランダム数を定期的にブロードキャスト方式で送信できる。
【００７８】
可能な実装では、ランダム数を生成した後、ゲートウェイECUは、暗号化された認証が実行されるランダム数をCANパケットの形式で送信し得る。本出願の本実施形態では、暗号化された認証が実行されるランダム数のデータ領域は、図10に示される方法手順を使用することにより生成され得る。図10では、ゲートウェイECUは、第2のCAN識別子CIDBに対応するキーKBと第3のCANパケットとに基づいて、キー生成アルゴリズムを使用することにより、第1のランダム数送信キーを生成する。ゲートウェイECUは、第1のランダム数送信キーと送信されたランダム数（新たに生成されたランダム数Ri＋1）とに基づいて、情報認証コードを生成するアルゴリズムと長さ調整アルゴリズムとを使用することにより、第1のランダム数情報認証コードσを生成する。ゲートウェイECUは、第2の暗号化演算結果を取得するために、第1のランダム数送信キーと第3のCANパケットとに基づいて、ブロック暗号化アルゴリズムなどの暗号化アルゴリズムを使用することにより、暗号化演算を実行する。ゲートウェイECUは、暗号化された認証が実行されるランダム数を取得するために、第2の暗号化演算結果、第1のランダム数情報認証コード、および送信されたランダム数に対して等長暗号化演算を実行する。例えば、暗号化された認証が実行されるランダム数のデータ領域である8バイト長の演算結果を取得するために、第2の暗号化演算結果、第1のランダム数情報認証コード、および送信されたランダム数に対して排他的OR演算が実行され、暗号化された認証が実行されるランダム数のデータ領域は、送信のためにCANパケットのデータ領域に配置される。
【００７９】
本出願の本実施形態では、送信されたランダム数（新しく生成されたランダム数Ri＋1）が第1のランダム数（R1）である場合、第3のCANパケットはゲートウェイECUの初期デフォルトCANパケットである。送信されたランダム数（新しく生成されたランダム数Ri＋1）が第1のランダム数以外のランダム数である場合、第3のCANパケットは、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットである。
【００８０】
本出願の本実施形態では、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットは、第2のCAN識別子を使用することにより現在送信されているCANパケットに隣接する以前のCANパケットであってもよいし、第2の以前のCANパケットであってもよいし、任意の送信されたCANパケットであってもよい。このことは、ゲートウェイECUによって使用される第3のCANパケットとCANバスECUとに整合性があれば、本出願の本実施形態では限定されない。
【００８１】
本出願の本実施形態では、ストレージオーバーヘッドを低減するために、可能な実装では、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットは、第2のCAN識別子を使用することにより現在送信されているCANパケットに隣接する以前のCANパケットに設定されてもよい。
【００８２】
S102．第1のCANバスECUは、ゲートウェイECUによって送信されたランダム数を取得し、取得したランダム数の有効性を検証する。
【００８３】
本出願の本実施形態では、ランダム数の有効性を検証するステップはオプションのステップである。ゲートウェイECUが、送信されたランダム数に対して暗号化された認証を実行し、暗号化された認証が実行されたランダム数をCANバスECUに送信する場合、ステップS102におけるランダム数の有効性を検証する実施プロセスが含まれてもよい。
【００８４】
本出願の本実施形態では、第1のCANバスECUは、CANパケットを送信するECUとして理解されてもよい。本出願の本実施形態では、ゲートウェイECUによって送信されたランダム数を取得するCANバスECUは、第1のCANバスECUだけに限定されるのではなく、第2のECUもゲートウェイECUによって送信されたランダム数を受信することが理解されよう。説明を簡単にするために、本出願の本実施形態では、第1のCANバスECUがランダム数の有効性を検証する実施プロセスが説明される。第2のCANバスECUがランダム数の有効性を検証する実施プロセスは、第1のCANバスECUがランダム数の有効性を検証する実施プロセスと同じであり、詳細はここでは繰り返し説明しない。
【００８５】
図11は、本出願の一実施形態による、第1のCANバスECUが暗号化された認証が実行されるランダム数の有効性を検証する実施プロセスの概略図である。図11を参照すると、第1のCANバスECUは、第2のCAN識別子CIDBのキーKBと第3のCANパケットとに基づいて第2のランダム数送信キーを取得する。第3のCANパケットは、CIDBを使用することにより送信されたCANパケットの指定されたCANパケットとして理解されてもよい。CIDBを使用することにより送信されたCANパケットが存在しない場合、第3のCANパケットは初期デフォルトパケットIVBである。第1のCANバスECUは、第3の暗号化演算結果を取得するために、第2のランダム数送信キーと第3のCANパケットとに基づいて、ブロック暗号化アルゴリズムなどを使用することにより、暗号化演算を実行する。第1のCANバスECUは、ゲートウェイECUによって送信されたランダム数と第2のランダム数送信キーとに基づいて第2のランダム数情報認証コードσ´を生成し、ゲートウェイECUによって送信されたランダム数（Ri＋1）と第1のランダム数情報認証コードσとを取得するために、第3の暗号化演算結果と暗号化された認証が実行されるランダム数とに対して等長復号演算（排他的OR演算など）を実行する。第1のCANバスECUは、第1のランダム数情報認証コードσと第2のランダム数情報認証コードσ´とが一致しているか否かを判定する。第1のランダム数情報認証コードσと第2のランダム数情報認証コードσ´とが一致している場合、ゲートウェイECUによって送信されたランダム数は有効である。
【００８６】
本出願の本実施形態では、ランダム数が有効であることを検証した後、第1のCANバスECUは、CANパケットに対して暗号化された認証を実行するプロセスにおける後続の使用のために有効なランダム数を記録し得る。
【００８７】
S103．第1のCANバスECUは、第1のCAN識別子のキー、ゲートウェイECUによって送信されたランダム数、第1のCAN識別子のカウント値、および第1のCANパケットのデータに基づいて第1の情報認証コードを生成する。
【００８８】
本出願の本実施形態では、第1のCANバスECUは、CANパケットを送信するECUとして理解されてもよく、第1のCANパケットは、第1のCANバスECUによって送信されるCANパケットとして理解されてもよく、第1のCAN識別子は、第1のCANパケットを送信するために第1のCANバスECUによって使用されるCAN識別子として理解されてもよい。
【００８９】
S104．第1のCANバスECUは、第1の暗号化演算結果を取得するために、第1のCAN識別子のキーと第2のCANパケットとに基づいて暗号化演算を実行し、暗号化された認証が実行される第1のCANパケットを取得するために、第1の暗号化演算結果、第1の情報認証コード、第1のCAN識別子のカウント値、および第1のCANパケットのデータに対して等長暗号化演算を実行する。
【００９０】
図12は、本出願の一実施形態による、第1のCANバスECUが暗号化された認証が実行される第1のCANパケットを生成する実施プロセスの概略図である。図12では、第1のCANバスECUは、ゲートウェイECUによって送信されたランダム数と第1のCAN識別子CIDAのキーKAとに基づいて、キー生成アルゴリズムを使用することにより第1の生成キーを生成する。第1のCANバスECUは、第1の生成キー、ゲートウェイECUによって送信されたランダム数、第1のCAN識別子のカウント値TA、および第1のCANパケットのデータ領域のデータに基づいて情報認証コードを生成し、長さ調整アルゴリズムを使用することにより第1の情報認証コードσを生成する。第1のCANバスECUは、第1の暗号化演算結果を取得するために、第1の生成キーおよび第2のCANパケットに基づいて、ブロック暗号化アルゴリズムなどを使用することにより暗号化演算を実行し、暗号化された認証が実行される第1のCANパケットのデータ領域である長さ8バイトを有する演算結果を取得するために、第1の暗号化演算結果、第1の情報認証コードσ、第1のCAN識別子のカウント値TA、および第1のCANパケットのデータ領域のデータに対して等長暗号化演算（排他的OR演算など）を実行し、暗号化された認証が実行される第1のCANパケットのデータ領域を送信のためにCANパケットのデータ領域に配置する。
【００９１】
本出願の本実施形態では、第1のCANパケットが第1のCAN識別子CIDAを使用することによりして送信された第1のCANパケットである場合、第2のCANパケットは第1のCANバスECUの初期デフォルトCANパケットIVAである。第1のCANパケットが第1のCAN識別子CIDAを使用することにより送信された第1のCANパケット以外のCANパケットである場合、第2のCANパケットは第1のCAN識別子CIDAを使用することにより送信されたCANパケットの指定されたCANパケットである。
【００９２】
本出願の本実施形態では、第1のCAN識別子CIDAを使用することによりによって送信されたCANパケットの指定されたCANパケットは、送信されたCANパケットの第1のCANパケットに隣接する以前のCANパケットであってもよいし、隣接する第2の以前のCANパケットであってもよいし、任意の送信されたCANパケットであってもよい。このことは、ゲートウェイECUによって使用される第2のCANパケットとCANバスECUとに整合性があれば、本出願の本実施形態では限定されない。
【００９３】
本出願の本実施形態では、ストレージのオーバーヘッドを減らすために、可能な実装では、第1のCAN識別子に対応する送信されたCANパケットの指定されたCANパケットは、送信されたCANパケットの第1のCANパケットに隣接する以前のCANパケットとして構成されてもよい。
【００９４】
S105．第1のCANバスECUは暗号化された認証が実行される第1のCANパケットを送信し、第2のCANバスECUは暗号化された認証が実行される第1のCANパケットを受信する。
【００９５】
S106．第2のCANバスECUは、暗号化された認証が実行される受信された第1のCANパケットの有効性を検証する。
【００９６】
図13は、本出願の一実施形態による、第2のCANバスECUが暗号化された認証が実行される第1のCANパケットの有効性を検証する実施プロセスの概略図である。図13では、第2のCANバスECUは、第1の復号情報認証コードσ、第1のCANパケットの復号データ、および第1のCAN識別子の第1の復号カウント値を取得するために、暗号化された認証が実行される第1のCANパケットを復号する。CANバスECUは、ゲートウェイECUによって送信されたランダム数（第1のゲートウェイECUによって使用されるランダム数）を取得し、第1のCAN識別子CIDAのキーKA、ランダム数、第1のCAN識別子の第1の復号カウント値、および第1のCANパケットの復号データに基づいて第2の情報認証コードσ´を生成し、第1の復号情報認証コードσと第2の情報認証コードσ´とが一致しているか否か、および第1のCAN識別子の第1の復号カウント値が有効か否かを判定する。CANバスECUが、第1の復号情報認証コードと第2の情報認証コードとが一致し、第1のCAN識別子の第1の復号カウント値が有効であると判定した場合、暗号化された認証が実行される第1のCANパケットは有効である。すなわち、暗号化された認証が実行される受信された第1のCANパケットは有効である。
【００９７】
本出願の本実施形態では、第1のCAN識別子の第1の復号カウント値が有効であることは、第1のCAN識別子の第1の復号カウント値がカウント値の所定の許容誤差範囲内に入ることを意味する。例えば、カウント値の事前構成された許容誤差範囲は、3つの値だけ上下に変動する。第1の復号カウント値が第1のCAN識別子のカウント値TAであるか、またはTA±3の範囲内にある場合、第1の復号カウント値が有効であると判定され得る。
【００９８】
本出願の本実施形態では、第2のCANバスECUが、暗号化された認証が実行される第1のCANパケットが有効であると判定した後、後続の処理が実行され得る。暗号化された認証が実行される第1のCANパケットが無効であると判定された場合、CANパケットは破棄されてもよい。
【００９９】
本出願の本実施形態で提供されるCANバスベースのセキュリティ通信方法によれば、第1のCANバスECUがCANパケットに対して暗号化演算を実行するプロセスおよび情報認証コードを生成するプロセスにおいて、送信されるパケットのデータが使用されるだけではなく、ランダム数、カウント値、および送信されたCANパケットの指定されたCANパケットも使用される。したがって、同じデータ値が注入されていた場合でさえも、異なる情報認証コードおよび異なる暗号化演算構造が生成される。したがって、CANバスECUは、リプレイ攻撃に耐えるために、暗号化された認証が実行されるCANパケットを送信する。加えて、暗号化および認証の二重プロセスと組み合わせて、送信されたCANパケットのデータ領域のデータが、盗聴攻撃、インジェクション攻撃、およびリプレイ攻撃のすべてに耐えることができ、セキュリティは比較的高い。加えて、情報認証コードは、別のCANパケットを使用することにより運ばれるのではなく、CANパケットのデータ領域に直接埋め込まれていると見なされ得るため、送信オーバーヘッドが比較的小さくなる。加えて、CAN送受信機ハードウェアは、既存のCANバスシステムに適用され得る設計全体において修正されない。
【０１００】
さらに、本出願の本実施形態では、第1のCANバスECUおよび第2のCANバスECUは、ゲートウェイECUによって送信されたランダム数を使用することにより第1のCAN識別子のキーに対してキー生成処理を実行し、その結果、毎回使用されるキーは高いランダム性を有し、CANパケット送信のセキュリティはより効果的に改善され得る。
【０１０１】
本出願の実施形態で提供される解決策は、ゲートウェイECU、第1のCANバスECU、および第2のCANバスECUの間の相互作用の観点から上で説明されている。上述の機能を実装するために、ゲートウェイECU、第1のCANバスECU、および第2のCANバスECUは、機能を実行するための対応するハードウェア構造および／またはソフトウェアモジュールを備えることを理解されたい。本出願で開示される実施形態で説明される各例のユニットおよびアルゴリズムステップに関連して、本出願の実施形態は、ハードウェアの形態またはハードウェアとコンピュータソフトウェアとの組み合わせで実装され得る。機能がハードウェアで実行されるかコンピュータソフトウェアによって駆動されるハードウェアで実行されるかは、技術的解決策の具体的な応用形態および設計制約によって決まる。当業者は、それぞれの具体的な応用形態に対して説明された機能を実施するために、異なる方法を使用することができるが、こうした実施が、本出願の実施形態の技術的解決策の範囲を超えるものであると見なされるべきではない。
【０１０２】
本出願の実施形態では、ゲートウェイECU、第1のCANバスECU、および第2のCANバスECUは、上述の方法例に従って機能ユニットに分割されてもよい。例えば、各機能ユニットは、対応する機能に応じた分割により取得されてもよいし、2つ以上の機能が1つの処理ユニットに統合されてもよい。統合ユニットはハードウェアの形態で実現することもでき、ソフトウェア機能ユニットの形態で実現することもできる。本出願の実施形態におけるユニット分割は一例であり、単に論理的な機能分割であり、実際の実装では別の分割方式であってもよいことに留意されたい。
【０１０３】
ソフトウェア機能ユニットの形態が実装に使用される場合、図14は、第1のCANバスECUに適用されたCANバスベースのセキュリティ通信装置100の概略構成図である。図14を参照すると、第1のCANバスECUに適用されたCANバスベースのセキュリティ通信装置100は、受信ユニット101と、処理ユニット102と、送信ユニット103と、を備える。受信ユニット101は、ゲートウェイECUによって送信されたランダム数を取得するように構成される。処理ユニット102は、第1のCAN識別子のキー、第1のCAN識別子のカウント値、第1のCANパケットのデータ、および受信ユニット101によって取得されたランダム数に基づいて第1の情報認証コードを生成し、第1のCAN識別子は第1のCANパケットのCAN識別子であり、第1の暗号化演算結果を取得するために、第1のCAN識別子のキーに基づいて第2のCANパケットに対して暗号化演算を実行し、暗号化された認証が実行される第1のCANパケットを取得するために、第1の暗号化演算結果、第1の情報認証コード、第1のCAN識別子のカウント値、および第1のCANパケットのデータに対して等長暗号化演算を実行する、ように構成される。送信ユニット103は、暗号化された認証が実行される、処理ユニット102によって生成された第1のCANパケットを送信するように構成される。
【０１０４】
第1のCAN識別子のキーは、CANバスベースのセキュリティ通信システムによって第1のCAN識別子に事前に割り当てられ、第1のCAN識別子のカウント値は、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの数に従って判定され、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの数によって異なる。第1のCANパケットは、第1のCANバスECUによって送信されるパケットである。第1のCANバスECUは、第1のCAN識別子を使用することにより第1のCANパケットを送信する。
【０１０５】
第2のCANパケットは、第1のCANバスECUの過去のCANパケットである。
【０１０６】
具体的には、第1のCANパケットが、第1のCAN識別子を使用することにより第1のCANバスECUによって送信された第1のCANパケットである場合、第1のCANバスECUの過去のCANパケットは、CANバスベースのセキュリティ通信システムによって第1のCAN識別子に事前に割り当てられた初期デフォルトCANパケットであり得る。第1のCANパケットが第1のCAN識別子を使用することにより第1のCANバスECUによって送信された第1のCANパケット以外のCANパケットである場合、第1のCANバスECUの過去のCANパケットは、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの指定されたCANパケットであり得る。
【０１０７】
可能な実装では、受信ユニット101は、第3のCANパケット、第2のCAN識別子、およびゲートウェイECUによって送信された、暗号化された認証が実行されるランダム数を取得するようにさらに構成される。処理ユニット102は、受信ユニット101によって受信された第2のCAN識別子のキーと第3のCANパケットとに基づいて第2のランダム数送信キーを取得し、第3の暗号化演算結果を取得するために、第2のランダム数送信キーおよび第3のCANパケットに対して暗号化演算を実行し、第1のランダム数復号情報認証コードを取得するために、第3の暗号化演算結果と暗号化された認証が実行される、受信ユニットによって取得されたランダム数とに対して等長復号演算を実行し、ゲートウェイECUによって送信されたランダム数と第2のランダム数送信キーとに基づいて第2のランダム数情報認証コードを生成し、第1のランダム数復号情報認証コードと第2のランダム数情報認証コードとが一致している場合、ゲートウェイECUによって送信され、受信ユニット101によって取得されたランダム数が有効であると判定する、ようにさらに構成される。
【０１０８】
ゲートウェイECUは、第2のCAN識別子を使用することによりCANパケットを少なくとも1つのCANバスECUに送信し、第2のCAN識別子のキーは、CANバスベースのセキュリティ通信システムによって第2のCAN識別子に事前に割り当てられる。第3のCANパケットは、ゲートウェイECUの過去のCANパケットである。
【０１０９】
具体的には、ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数である場合、ゲートウェイECUの過去のCANパケットは、CANバスベースのセキュリティ通信システムによってゲートウェイECUに事前に割り当てられた初期デフォルトCANパケットである。ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数以外のランダム数である場合、ゲートウェイECUの過去のCANパケットは、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットである。
【０１１０】
可能な例では、処理ユニット102は、ランダム数と第1のCAN識別子のキーとに基づいて第1の生成キーを取得し、第1のCAN識別子のカウント値、第1のCANパケットのデータ、第1の生成キー、およびランダム数に基づいて第1の情報認証コードを生成してもよい。
【０１１１】
別の可能な例では、第1のCAN識別子を使用することによりによって送信されたCANパケットの指定されたCANパケットは、送信されたCANパケットの第1のCANパケットに隣接する以前のCANパケットである。
【０１１２】
ハードウェアの形態が実装に使用される場合、処理ユニット102はプロセッサであってよく、受信ユニット101および送信ユニット103は送受信機であってもよい。処理ユニット102がプロセッサであり、受信ユニット101および送信ユニット103が送受信機である場合、第1のCANバスECUに適用されたCANバスベースのセキュリティ通信装置100は、図3に示されるCANバスベースのセキュリティ通信システムにおけるCANバスECUの構造を使用することができる。図3に示されるCANバスECUの構造を使用するCANバスベースのセキュリティ通信装置100は、第1のCANバスECUであってもよい。
【０１１３】
ソフトウェア機能ユニットの形態が実装に使用される場合、図15は、第2のCANバスECUに適用されたCANバスベースのセキュリティ通信装置200の概略構成図である。図15を参照すると、第2のCANバスECUに適用されたCANバスベースのセキュリティ通信装置200は、受信ユニット201と処理ユニット202とを備える。受信ユニット201は、暗号化された認証が実行される第1のCANパケットと、ゲートウェイECUによって送信されたランダム数とを取得するように構成される。処理ユニット202は、第1の復号情報認証コード、第1のCANパケットの復号データ、および第1のCAN識別子の第1の復号カウント値を取得するために、暗号化された認証が実行される、受信ユニット201によって取得された第1のCANパケットを復号し、第1のCANパケットの復号データ、第1のCAN識別子の第1の復号カウント値、第1のCAN識別子のキー、および受信ユニットによって受信されたランダム数に基づいて第2の情報認証コードを生成し、第1の復号情報認証コードと第2の情報認証コードとが一致しているか否かを判定し、第1の復号情報認証コードと第2の情報認証コードとが一致し、第1のCAN識別子の第1の復号カウント値が有効である場合、暗号化された認証が実行される第1のCANパケットは有効であると判定する、ように構成される。
【０１１４】
第1のCAN識別子の第1の復号カウント値が有効であることは、第1のCAN識別子の第1の復号カウント値がカウント値の所定の許容誤差範囲内に入ることを意味する。
【０１１５】
可能な例では、処理ユニット202は、第1のCAN識別子のキー、ランダム数、第1のCAN識別子の第1の復号カウント値、および第1のCANパケットの復号データに基づいて第2の情報認証コードを生成するために以下の方式、すなわち、ゲートウェイECUによって送信されたランダム数と第1のCAN識別子のキーとに基づいて第1の生成キーを取得するステップと、第1の生成キー、ゲートウェイECUによって送信されたランダム数、第1のCAN識別子の第1の復号カウント値、および第1のCANパケットの復号データに基づいて第2の情報認証コードを生成するステップと、を使用する。
【０１１６】
ハードウェアの形態が実装に使用される場合、処理ユニット202はプロセッサであってよく、受信ユニット201は送受信機であってもよい。処理ユニット202がプロセッサであり、受信ユニット201が送受信機である場合、第2のCANバスECUに適用されたCANバスベースのセキュリティ通信装置200は、図3に示されるCANバスベースのセキュリティ通信システムにおけるCANバスECUの構造を使用することができる。図3に示されるCANバスECUの構造を使用するCANバスベースのセキュリティ通信装置200は、第2のCANバスECUであってもよい。
【０１１７】
ソフトウェア機能ユニットの形態が実装に使用される場合、図16は、ゲートウェイECUに適用されたCANバスベースのセキュリティ通信装置300の概略構成図である。図16を参照すると、ゲートウェイECUに適用されたCANバスベースのセキュリティ通信装置300は、処理ユニット301と送信ユニット302とを備える。処理ユニット301は、ランダム数を生成するように構成される。送信ユニット302は、処理ユニット301によって生成されたランダム数を少なくとも1つのCANバスECUに送信するように構成される。
【０１１８】
処理ユニット301は、第2のCAN識別子のキーと第3のCANパケットとに基づいて第1のランダム数送信キーを取得し、第1のランダム数送信キーとゲートウェイECUによって送信されるランダム数とに基づいて第1のランダム数情報認証コードを生成し、第2の暗号化演算結果を取得するために、第1のランダム数送信キーおよび第3のCANパケットに対して暗号化演算を実行し、暗号化された認証が実行されるランダム数を取得するために、第2の暗号化演算結果、第1のランダム数情報認証コード、および送信されるランダム数に対して等長暗号化演算を実行し得る。送信ユニット302は、暗号化された認証が実行される、処理ユニット301によって生成されたランダム数を少なくとも1つのCANバスECUに送信する。
【０１１９】
ゲートウェイECUは、第2のCAN識別子を使用することによりCANパケットを少なくとも1つのCANバスECUに送信し、第2のCAN識別子のキーは、CANバスベースのセキュリティ通信システムによって第2のCAN識別子に事前に割り当てられる。第3のCANパケットは、ゲートウェイECUの過去のCANパケットである。
【０１２０】
具体的には、ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数である場合、ゲートウェイECUの過去のCANパケットは、CANバスベースのセキュリティ通信システムによってゲートウェイECUに事前に割り当てられた初期デフォルトCANパケットである。ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数以外のランダム数である場合、ゲートウェイECUの過去のCANパケットは、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットである。
【０１２１】
可能な実装では、第2のCAN識別子を使用することにより送信されたCANパケットの指定されたCANパケットは、送信されたCANパケットのものであり、かつ第2のCAN識別子を使用することにより現在送信されているCANパケットに隣接する以前のCANパケットである。
【０１２２】
ハードウェアの形態が実装に使用される場合、処理ユニット301はプロセッサであってよく、送信ユニット302は送受信機であってもよい。処理ユニット301がプロセッサであり、送信ユニット302が送受信機である場合、ゲートウェイECUに適用されたCANバスベースのセキュリティ通信装置300は、図3に示されるCANバスベースのセキュリティ通信システムにおけるゲートウェイECUの構造を使用することができる。図3に示されるCANバスベースのセキュリティ通信システムにおけるゲートウェイECUの構造を使用するCANバスベースのセキュリティ通信装置300は、ゲートウェイECUであり得る。
【０１２３】
当業者であれば、本出願の実施形態が、方法、システム、またはコンピュータプログラム製品として提供され得ることを理解するはずである。したがって、本出願の実施形態は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとの組み合わせによる実施形態の形態を使用できる。さらに、本出願の実施形態は、コンピュータ使用可能プログラムコードを含む1つ以上のコンピュータ使用可能記憶媒体（ディスクメモリ、CD−ROM、光学メモリなどを含むが、限定されない）上に実装されるコンピュータプログラム製品の形態を使用できる。
【０１２４】
本出願の実施形態による方法、デバイス（システム）、およびコンピュータプログラム製品の流れ図および／またはブロック図を参照して、本出願の実施形態を説明した。コンピュータプログラム命令が、流れ図および／またはブロック図における各プロセスおよび／または各ブロック、ならびに流れ図および／またはブロック図におけるプロセスおよび／またはブロックの組み合わせを実施するために使用され得ることを理解されたい。これらのコンピュータプログラム命令は、機械を生み出すために、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、または任意の他のプログラマブルデータ処理デバイスのプロセッサのために提供され、その結果、コンピュータまたは任意の他のプログラマブルデータ処理デバイスのプロセッサによって実行される命令が、流れ図における1つ以上のプロセスおよび／またはブロック図における1つ以上のブロックにおける特定の機能を実施するための装置を生み出すのであってもよい。
【０１２５】
これらのコンピュータプログラム命令は、コンピュータまたは任意の他のプログラマブルデータ処理デバイスに対して特定の方式で働くように命令できるコンピュータ可読メモリに格納され、その結果、コンピュータ可読メモリに格納された命令が、命令装置を含む人工物を生み出すのであってもよい。命令装置は、流れ図における1つ以上のプロセスにおける、および／またはブロック図における1つ以上のブロックにおける、特定の機能を実装する。
【０１２６】
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラマブルデータ処理デバイス上に読み込まれ、その結果、一連の動作およびステップがコンピュータまたは別のプログラマブルデータ処理デバイス上で実行され、それによって、コンピュータに実装された処理を生み出すのであってもよい。したがって、コンピュータまたは別のプログラマブルデータ処理デバイス上で実行される命令は、流れ図における1つ以上のプロセスにおける、および／またはブロック図における1つ以上のブロックにおける、特定の機能を実施するためのステップを提供する。
【０１２７】
当然のことながら、当業者であれば、本出願の範囲から逸脱することなしに、本出願の実施形態に対して様々な修正および変形をなし得る。本出願は、以下の特許請求の範囲およびそれらの均等技術によって定義される保護範囲内に含まれる場合に限り、これらの修正および変形を包含するように意図されている。
【符号の説明】
【０１２８】
100  CANバスベースのセキュリティ通信装置
101  受信ユニット
102  処理ユニット
103  送信ユニット
200  CANバスベースのセキュリティ通信装置
201  受信ユニット
202  処理ユニット
300  CANバスベースのセキュリティ通信装置
301  処理ユニット
302  送信ユニット
304  通信インターフェース
【図１】
0006915095.tif 000002
【図２】
0006915095.tif 000003
【図３】
0006915095.tif 000004
【図４】
0006915095.tif 000005
【図５】
0006915095.tif 000006
【図６】
0006915095.tif 000007
【図７】
0006915095.tif 000008
【図８】
0006915095.tif 000009
【図９】
0006915095.tif 000010
【図１０】
0006915095.tif 000011
【図１１】
0006915095.tif 000012
【図１２】
0006915095.tif 000013
【図１３】
0006915095.tif 000014
【図１４】
0006915095.tif 000015
【図１５】
0006915095.tif 000016
【図１６】
0006915095.tif 000017