DeepCover対応ICを活用し、車載コンポーネントのセキュア認証を実現する

DeepCover対応ICを活用し、車載コンポーネントのセキュア認証を実現する

著者の連絡先情報

Generic_Author_image

C Michael Haight

概要

今日の自動車には、電子的なエンドポイントが数多く存在します。一般に、それらはECU(Electronic Control Unit)に接続されて制御されます。問題なのは、そうしたエンドポイントが第三者によって偽造されるおそれがあることです。あるいは、車両内に悪質なデータが送り込まれる可能性もあります。そのようなことが起きれば、少なくとも車両の性能が低下することになるでしょう。最悪の場合、ミッション・クリティカルなコンポーネントの安全性が脅かされてしまうかもしれません。アナログ・デバイセズは、AEC-Q100に準拠するセキュア認証ソリューションとして、DeepCover技術を採用したICを提供しています。それらを利用すれば、車両における上記のようなセキュリティ上の懸念を解消することが容易になります。

ホストとエンドポイントの間で行われる認証

上述したように、今日の自動車が備える数多くの電子的なエンドポイントはECUに接続されています。ECUの役割は、エンドポイントを制御したり、エンドポイントからの情報を受信したり、それら2つを組み合わせた処理を行ったりすることです。図1に、現在の車両の構成例を示しました。ご覧のように、車両内には数多くのエンドポイントが存在します。具体的には、先進運転支援システム(ADAS:Advanced Driver Assistance Systems)の光学カメラやセンサー、ドライバ(運転者)を監視するためのシステム(DMS:Driver Monitoring System)、占有センサー、電気自動車(EV)用のバッテリ・システム、フロント・ライト・モジュール、ハンドルなどが実装されています。実際の車両には、これら以外にも数多くのエンドポイントが存在しています。

図1. 車内に存在するエンドポイント。いずれも認証などのセキュリティ機能を適用する対象になります。
図1. 車内に存在するエンドポイント。いずれも認証などのセキュリティ機能を適用する対象になります。

このエコシステムは、相互に接続されたセンサー、アクチュエータ、ECUで構成されます。その中のすべてのエンドポイントと、そこでやり取りされるデータが真正なものであることを証明するためには、適切なシステムが必要になります。偽造されたコンポーネントや悪質なデータが車両に入り込むと、少なくとも性能が低下することになるでしょう。最悪の場合、ミッション・クリティカルなコンポーネントの安全性が脅かされてしまうかもしれません。

エンドポイントに接続されたECUはホストとして機能します。つまり、エンドポイントを制御したり、エンドポイントから情報を収集したりする頭脳としての役割を担います。エンドポイントの中には、センサーのようにデータを生成するタイプのものがあります。その場合、ホストECUにとっては、接続されているセンサーが信頼できるものであることが重要になります。一方、アクチュエータのように、何らかの動作を実行するタイプのエンドポイントも存在します。その種のエンドポイントにとっては、自身にコマンドを送信してくるECUが信頼できるものであることが重要です。なかにはデータの送信と受信の両方を実行するエンドポイントも存在します。そのようなエンドポイントについては、ECUとの間で双方向の認証を行うことによって信頼性を確保しなければなりません。

一方のエンティティにとって他方のエンティティが信頼できるものであることを証明するにはどうすればよいでしょうか。2つ目のエンティティが自らの真正性と信頼性を証明できるようにするためには、何らかの仕組みを用意する必要があります。例えば、1つ目のエンティティからの問いかけ(チャレンジ)に対し、2つ目のエンティティが問いかけに対する適切な応答(レスポンス)を返すといった具合です。古い戦争映画などで、侵入を試みる者に対して守衛が「止まれ!そこにいる者は名を名乗れ」という簡潔なメッセージを発する(チャレンジ)シーンを目にしたことがあるでしょう。それに対し、侵入を試みる者は、合言葉なども含めた適切な返事を直ちに発しなければなりません(レスポンス)。それと同様に、ECUとエンドポイントは、デジタル的なチャレンジとレスポンスを実行することにより認証を行います。どちらかが自身の認証情報を使用して、自身の信頼性を他方に対して証明するということです。双方向の認証の場合は、各エンティティが自身の認証情報を使用し、自身が信頼できるものであることを互いに証明し合います。互いに信頼できるものであることを証明したホストとエンドポイントは、信頼できるペアとして機能します。サイバーセキュリティの話になると、暗号化のことが頭に思い浮かぶという方も少なくないでしょう。ただ、車載向けのセキュア認証では、多くの場合、データの機密性までは求められません。必要とされるのは真正性だけであることには注意が必要です。このことから、非常に複雑な暗号化のアルゴリズムではなく、デジタル認証のアルゴリズムを使用すればよいということになります。

