(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-08-09
(54)【発明の名称】セキュアなメッセージを再生する方法および再生ユニット
(51)【国際特許分類】
H04L 9/36 20060101AFI20230802BHJP
G06F 21/60 20130101ALI20230802BHJP
G06F 21/64 20130101ALI20230802BHJP
【FI】
H04L9/36
G06F21/60 360
G06F21/64
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023502944
(86)(22)【出願日】2021-07-15
(85)【翻訳文提出日】2023-01-16
(86)【国際出願番号】 EP2021069696
(87)【国際公開番号】W WO2022013335
(87)【国際公開日】2022-01-20
(31)【優先権主張番号】102020118960.5
(32)【優先日】2020-07-17
(33)【優先権主張国・地域又は機関】DE
(81)【指定国・地域】
(71)【出願人】
【識別番号】506012213
【氏名又は名称】ディスペース ゲー・エム・ベー・ハー
【氏名又は名称原語表記】dSPACE GmbH
【住所又は居所原語表記】Rathenaustr.26,D-33102 Paderborn, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ビョルン ミュラー
(57)【要約】
セキュアなメッセージを、メッセージシステムを介してテスト対象の受信装置に送信する方法および再生ユニットであって、再生ユニットは、メッセージシステムを介してテスト対象の装置と接続されており、再生ユニットは、再生すべきセキュアな第1のメッセージを取得し、セキュアな第1のメッセージから、第1のカウンタ値と第1のオーセンティケータとを除去し、第2のカウンタ値、暗号化アルゴリズムおよび鍵を用いて、第2のオーセンティケータを生成するように構成されており、再生ユニットは、第2のカウンタ値と第2のオーセンティケータとを第1のメッセージに追加することにより、セキュアな第2のメッセージを生成するように構成されており、再生ユニットはさらに、セキュアな第2のメッセージを、メッセージシステムを介してテスト対象の受信装置に送信するように構成されている。
【特許請求の範囲】
【請求項1】
記録されたセキュアなメッセージを、メッセージシステムを介してテスト対象の受信装置に送信する方法であって、前記メッセージは、シリアル化されたメッセージパケットを用いて送信され、前記方法は、以下のステップを有する、すなわち、
・再生ユニット(R)において処理するために、メッセージパケット(NP)から、シリアル化されたままのセキュアな第1のメッセージを供給するステップであって、前記第1のメッセージは、前記メッセージパケット(NP)のペイロードによって形成されており、前記第1のメッセージ自体は、ユーザデータ(PDU)と第1のカウンタ値(Z1)と第1のオーセンティケータ(MAC1)とを有し、前記再生ユニット(R)は、以下の情報すなわち、
・テスト対象の受信装置に対する通信記述(Com行列)の少なくとも一部および/またはデータ解釈アルゴリズム(A)と、
・テスト対象の受信装置に対する第2のカウンタ値(Z2)と、
・暗号化情報および対応する鍵(K)と、
を利用することができるステップと、
・前記再生ユニット(R)を用いて、
・前記第1のメッセージ内において、前記ユーザデータ(PDU)のポジションまたは前記第1のオーセンティケータ(MAC1)のポジションを識別し、少なくとも前記第1のオーセンティケータ(MAC1)を、場合によっては前記第1のカウンタ値(Z1)を、シリアル化されたセキュアな前記第1のメッセージから除去することによって、シリアル化された前記メッセージ(シリアルデータ)のデータ量を低減し、
・低減された前記第1のメッセージを非シリアル化し、それぞれ前記第2のカウンタ値(Z2)を追加することによって、もしくは場合によっては前記第1のカウンタ値(Z1)を前記第2のカウンタ値(Z2)と置き換えることによって、セキュアな第2のメッセージを作成し、前記第2のカウンタ値(Z2)、前記暗号化情報ならびに前記鍵(K)を用いて、かつ前記通信記述(Com行列)を用いて、または前記データ解釈アルゴリズム(A)の適用により得られた情報によって、それぞれ1つの第2のオーセンティケータ(MAC2)を作成して追加するステップと、
・セキュアな前記第2のメッセージをシリアル化し、対応するメッセージパケット(NP)をテスト対象の前記受信装置に送信するステップと、
を有する方法。
【請求項2】
前記ユーザデータの識別を、前記通信記述から作成されたルックアップテーブル(LT)を用いて行い、前記ルックアップテーブル(LT)は、メッセージIDと、前記ユーザデータ(PDU)のポジションと、前記ユーザデータ(PDU)の長さと、を含む、
請求項1記載の方法。
【請求項3】
前記第1のオーセンティケータの識別を、前記メッセージのシリアル化されたデータ(シリアルデータ)を、前記データ解釈アルゴリズム(A)を用いてサーチすることによって行い、前記データ解釈アルゴリズム(A)は、最大エントロピーを有する連続した値を求めるようにして、暗号化された情報の識別に基づくものである、
請求項1記載の方法。
【請求項4】
前記アルゴリズムは、ハードウェアとして実装されている、
請求項3記載の方法。
【請求項5】
1つのメッセージは、複数のメッセージパケット(NP)にわたって分散されて送信される、
請求項1から4までのいずれか1項記載の方法。
【請求項6】
前記受信装置は、実際の制御装置であるかまたは仮想の制御装置であり、前記メッセージシステムは、実際のバス通信システムまたはシミュレートされたバス通信システム、あるいは実際のネットワークまたはシミュレートされたネットワーク、あるいはバスシステムとネットワークとの組み合わせによって形成されており、特に自動車のメッセージシステムによって形成されている、
請求項1から5までのいずれか1項記載の方法。
【請求項7】
前記第2のカウンタ値(Z2)は、それぞれテスト対象の前記受信装置に対する目下のカウンタ値によって定められており、あるいは、
前記第2のカウンタ値(Z2)は、ユーザによって予め定められたカウンタ値または自動的に計算されたカウンタ値によって定められている、
請求項1から6までのいずれか1項記載の方法。
【請求項8】
セキュアな前記第1のメッセージの前記ユーザデータ(PDU)も、前記第1のカウンタ値(Z1)を用いて暗号化されており、前記ユーザデータ(PDU)は、前記再生ユニット(R)において解読され、前記暗号化および前記第2のカウンタ値(Z2)によって再び暗号化される、
請求項1または2記載の方法。
【請求項9】
前記暗号化情報は、セキュアな前記第2のメッセージが前記受信装置によってエラーがあると識別されることになるように、セキュアな前記第2のメッセージをテスト目的で作成するための情報も含む、
請求項1から8までのいずれか1項記載の方法。
【請求項10】
セキュアなメッセージを、メッセージシステムを介してテスト対象の受信装置に送信する再生ユニット(R)であって、前記再生ユニット(R)は、前記メッセージシステムを介してテスト対象の前記受信装置と接続されており、
前記再生ユニット(R)は、
シリアル化されたままの再生すべきセキュアな第1のメッセージを、記録されたメッセージパケット(NP)のペイロードから取得し、
シリアル化されたままのセキュアな前記第1のメッセージ内におけるユーザデータ(PDU)のポジションまたは第1のオーセンティケータ(MAC1)のポジションを識別し、
前記オーセンティケータ(MAC1)を、場合によっては対応する第1のカウンタ値(Z1)も、シリアル化されている前記メッセージから除去し、
第2のカウンタ値(Z2)、暗号化アルゴリズムおよび鍵(K)を用いて、第2のオーセンティケータ(MAC2)を生成する、
ように構成されており、
前記再生ユニット(R)は、前記第2のオーセンティケータ(MAC2)を前記第1のメッセージに追加することにより、さらに前記第2のカウンタ値(Z2)を追加することにより、もしくは前記第1のカウンタ値(Z1)を前記第2のカウンタ値(Z2)と置き換えることにより、セキュアな第2のメッセージを生成するように構成されており、
前記再生ユニット(R)、セキュアな前記第2のメッセージを、対応するメッセージパケット(NP)において、前記メッセージシステムを介してテスト対象の前記受信装置に送信するようにさらに構成されている、
再生ユニット(R)。
【請求項11】
前記再生ユニット(R)は、ハードウェア・イン・ザ・ループ(HIL)シミュレータおよび/または仮想保護シミュレータのための(付加的な)ユニットとして構成されている、
請求項10記載の再生ユニット(R)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録されたセキュアなメッセージを、メッセージシステムを介してテスト対象の受信装置、特にテスト対象の制御装置、に送信する方法および再生ユニットに関する。
【背景技術】
【0002】
例えば自動車分野など、制御装置テスト用のバスシミュレーションの分野では、1つまたは複数の制御装置のバス通信をできるかぎり現実に即してシミュレートする、ということに重点がおかれている。制御装置(ECU)保護の分野では、バス通信の操作も重要である。この場合、テスト環境における「ライブ」シミュレーションによって(例えばオフラインシミュレーションもしくはハードウェア・イン・ザ・ループ(HIL)シミュレーションのためのdSPACE GmbHの製品であるMicroAutobox、VEOSまたはSCALEXIOを用いて)、あるいは記録されたバス通信の再生(リプレイ)によって、バス通信をシミュレートすることができる。最も簡単なケースでは、車両において使用される通信のために、伝送される信号がバスメッセージ内またはネットワークメッセージ内の唯一のユーザデータとして送信される、というように構成されている。ただし、新しい標準(AUTOSAR≧4.2.1およびFIBEX≧4.1.2)によれば、ユーザデータが付加的に認証または保護されるように、これが拡張されている(例えばSecure Onboard Communication,Cryptographic PDU,Transport Layer Security,IPsec(Internet Protocol Security)を参照)。
【0003】
制御装置内またはバスシミュレーションの枠組みで生成されたデータは、テスト目的のために何回も後で再生するために記録される。1つまたは複数の受信制御装置において正しいバス通信をシミュレートする目的で、従来は記録されたバス通信を変更せずに再び、再生することが可能であった。
【0004】
バス通信のログを、例えばdSPACE GmbHのツール(Bus NavigatorまたはAutera)によって行うことができる。この種のツールも多くの場合、記録されて記憶されたバス通信を再現することができる。
【0005】
上述の標準の新たな暗号化アルゴリズムおよび認証アルゴリズムが目指しているのは、いわゆるリプレイ攻撃を阻止することである。このため、単純な再生(リプレイ)による制御装置の刺激(シミュレーション)のために、この種のアルゴリズムによりセキュアなバス通信をそのままでは用いることができない。
【0006】
通常、車両において記録されるかまたはシミュレータによってテスト目的でシミュレートされるセキュアなメッセージは、ヘッダ、ユーザデータ、単調に増加するカウンタ値および認証コード(暗号化済み)から成る情報を含む。
【0007】
再生する際の問題は、たしかにユーザデータは正しいかもしれないが、記録されたデータのカウンタ値はかなりの確率でテスト対象の制御装置のカウンタ値に整合していない、ということである(カウンタは単調に増加していくので、これを変更することもできない)。たとえこのカウンタをリセットすることができたとしても、認証のために作成されたオーセンティケータ値は(オーセンティケータも)、もはやカウンタ値に整合しない。なぜならば、暗号化されたオーセンティケータ値は、ユーザデータに基づき求められた値とカウンタ値とから構築されるからである。
【0008】
この問題は、これまで早期の開発フェーズで発生したケースでは通常、受信制御装置における認証がディアクティベートされた。ただしこのケースでは、認証をもはやテストすることはできない。
【0009】
庁書類番号PCT/EP2020/053254のPCT出願には、この問題の解決手段が記載されており、これによればオーセンティケータおよびカウンタ値がセキュアなメッセージから除去され、新たに決定された値と置き換えられる。とはいえこの場合には、メッセージがバス上もしくはネットワーク内においてシリアル化された形態で送信される、という難しさが生じる。シリアル化された形態では、メッセージはデータだけから成り、それがどのようなデータであるのか、およびメッセージ内のどのデータがどの箇所にあるのかに関する情報を伴っていないので、非シリアル化をしないことには、どのデータを置き換えるべきであるのかがわからない。置き換えるべきデータをそもそも識別できるようにするために、フルメッセージをシリアル化された形態から非シリアル化されて復号されたメッセージに変換するには、時間がかかるし計算能力が必要とされる。
【発明の概要】
【発明が解決しようとする課題】
【0010】
このような背景から本発明の課題は、従来技術をさらに発展させる方法および再生ユニットを提供することにある。
【課題を解決するための手段】
【0011】
この課題は、冒頭で述べた方法および上述の再生ユニットによって解決され、その際にこの方法は以下のステップを有する。すなわち、
・再生ユニットにおいて処理するために、セキュアな第1のメッセージパケットから、シリアル化されたままのセキュアな第1のメッセージを供給するステップ。この場合、第1のメッセージは、メッセージパケットのペイロードによって定められており、この第1のメッセージ自体は、ユーザデータと第1のカウンタ値と第1のオーセンティケータとを有し、ここで再生ユニットには、以下の情報が格納されており、もしくは再生ユニットは、以下の情報を利用することができる(つまり情報は、再生ユニットに割り当てられたメモリに記憶されているか、または再生ユニットは、テスト環境内に記憶されている情報に対するアクセス権を有する)。すなわち、
・テスト対象の受信装置に対する通信記述の少なくとも一部および/またはデータ解釈アルゴリズム、
・テスト対象の受信装置に対する第2のカウンタ値、
・暗号化情報および対応する鍵。
・再生ユニットを用いて、
・第1のメッセージ内において、この第1のメッセージ内のユーザデータのポジションまたは第1のオーセンティケータのポジションを識別し、少なくとも第1のオーセンティケータを、場合によっては第1のカウンタ値を、第1のメッセージから除去することによって、シリアル化された第1のメッセージにより定められるデータ量を低減し、
・低減された第1のメッセージを非シリアル化および復号し、それぞれ第2のカウンタ値を追加することによって、もしくは場合によっては第1のカウンタ値を第2のカウンタ値と置き換えることによって、セキュアな第2のメッセージを作成し、第2のカウンタ値、暗号化情報ならびに鍵を用いて、かつ通信記述を用いて、またはデータ解釈アルゴリズムの適用により得られた情報によって、それぞれ1つの第2のオーセンティケータを作成して追加する
ステップ。
・セキュアな第2のメッセージをシリアル化し、対応するメッセージパケットをテスト対象の受信装置に送信するステップ。
【0012】
本発明による方法の核となる着想は、本発明による再生ユニットを用いて、記録されたセキュアなメッセージが、受信装置がこのメッセージを正しいメッセージとして受け入れるように、再生前に操作され、その際、シリアル化されたままの第1のメッセージのデータ低減が行われるので、再生すべき第1のメッセージを操作するために、それを完全に大掛かりに非シリアル化および復号しなくてもよい、ということである。大抵はメッセージがシリアル化され、次いで「メッセージパッケージ」においてメッセージシステムを介して送信される。一般に「シリアル化」とは、データを符号化し、ヘッダとペイロードとトレーラセグメントとを含みメッセージシステム上で送信すべきメッセージパケット内において、データを編成する、ということを意味し、もしくは「非シリアル化」とは、これとは逆のプロセスのことを意味する。
【0013】
本願においてシリアル化もしくは非シリアル化は、大抵の場合にはこのプロセスの一部にのみ関連し、つまりメッセージシステムを介して送信されるメッセージパケットのペイロード内に存在するメッセージのシリアル化または非シリアル化に関連する。この場合、本明細書で考察される「シリアル化」において、データを配列するための情報がメッセージから除去され、もしくは「非シリアル化」においてその情報が追加される。例えば、1つのメッセージ内の物理的な値に対するデータは、非シリアル化され解釈された形態であるとするならば、以下のようなものかもしれない。すなわち、
温度 24℃
速度 123km/h
高度 海抜320
オーセンティケータ 345678→正しい。
【0014】
非シリアル化されたデータの符号化された形態であるとすれば、それは例えば以下のとおりである。すなわち、
温度 10
速度 B24
高度 8AF
オーセンティケータ 835D。
シリアル化後であるならば、メッセージ(ユーザデータ)の内容は以下によって定められることになる。すなわち、
10B248AF835D。
【0015】
本発明による再生ツール(再生ユニット)は、メッセージの個々の構成要素をすでに非シリアル化前に識別して分離し、そのようにして非シリアル化および復号すべきデータの量を低減する。
【0016】
好ましくは、通信記述に含まれる情報およびユーザによって規定される再生のための暗号化情報に基づき、増加する新たなカウンタ値、およびユーザデータとカウンタ値と暗号化アルゴリズムとに対応する新たな適切な認証コード(オーセンティケータ)が生成される。暗号化情報は、本発明がどこで使用されるのか、もしくはどの保護メカニズム(例えばSecOCまたはIPSec...)が用いられているのかに依存する。暗号化情報には例えば、暗号化アルゴリズムと、場合によっては暗号化アルゴリズムに関するさらなる情報、例えばそのアルゴリズムが適用される際にベースとする情報(ビットまたはバイト)と、が含まれる。これらの情報を用いることで、新たな完全なメッセージが生成され、もしくは(カウンタ値/オーセンティケータが古くなったことから)元の第1のメッセージが再処理されて第2のメッセージが形成され、これが受信装置(つまりテスト対象の(制御)装置)によって受け入れられる。テスト対象の制御装置に対する(例えばいわゆるフレッシュネス値またはシーケンス番号の形態の)目下のカウンタ値は、通常はグローバルに存在しており、したがってテスト環境(つまりHILシミュレータまたはオフラインシミュレータまたはシミュレータに接続されているホストPC)には既知である。
【0017】
セキュアな第2のメッセージを作成するために、セキュアな第1のメッセージの操作をそもそも可能にする目的で、再生ユニットには、通信記述(の必要とされる部分)(例えばK行列とも呼ばれる通信行列(の少なくとも一部))、またはメッセージにおいて取得されたデータを解釈するためのアルゴリズムが格納され、これによってカウンタ値およびオーセンティケータをメッセージ内で識別することができる。
【0018】
第1の例示的な実施形態によれば、ユーザデータの識別が、通信記述から抽出されたルックアップテーブルを用いて行われ、このルックアップテーブルは少なくとも、メッセージIDとユーザデータのポジションとユーザデータの長さとを含む。場合によってはルックアップテーブルは、シリアル化されたままのセキュアな第1のメッセージ内におけるカウンタのポジションに関する情報も含む。送信機、受信機、初期値、データタイプ、トリガ、CompuMethodなど、K行列のさらなる情報は無視される。
【0019】
ルックアップテーブルは、好ましくは上述の本発明による方法ステップを実施する前に、通信記述から自動的に作成され、再生ユニット内に、またはアクセス権を有するテスト環境内に、再生ユニットによって格納される。特に好ましくは、ルックアップテーブルのエントリは、メッセージの発生頻度に従い分類され、したがって頻繁に発生するメッセージは、テーブル内において特に迅速にアクセス可能なポジションに記載されている。メッセージの頻度を例えば、通信行列内の情報から導出することができ、または方法の経過中、メッセージ到来時に実施された統計に基づき動的に適合させることができる。かかる統計は、特にサービスベースの通信にとって有用である。通信記述を用いてルックアップテーブルを作成するさらなる可能性によれば、最初に通信記述を用いてシミュレーションのための実行可能な通信コードを生成し、それぞれ第1のメッセージだけを、または多重化メッセージの場合は第1のメッセージタイプを、非シリアル化してメッセージID各々を形成し、これによって、非シリアル化されたこの第1のメッセージもしくは非シリアル化されたこの第1のメッセージタイプにおいて、MACのポジションを特定し、少なくともこの情報をこのような手法で作成すべきルックアップテーブルに格納する。
【0020】
第2の例示的な実施形態によれば、第1のオーセンティケータの識別は、メッセージパケットのシリアル化されたデータを、データ解釈アルゴリズムを用いてサーチすることによって行われる。この場合、データ解釈アルゴリズムは、暗号化された情報を識別するための適切なアルゴリズムによって形成されており、その際にこの識別は例えば、アルゴリズムが、最大のエントロピーを有する連続した値をサーチすることによって行われる。暗号化された情報の識別は、現在のあらゆる暗号化方法は、暗号化された情報のできるかぎり大きいエントロピー値(=できるかぎり大きい「無秩序」)を生じさせる、ということに基づいている。ここで阻止すべきは、統計テスト(nグラム)により解読が可能になってしまうことである。したがって暗号化された情報を識別するためには、シンボルウィンドウ(好ましくはオーセンティケータの長さに応じた予め定められたサイズのシンボルウィンドウ)を用いて、シリアル化されたままの第1のメッセージのユーザデータにおいてだけ、最大エントロピーを有する連続した値をサーチすればよい。オーセンティケータおよびユーザデータのポジションが静的に、つまりメッセージ各々について固定的に予め定められているかぎりは、オーセンティケータのサーチを、メッセージごとに連続的に実行する必要はなく、メッセージIDごとに1回だけ実行すればよい。好ましくはこの実施形態においても、ルックアップテーブルを作成することができ、このルックアップテーブルから、手間のかかるサーチまたは非シリアル化を先に行う必要なく、ユーザデータがどこに位置するのかを求めることができる。データ解釈アルゴリズムつまりオーセンティケータ識別アルゴリズムが、例えば、メッセージシステムを介して送信されたメッセージパケットを受信し、すでに部分的に分解するコントローラのすぐそばもしくはすぐ後で、メッセージシステムのハードウェアにおいて実装されていると、さらなる時間の節約がもたらされる。このコントローラを、市販のコントローラ(例えばInfineon Aurix)とすることができるが、または例えばFPGAにおいていわゆるソフトコアとして実装することができ、このようにした場合であれば、データ解釈アルゴリズムをFPGAの残された平面において実装することができる。ただし、コントローラによりメッセージパケットから抽出されたメッセージにデータ解釈アルゴリズムを適用する目的で、このアルゴリズムを付加的なFPGAまたはASICに組み込んでもよい。この場合にはコントローラも再生ユニットの構成部分であると必ずしも見なさなくてよいけれども、これはテスト環境の一部であり、かつこれを再生ユニットによって制御することができる。付加的にデータ解釈アルゴリズムを用いて動作させることの利点は、ハードウェアにアルゴリズムを実装することによって、付加的な時間の節約が可能になる、ということである。
【0021】
本発明のさらなる実施形態によれば、第2のカウンタ値は、テスト対象の制御装置の目下のカウンタ値によって定められている。択一的な実施形態によれば、第2のカウンタ値をユーザによって予め定めることができ、または予めカウンタ計算アルゴリズムに従って計算される。
【0022】
再生ユニットは好ましくは、これらの値の生成およびそれに続く合成に必要とされるすべての構成要素および/またはモジュールを含む。特にこれには、ログファイルのインポート、K-行列のインポート、非シリアル化/シリアル化、カウンタ値生成、および暗号化アルゴリズムが含まれる。ただし択一的に、これらの構成要素および/またはモジュールは、再生ユニット内ではなく、例えばテスト環境内の別の場所に実装して、必要とされる情報を再生ユニットだけに供給することも可能である。上述の構成要素およびモジュールは、種々のバスシミュレーションソフトウェア、例えばRTI CAN MM、FlexRay Configuration Package、Ethernet Configuration Package、またはバスマネージャ)、もしくはバス試験ソフトウェア(Bus Navigator)、の一部として個々に知られている。従来技術との相違点は、典型的な適用事例ではユーザデータがオフラインモデルまたはリアルタイムモデルによって生成されるのに対し、本発明による方法の場合にはユーザデータはログファイルから抽出され、本発明による識別を使用して分解され、新たな内容と組み合わされて再び構築される、ということにある。
【0023】
本発明の1つの実施形態によれば、1つのメッセージのユーザデータと第1のカウンタ値と第1のオーセンティケータとが、少なくとも2つのメッセージパケットを介して分散されて送信される(例えば、第1のメッセージパケットのペイロードはオーセンティケータを含み、第2のメッセージパケットのペイロードは1つのメッセージのカウンタ値とユーザデータとを含む)。本発明の別の実施形態によれば、1つのメッセージパケットは(メッセージパケットのペイロードとして)、ユーザデータとカウンタ値とオーセンティケータとを有するメッセージ全体を含む。ユーザデータとカウンタ値とオーセンティケータとを含むメッセージが、単一のメッセージパケットにおいて送信されるか、または2つまたはそれ以上のメッセージパケットを介して分配されて送信されるかは、使用されるセキュリティメカニズムによって決定される。SecOCの場合には例えば前者が、IPsecの場合には後者が当てはまる。ここで重要であるのは、特定の第1のオーセンティケータによってセキュアなメッセージに、再生目的で、目下の第2のオーセンティケータと、対応する第2のカウンタ値と、が設けられることだけであり、これらによって、使われなくなった第1のオーセンティケータと、使われなくなった第1のカウンタ値と、が置き換えられる。
【0024】
受信装置は、例えばHILテストにおいては、実際の制御装置によって形成されており、またはバス通信を仮想保護の枠組みでテストすべき場合に、仮想制御装置によって形成されている。仮想保護とは本明細書では、具体的なハードウェアを用いず相応のオフラインシミュレータを用い、制御装置ネットワーク(および例えば車両および交通状況の形態での制御装置ネットワークの環境)のシミュレーションによって、制御装置をテストする、ということを意味しており、オフラインシミュレータは例えば、制御装置複合体の時間特性および通信もシミュレートする。仮想制御装置は、いわばソフトウェアで実装された制御装置前段であり、通常はすでに最終的な管理コードを含む。ただし、将来のオペレーティングシステムが通常はすでにシミュレートされ、機能に関して定義された時間情報およびトリガ情報に基づき現実的なプラニング挙動がシミュレートされているとはいえ、制御装置の実際のハードウェアはまだ必要とされないため、仮想制御装置を例えばシミュレートされたバスに接続することができる(https://www.dspace.com/de/gmb/home/news/engineers-insights/blog-virtuals-ecus-1808.cfm)。必要に応じてメッセージシステムは、バス通信システムまたはネットワークあるいはバスシステムとネットワークとの組み合わせによって、特に自動車のメッセージシステムによって形成されており、この場合、メッセージシステムは、実際に存在しているかまたは仮想保護の枠組みでシミュレートされる。仮想制御装置を実際に存在するメッセージシステムと組み合わせることも、または実際に存在する制御装置をシミュレートされたメッセージシステムと組み合わせることも、相応のテスト環境を介して可能である。
【0025】
本発明のさらなる実施形態によれば、セキュアな第1のメッセージのユーザデータも、第1のカウンタ値を用いて暗号化されており、再生ユニットにおいてまずはこれが解読され、次いで暗号化および第2のカウンタ値によって再び暗号化される。メッセージのどの部分を暗号化および解読すべきであるのかは、好ましくはやはり暗号化情報に含まれている。
【0026】
本発明による方法の1つの実施形態によれば、この方法は、セキュアなメッセージにおいて伝送されるいわゆるサービスに適用され、したがって例えばネットワークサービスおよび/またはシステムサービスの、いわゆるサービスディスカバリの再生も可能になる。
【0027】
好ましくは、操作する際に、つまりセキュアな第2のメッセージを作成する際に、所期のようにエラーもちりばめることができる。例えば暗号化情報は、セキュアな第2のメッセージが受信装置によってエラーがあると識別されることになるように、このセキュアな第2のメッセージをテスト目的で作成するための付加的な情報を含む。これによって、セーフティメカニズムもテストすることができる。
【0028】
上述の課題は、本発明による方法を実施するための、独立請求項10の特徴を備えた再生ユニットによっても解決される。
【0029】
本発明による再生ユニットは、以下の点で従来技術による再生ユニットの機能を拡張するものである。すなわち、送信されたメッセージはここでは、もはや記憶されたメッセージだけから成るのではなく、いわば新たに生成されたもしくは再処理されたメッセージから成り、これらのメッセージは部分的に古い情報(特にユーザデータ)を含むが、新たな情報(オーセンティケータおよび/またはカウンタ値)によって変更され、したがってそれらは受信装置によって受け入れられるかまたは所期のように破棄され、その際にこの変更に関して、メッセージの関連部分が非シリアル化の前にすでに識別されるようにして、非シリアル化および復号のために最小限の時間および計算能力しか費やされない。
【0030】
好ましくは、再生ユニットは、(対応するソフトウェアを備えたハードウェアの形態の)HILシミュレータのための、かつ/または(純然たるソフトウェアユニットもしくは付加的なプログラムとして)仮想保護に対するシミュレータのための、(付加的な)ユニットとして構成されている。
【0031】
本発明によれば、効率的にセキュアな通信を車両において記録し、後の保護のために、例えばHILにおいて、ただし仮想保護においても、利用することができるようになる。
【0032】
次に、図面を参照しながら本発明について詳しく説明する。
【0033】
説明をわかりやすくするため、図面には以下のことが示されている。
【図面の簡単な説明】
【0034】
【
図2】AUTOSAR4.2.1によるセキュアオンボード通信(Secure Onboard Communication)を示す概略図である。
【
図3】セキュアな通信を使用した場合の一般的な制御装置通信を示す概略図である。
【
図4】データロガーを用いて、送信されたデータを記憶する様子を示す図である。
【
図5a】抽出されたルックアップテーブルを用いた本発明による方法を示す図である。
【
図5b】データ解釈アルゴリズムを用いた本発明による方法を示す図である。
【
図6】データ解釈アルゴリズムの挙動を示す図である。
【発明を実施するための形態】
【0035】
本発明の以下の説明は、セキュアオンボード通信(Secure Onboard Communication SecOC)向けのものであるが、他の方法にも転用可能である。
【0036】
SecOCで認証が行われると、非セキュアなメッセージ伝送に対し媒体上の伝送が変化する。なぜならば、そのようにするとユーザデータ以外にも、受信したデータが有効であるか否かを受信機が確認できるようにするさらなるデータが、メッセージ内で伝送されるからである。このとき、ユーザデータだけしか含まれていなかった元のPDU(Protocol Data Unit)から、いわゆる「セキュアなPDU(Secured PDU)」が形成される。
【0037】
図1には、この種のセキュアなメッセージの構造が示されている。AUTOSARおよびFIBEXによるSecOC標準に従い、セキュアな通信では「セキュアなPDU(Secured PDU)」が伝送される。これは、いまだ暗号化されていない(ただし大抵は符号化された)ユーザデータPDUと、カウンタ値Zと、暗号化されたオーセンティケータMACと、から構築されている。ユーザデータPDUは暗号化されていないが、例えばいわゆるK行列または通信行列の形態の通信記述を把握していなければ、どのデータ(カウンタ値Z(SecOCでは「フレッシュネス値」とも称する)、オーセンティケータMAC、ユーザデータPDU)がどこにあるのかという情報が欠けている。なぜならば、これらのデータはメッセージにおいてシリアル化されたままだからである。これらの情報がなければ、データの解釈に手間がかかる。
【0038】
セキュアなメッセージは、いまだ暗号化されないユーザデータ(ここではPDUまたは「認証PDU」とも称する)以外にも、カウンタ値Z(「フレッシュネス値」とも称する)およびオーセンティケータ(「メッセージ認証コード」MAC)を含む。このオーセンティケータMACは、鍵アルゴリズム、秘密鍵K、ユーザデータPDUおよびカウンタ値Zを用いて計算される暗号化された値である。
図2にはこの過程が示されている。カウンタ値Zは、単調に増加する連続的なカウンタ値である。送信側において、オーセンティケータMACを生成するために、カウンタ値Zと、ユーザデータPDUからの情報/データと、が使用される。次いで送信機により、ユーザデータPDUとカウンタ値ZとオーセンティケータMACとを含むメッセージが作成される。受信側において、オーセンティケータMACとカウンタ値Zとが検査され、この検査に基づき、メッセージが有効であるか否か、もしくはこのユーザデータを使用してもよいのか否か、が判定される。
【0039】
図3には、セキュアな通信を使用した場合の、通常の制御装置通信が示されている。
【0040】
送信制御装置(送信機)において、アプリケーションソフトウェアにより、伝送すべきユーザデータPDUが生成される(f(x))。さらに、カウンタ値生成用モジュールZGと、オーセンティケータMAC用発生器と、が設けられている。下層のソフトウェア層において特にシリアル化が行われ、そこにおいてCOMコンフィギュレーション(例えばK行列の形態の通信記述)によって、伝送すべきメッセージ内もしくは対応する伝送すべきメッセージパケットNP内のいずれのデータがカウンタ値Zで表し、いずれのデータがオーセンティケータMACを表すのかが規定される。相応に「パケット化」されて、このメッセージはその後、適切なコントローラによって、メッセージパケットNPとしてバス/ネットワーク上で送信される。バス/ネットワーク上では、シリアル化されたメッセージセットNPに含まれているデータにおいて、K行列を把握していなければ、または適切なデータ解釈アルゴリズムがなければ、ユーザデータPDUとカウンタ値ZとオーセンティケータMACとを区別することができない。
【0041】
例えばリアルタイムテストのためにHILを用いて、または仮想保護のためにオフラインシミュレータを用いて、制御装置をテストする場合には通常、K行列に関する情報もしくはK行列が存在する。
【0042】
図3の場合、受信制御装置(受信機)は、メッセージを受信し、このメッセージを送信機の場合とは逆の順序で評価する。オーセンティケータのチェックに基づき受信制御装置において、受信されたユーザデータPDUが、受信制御装置においてアプリケーションすなわち対応する関数f(x)のために使用されるのか否か、が判定される。
【0043】
制御装置間の通信を後で再生するために使用すべきであるならば、バスにおける通信が取り出され、もしくはネットワークにおいてスイッチもしくはテストアクセスポイントを用いて、この通信がミラーリングされる。
図4にはこのことが示されている。記録のため典型的にはデータロガーDが使用され、これはデータを大容量記憶装置に収集する。その際にこの記憶は、データを解釈することなく行われる。
【0044】
非セキュアな通信であれば、受信制御装置の刺激(シミュレーション)のためのデータを事実上変更しなくても(場合によってはタイムスタンプを適合させる)、受信御装置が刺激(シミュレーション)(リプレイすなわち記録されたメッセージの単純な再生/新たな再生)を検出できてしまうことなく、そのまま受信制御装置に送信することができる。
【0045】
しかしながら、セキュアな通信のケースでは、受信制御装置において単調なカウンタを用いることで、メッセージが古くなっていることを検出するであろうから、さらに操作しなければ、記録されたデータをもはや使用することができない。ただし、もっぱらカウンタを変更するだけでは、カウンタ値がユーザデータと共にオーセンティケータMACの計算に関与させられているため、やはり成功しないであろう。
【0046】
図5aには、本発明による再生ユニットRを用いた本発明による方法の1つの実施例が示されている。
【0047】
記録されたデータ(セキュアなメッセージ)が、大容量記憶装置Dから読み出される。これはシリアル化されたデータすなわちシリアルデータであり、つまり信号がどこにあり、それらがどのように符号化されているのかが明確ではない、まったく未解釈のデータである。再生ユニットR内に存在している、または読み取られた(きわめて大規模な)通信行列であるCOM行列から、本発明による方法の開始にあたり、これよりもずっと小さい規模のルックアップテーブルLTが生成され、このルックアップテーブルLTは、メッセージID、ユーザデータのポジションおよびユーザデータの長さを含む。ルックアップテーブルLTから抽出された情報に基づき、メッセージのユーザデータPDUを除くすべてのデータ、すなわち特に第1のカウンタ値Z1および第1のオーセンティケータMAC1の信号、が破棄される。ユーザデータPDUを取得して、これを送信すべきメッセージのために再利用できるようにするためには、シリアル化されたままの残りのデータ(シリアルデータ)を、非シリアル化しなければならない。なぜなら、ユーザデータPDUはオーセンティケータの計算に関与するからである。ただしここでは、非シリアル化すべきデータの量は、メッセージ全体のデータと比べて、ユーザデータPDUに低減されている。第2のカウンタ値Z2および第2のオーセンティケータMAC2に対する信号は、制御装置におけるように、またはHILシミュレータまたはオフラインシミュレータでのバスシミュレーションの場合のように、再生ユニットRにおいても新たに生成される。その際に第2のカウンタ値Z2および鍵Kは、例えばユーザから供給される。ユーザデータPDUと共に、それらから再び有効なメッセージが構築され、次いでこのメッセージは、シリアル化の完了後、メッセージパケットNPとしてバスもしくはネットワークを介して送信される。
【0048】
図5bには、本発明のさらなる実施形態が示されている。
図5aにおいて説明した方法との相違点は以下のとおりである。
【0049】
シリアル化されたままのメッセージ内における特定のメッセージ構成要素のポジションを識別するために、データ解釈アルゴリズムAが適用される。このアルゴリズムAは、最大エントロピーを有する連続した値を識別するようにして、メッセージ内部における暗号化されたデータのポジションを特定する。かくして、暗号化されたオーセンティケータMACが特定されて、メッセージ内のデータ量を再び低減するために破棄される。その後、さらなるステップにおいて、メッセージの残りのデータが非シリアル化され、カウンタ値Z1が識別されて除去される。次いでこの方法は、
図5aの場合と同じように進行していく。
【0050】
図6には、データ解釈アルゴリズムAの手順が示されている。暗号化された情報を識別するために、シリアル化されたメッセージのデータにおいてシンボルウィンドウを用いて、最大のエントロピーを有する連続した値がサーチされる。この場合、第1のオーセンティケータのサーチに利用されるシンボルウィンドウのサイズを、必ずしも予め定める必要はない。基本的には、それぞれ異なるサイズのシンボルウィンドウによって、サーチを実施することができる。とはいえ実際には、特定のオーセンティケータ長(例えばAES=128ビット)だけが使用され、かかるオーセンティケータ長が、好ましくはシンボルウィンドウ長として利用される。
図6に書き込まれているウィンドウ各々について、エントロピーが計算される。計算された最大エントロピーを有するウィンドウから想定されるのは、そこにはオーセンティケータMAC1のポジションが存在している、ということである。
【0051】
偶然に同じ大きさのエントロピーを有する2つのウィンドウが存在する場合には、このアルゴリズムを同じIDの別のメッセージに新たに適用し直すことで、判定を行わせることができる。
【0052】
本発明のさらなる実施形態は、受信制御装置における保護措置をテストする目的で、カウンタ値ZおよびオーセンティケータMACのための信号を所期のように操作する、ということにある。つまり、カウンタ値Zは正しいが誤ったオーセンティケータMACを用いて、動作させることができ、またはオーセンティケータMACは正しく、カウンタ値Zが誤っている。
【0053】
SecOCとは異なるセキュリティメカニズムにおいて、ユーザデータとカウンタ値とオーセンティケータとを含むメッセージが、場合によっては単一のメッセージパケット内にではなく、複数のメッセージパケットにわたって分散されて送信され、これは例えばIPsecまたはCryptographic PDUの場合である。本発明による方法をかかる方法にも適用することができる。このとき、場合によってはカウンタ値に関して、軽微な変更を行う必要がある。IPsecであれば、その場合にはシーケンス番号と呼ばれるカウンタ値は、例えば単調に増加していくのではなく、シーケンス番号の特定のウィンドウ(「スライディングウィンドウ」)内に位置していなければならない。
【国際調査報告】