アナログ・デバイセズは、セキュア認証用のソリューションとしてDeepCover技術を採用したICを提供しています。このソリューションでは、SHA-256(Secure Hash Algorithm 256)やECDSA(Elliptic Curve Digital Signature Algorithm)など、業界で広く利用されているアルゴリズムを使用します。これらのうち、SHA-256は対称アルゴリズムに分類されます。対称アルゴリズムを使用するということは、ホストとエンドポイントの両方が同じシークレットのオブジェクトを把握している(または算出できる)ということを意味します。一方のECDSAは非対称アルゴリズムです。この種のアルゴリズムでは、ホスト側の公開鍵とエンドポイント側の秘密鍵を使用します。ホスト側の秘密鍵とエンドポイント側が使用する公開鍵という2つ目の鍵のペアを使用すれば、双方向の認証を行うことも可能です。

コプロセッサと認証用IC

一部のECUは、ホストが担うべきすべての計算を実行できるセキュアなマイクロコントローラを搭載しています。しかし、セキュリティ機能を備えていないマイクロコントローラや、重い負荷に対応しなければならず演算リソースが限られるセキュア・プロセッサを搭載しているホストも存在します。そのような場合には、DeepCoverを採用したセキュア・コプロセッサ「DS2478」を追加するとよいでしょう。それにより、ホストにおける認証処理をDS2478にオフロードすることができます。

多くの場合、DS2478のようなコプロセッサで使用するコマンド・セットと認証用IC(authenticator)で使用するコマンド・セットは似通っています。そのため、認証用ICを既に搭載している場合、コプロセッサを非常に容易に使用することができます。では、コプロセッサと認証用ICを比較すると、システム内で実装される場所以外にどのような違いがあるのでしょうか。DS2478を例にとると、ユーザが選択可能なフラグが用意されていることが1つの違いとして挙げられます。そのフラグは、認証の使用方法を制御するためのものです。これを使うことにより、次の設定のうちいずれかを選択することができます。すなわち、保護はしない、SHA-2の書き込み認証、ECDSAの書き込み認証、ECDSAの証明書の4つです。

コプロセッサと認証用ICのもう1つの違いは、システム内でセキュリティ機能を実行するための設定方法にあります。認証用ICは、導入されているシークレットのオブジェクトに依存した制約を受けます。それに対し、コプロセッサでは、複数の方法を用いてより汎用的な形で設定が行えます。そもそもコプロセッサは、エンドポイントと何度でもペアリングできるように設定する必要があります。この無限ペアリングの機能は、公開鍵と有効な証明書を使用することにより、任意の認証用ICが正規のシステム鍵を使った署名を有していることを確認できるようにするために不可欠です。無限ペアリングを必要とする具体的な例としては、自動車の使用期間中に何度も交換される可能性があるエンドポイントが挙げられます。無限ペアリングが可能であれば、誰でもパーツを交換することができるようになります。ホストはペアリングに向けて、特定の手順に縛られることなく、有効なコンポーネントを認識することができるからです。一方、自動車メーカーはそれとは異なるペアリング方法を選択することができます。すなわち、ホストとエンドポイントの間で固定的なペアリングを実行するために必要なハードウェアと鍵は、工場と認定サービス・センターだけが保有するという方法です。

ペアリング・アプリケーションにおける認証

認証用ICは、車両とペリフェラル・コンポーネントのペアリングを実施する必要があるアプリケーションで使用できます。ペアリングを利用すれば、コンポーネントの再利用や転用を防ぐことができます。つまりは強力な盗難抑止策となります。この手法は、非常に高度な技術が使われており、悪意を持つ第三者の手に渡ると法的責任が問われるようなケースに不可欠なものになる可能性があります。そのような場合には、エンドポイントに組み込まれた認証用ICが、正規のホストにしか実行できないセキュアなハンドシェイクを最初に行わなければモジュールが動作しないようにします。それにより、権限を持たないホストをブロックすることができます。

ホストは、自身がシステムの正規のコンポーネントであることを証明する証明書を提示します。それにより、エンドポイントの機能にアクセスする権限を持つことが証明されます。また、署名を提示することにより、デバイスとペアリングする権限を有することを証明することも可能です。

コプロセッサと認証用ICは、1対1でペアリングすることができます。また、ホストとペリフェラル・コンポーネントについても、それらのデバイスに固有の対称鍵のペアを使ってペアリングすることが可能です。1対1のペアリングでは、コプロセッサと認証用ICそれぞれの1つのページに対して書き込みが行われます。それにより、個々のデバイスを互いにペアリングするための固有のバインディング用データが保存されます。OTP(One-time Programmable)メモリは、その名が示すとおり1度しかプログラムすることができません。そのため、上記の処理については制約が生じる可能性があります。つまり、1度ペアリングを行うと、そのメモリを新たなデバイスのためにプログラムし直すことはできません。また、コプロセッサは6ページ分のメモリしか備えていないので、ペアリングできる認証用ICの数は限られます。

光学カメラやセンサーの認証

ここからは、認証用ICの使用を検討すべき車載アプリケーションの例を紹介していきます。もちろん、すべての例を挙げることはできませんが、以下に示す具体的な例を見ていくことで、認証の実現方法やその効果についてより深く理解できるはずです。

まずは光学カメラとセンサーの例を取り上げます。これらは、走行中のドライバの安全を確保する上で重要な役割を果たします。カメラもセンサーも、システムに適合するように特別に設計されています。また、チューニングも実施できるようになっています。システムは、適切なデータを送信できるよう慎重にキャリブレーションされたカメラやセンサーをベースとしてあらゆる判断を行います。そうしたカメラやセンサーのうち1つが、グレードの低い偽造品で置き換えられてしまったら何が起きるでしょうか。その場合、システム全体が危険にさらされることになるでしょう。システムに認証機能を追加すれば、正規のカメラが実装されていて、なおかつホストECUとペアリングされているという確証を得ることが可能になります。

ECUとカメラの間にデータ・パスを設けるにはどうすればよいのでしょうか。そのための技術は既にいくつか提供されています。そのうちの1つが、アナログ・デバイセズのGigabit Multimedia Serial Link(GMSL)です(図2)。GMSLを使用すれば、カメラから動画データを受け取ることができます。また、カメラの機能を制御するためのものとして、ECUの上流からのバック・チャンネルを実現することも可能です。ホストECUは、この制御チャンネルを介してカメラに認証機能を適用します。それにより、適切なレスポンスを取得できるようになります。詳細については、「Authenticating Remote Automotive Peripherals Using GMSL Tunneling(GMSLトンネリングを用いて、車載リモート・ペリフェラルの認証を実施する)」をご覧ください。

図2. GMSLを介したカメラ・モジュールの認証
図2. GMSLを介したカメラ・モジュールの認証

フロント・ライト・モジュールの認証

フロント・ライト・モジュールは、暗くて見通しの悪い状況下で、ドライバに対して可視性を提供する役割を果たします。この照明システムには、必要以上に明るさを落とさないようにすることが求められます。また、ドライバやシステムが周辺環境について判断する能力が損なわれないようにすることも非常に重要です。ただ、重要なのは照明としての機能を適切に実現することだけではありません。仕様を満たさない偽造フロント・ライト・モジュールが車両に適用されないようにすることも必須の要件です。そうした偽造品は危険な存在であり、火災やシステムの電気的損傷を引き起こす原因になるおそれがあります。

加えて、フロント・ライト・モジュールの盗難防止策を講じることも重要です。同モジュールは盗難の対象になるケースが少なくありません。そのため、同モジュールに認証用ICを組み込むことにより、偽造や不正な転用を防ぐべきです。盗んだヘッドランプが他の車両で機能しないようにすれば、そもそも同モジュールを盗む動機がなくなります(図3)。

図3. ヘッドランプが盗まれた車両。フロント・ライト・モジュールに認証機能を適用すれば、盗難を抑止する効果が得られます。
図3. ヘッドランプが盗まれた車両。フロント・ライト・モジュールに認証機能を適用すれば、盗難を抑止する効果が得られます。

最近の車両の多くは、ヘッドランプとしてデジタル・マトリクスLED照明(以下、マトリクスLED)を採用しています。これは、マトリクス状に並んだランプで構成される高解像度のモジュールです。マトリクスLEDの特徴は、照明を機械的に動かすことなく、周辺環境に応じてビームの焦点を絞ることができる点にあります。ランプの解像度が非常に高いことから、アフターマーケットのメーカーや改造者は「ヘッドランプ上のイメージをカスタマイズしてみたい」という衝動に駆られるようです。もちろん、そのようなことを施すと、ヘッドランプ本来の目的から逸脱してしまいます。その結果、自動車の搭乗者や、周囲の人や車両に危険が及ぶことになります。マトリクスLEDを採用するヘッドランプも、先述した光学カメラと同様に保護することができます。具体的には、アナログ・デバイセズのGMSLを採用することで、ECUからヘッドランプに対して情報を送信することが可能になります。また、その制御チャンネルを介すことで、認証機能をシームレスに実行することができます。図4に示す例では、ホストECUにDS2478を実装しています。これをオプションとして利用すれば、ECUのSoC(System on Chip)やマイクロコントローラから認証処理をオフロードすることができます。この例では、ヘッドランプがホストを認証することにより、マトリクスLEDに対する有効な制御だけが行われるようにしています。先述した盗難防止策と併用した場合、ホストとエンドポイントの間の双方向認証を利用する状態になります。

図4. ECUとヘッドランプの間の接続
図4. ECUとヘッドランプの間の接続

LiDARモジュールの認証

LiDAR(Light Detection and Ranging)は、安全を重視したADASシステムの主要なコンポーネントとして台頭しつつあります。その役割は、車両に対する物体の近接情報を収集することによって、光学カメラをベースとする機能を補完することです。近接情報は、ADASのプロセッサによる車両の運転に関する判断に利用されます。光学カメラ、フロント・ライト・モジュールの場合と同様に、LiDARモジュールにも認証用ICを追加するべきです。そうすれば、ホストECUは自身とペアリングされているものが純正のデバイスであることを確認できます。品質の低いデバイスや純正品ではないデバイスが車両に取り付けられると、運転に関する誤った判断や危険な判断が行われてしまうおそれがあります。図5の例では、認証用ICをFPGAに接続しています。FPGAの代わりにマイクロコントローラやSoCを使用することも可能です。

図5. LiDAR用の回路例
図5. LiDAR用の回路例

バッテリ管理システムの認証

EVの市場シェアは年々拡大し続けています。ただ、その成長に伴って一連の固有の課題が顕在化しました。各EVにはバッテリ管理(バッテリ・マネージメント)システム(BMS:Battery Management System)が必要になります。それにより、充電の状態、電力の状態、温度といった様々なパラメータを監視し、電源の健全性を管理します。これらの機能は、安全を確保できない条件下でバッテリが使用されることがないようにするという重要な役割を担います。ここで図6をご覧ください。このBMSには、複数のセル管理コントローラ(CMC:Cell Management Controller)が実装されています。各CMCは、自身に対応するモジュールに実装された認証用ICとの間で通信を行います。その際、通信プロトコルの変換を行う必要があるなら、オプションのブリッジ・デバイスを使用するとよいでしょう。図中で「DS28x40」と表現しているのが認証用ICです。それらは、セルと共に各モジュールの中に組み込まれます。DS28x40というのは、具体的には「DS28E40」または「DS28C40」を表しています。前者は1-Wire®、後者はI2Cをサポートしています。つまり、CMCのマイクロコントローラとモジュールの認証用ICの間で行う通信には、1-WireまたはI2Cを使用できます。どちらを使うのかは柔軟に選択できるということです。アナログ・デバイセズの1-Wireには、1本のピンを使うだけで電力伝送と半二重通信を実施できるというメリットがあります。一方のI2Cは、業界で広く使われている汎用的なインターフェースです。CMCと認証用ICが同じ通信プロトコルを使用するのであれば、ブリッジ・デバイスは不要です。CMCとその認証用ICを直接接続することで、データの送受信を実施できます。

バッテリ・パックは、すべてのCMCとそれぞれに対応するセル・モジュールによって構成されます。各CMCは、モジュール内の各セルの温度と電圧を監視します。各CMCとセル・モジュールが純正のコンポーネントであることは非常に重要です。この点に問題があると、ステータスに関する最新かつ正確な情報を中央のバッテリ・パック制御モジュール(BPCM:Battery Pack Control Module)に伝送できなくなります。いずれかのコンポーネントが純正品ではなく、様々な測定値やステータスの情報が正確に伝わらなければ、システム全体の安全性が疑わしくなります。

このアプリケーションにおいて、認証の処理は一般的に車両のシステムを起動する際に行われます。そのため、認証の処理が、走行中に連続的に繰り返されるバッテリの性能確認の動作に干渉することはありません。起動時だけ認証を行うという方法でも、偽造バッテリ・モジュールがシステムに実装されていれば、認証用ICはそれを検出することができます。自動車の走行中にバッテリ・モジュールが交換されることはあり得ないからです。

図6. モジュールのレベルで認証を行うEV用のバッテリ・パック
図6. モジュールのレベルで認証を行うEV用のバッテリ・パック

デイジーチェーン構成のBMSでは、各モジュールにCMCと認証用ICを実装します。CMCと認証用ICの間では認証に関する通信が行われます。BPCMとバッテリ・パック内のモジュールの間の通信には、ハードワイヤードの接続が使われます。また、図6に示したデイジーチェーン構成の実装では、ECU側のBPCMの中にコンパニオン・コプロセッサとしてDS2478が組み込まれています。このコンパニオン・コプロセッサを使うことで、マイクロコントローラ(MCU)のリソースが十分ではない場合に、ホスト側で必要となる暗号化の計算と鍵の保管の処理をオフロードすることができます。DS2478は、各モジュールに対する認証を行います。それにより、バッテリ・パックの大型アセンブリに組み込まれているのは正規のバッテリ・モジュールだけであるということが保証されます。

表1. 本稿で取り上げた製品
品番 インターフェース 製品の種類 電源 温度範囲 AEC-Q100
DS28C40 I2C 認証用IC 外部のVCC -40°C~125°C グレード1
DS28E40 1-Wire 認証用IC 寄生電源 -40°C~125°C グレード1
DS2478 I2C コプロセッサ 外部のVCC -40°C~125°C グレード1

ここまでに説明したように、自動車内に存在する多数のエンドポイントに対して認証用ICを適用すれば大きなメリットが得られます。また、コプロセッサを追加することにより、ホストECUの認証処理をマイクロコントローラからオフロードすることが可能になります。ミッション・クリティカルな車載コンポーネントの安全性を確保するためには、自動車メーカーが認定する純正コンポーネントしか使われていないことを確認する処理が不可欠だと言えるでしょう。アナログ・デバイセズは、DeepCoverを採用した認証用ICのソリューションを提供しています。このソリューションはAEC-Q100に準拠しています。これを採用することにより、セキュリティに関するニーズを満たすことが可能になります。