GMSLトンネリングを用いて、車載リモート・ペリフェラルの認証を実施する
要約
自動車の分野では、第三者によって製造されたコンポーネントの偽造品が出回ることがあります。そうした偽造品が車両に適用されないようにするために利用できるのが認証技術です。本稿では、アナログ・デバイセズのGigabit Multimedia Serial Link(GMSL)を利用して車載コンポーネント向けの認証機能を実装する方法を紹介します。
はじめに
今日の自動車は複雑さを増しながら、より優れたものへと進化し続けています。それに伴い、ECU(Electronic Control Unit)によって、車両内の離れた位置にあるペリフェラル・コンポーネント(以下、リモート・ペリフェラル)を制御するための通信技術が次々に開発されました。例えば、先進運転支援システム(ADAS:Advanced Driver Assistance Systems)は、センサーやカメラなどを使用して構成されています。それらのリモート・ペリフェラルがミッション・クリティカルな判断を担っているケースは少なくありません。その場合、それらのペリフェラルは品質の高い純正品であることが求められます。つまり、純正品が使われていることを検証/保証できるようにすることが非常に重要になります。そのためには、まずADAS用のカメラやセンサーといったペリフェラルにセキュア認証用IC(authenticator)を組み込みます。その上で、同ICとECUの間で通信を行い、ペリフェラルの真正性を確認する処理を行います。アナログ・デバイセズは、その通信を実現するための技術を提供しています。それが本稿の冒頭で触れたGMSLです。GMSL対応のSerDes(Serializer/Deserializer)とセキュア認証用ICである「DS28C40」を組み合わせれば、非常に優れたソリューションが得られます。
GMSLの概要、それを用いた設計
GMSLは、車載通信の市場に向けたアナログ・デバイセズ独自のSerDes技術です。この技術では、消費電力が少なく帯域幅の広いシリアライザとデシリアライザをペアで使用します。それにより、データの完全性を維持し、高い信頼性で通信を行うことが可能になります。
GMSLは、PoC(Power over Coax)技術の一種だと言うことができます。つまり、1本の同軸ケーブルによって電力とデータの伝送を実現します。これを利用すれば、同軸ケーブルによって、ECUからリモートのカメラやセンサー、更には認証用ICに対して給電することが可能になるということです。図1は、GMSLを用いた設計により、PoCがどのように実現されるのかを表したものです。
図1. GMSLの利用例。GMSLチャンネルの標準的なI2Cバスを使用し、セキュア認証用ICとの間で通信を実現しています。
図1の構成は、カメラやセンサーなどのリモート・ペリフェラルとECUの間でGMSLによる通信を行う典型的な例だと言えます。この回路において、セキュア認証用IC(DS28C40)は、セキュリティと認証の機能を実現するための合理的で明快なソリューションとして働きます。自動車の保有者は、定期点検などを目的として修理工場を利用することになるでしょう。その際、保有者が気付かないうちに低品質の偽造品が車両に適用されてしまったらどうなるでしょうか。そのような状況を避けるための1つの手段がコンポーネントの認証機能です。例えば、ADAS用のカメラの偽造品が出回っていたとします。そのカメラは、正しい視野範囲、解像度、キャリブレーション情報を備えているとは限りません。そうすると、ECUに対して正確なデータが提供されなくなる可能性があります。その結果、安全上の重大なリスクがもたらされ、事故の発生につながってしまうかもしれません。認証の機能を適用すれば、電源を投入した際、ECUによって複数のカメラやセンサーの認証を並行して行うことができます。それにより、すべてのミッション・クリティカルなペリフェラルが正規品であることを確認できます。DS28C40は、それほど手間をかけることなくシステムに容易に追加することが可能です。GMSL対応のデバイスは、一旦適切に設定/接続されれば、I2Cのバス上でアクティブにリッスン動作を行っているデバイスを自動的に検出します。評価用キットを使用する場合、I2Cのバス上で検出されたデバイスはGMSL用のGUI(Graphical User Interface)に自動的に表示されます。
GMSL対応のデバイスは、1つのメイン制御チャンネルと2つのパススルー・チャンネルを備えています。パススルー・チャンネルは、GMSLのリンクを通じてI2Cの信号またはUART(Universal Asynchronous Receiver Transmitter)の信号をトンネリングします。メイン制御チャンネルからは、シリアライザまたはデシリアライザのレジスタにアクセスすることができます。それに対し、パススルー・チャンネルは純粋にトンネリングを行うためのものであり、SerDesのI2Cレジスタを制御することはできません。図1の例の場合、DS28C40はUARTは使用せず、メイン制御チャンネルまたはパススルー・チャンネルのうちいずれかを使用することができます。トンネリング機能を使うために、パススルー・チャンネルを構成し、I2Cの信号をイネーブルにするには、シリアライザとデシリアライザが、2つのチャンネルのうちどちらを使用するのかに応じてIIC_1_ENビットまたはIIC_2_ENビットを1に設定する必要があります。パススルー・モードを使用する場合も、I2Cの通信を行うためにはプルアップ抵抗が必要です。トンネリングに使用するピンは、チャンネル1の場合はSDA1_RX1とSCL1_TX1、チャンネル2の場合はSDA2_RX2とSCL2_TX2です。1つのデシリアライザを使用して複数のセンサーに対応したい場合に向けて、GMSL対応のSerDesチップセットは、I2Cのアドレスの競合を回避できるように、同アドレスの再割り当てと変換を行うための機能を提供します。
ADAS用のカメラやセンサーなどのリモート・ペリフェラルに認証機能を追加するにはどうすればよいのでしょうか。最も簡単な方法は、DS28C40をペリフェラルに組み込むことです。その上でI2Cとトンネリング機能を使用し、GMSLのチャンネルを介してECUとの通信を行います。この方法であれば、レジスタの設定が不要になるので複雑さが軽減されます。また、GMSLをベースとするシステムのハードウェアを簡単に利用し、I2Cを介して迅速に通信を行うことが可能になります。図2は、この実装方法を示したものです。この例は、ECUによってカメラのモジュールの認証を行うケースに対応しています。DS28C40は、公開鍵を使用する非対称アルゴリズムに対応した製品です。そのため、同ICはペリフェラル側だけに実装することになります。これは注目すべきポイントです。この場合、ホストとして機能するECUは公開鍵だけを使用してカメラの認証を実施します。つまり、1つのデバイスを追加するだけでセキュリティ機能を実現できるのです。一方、GMSLのパススルー・チャンネルを介したデータ通信は、I2CのホストとDS28C40に対して完全に透過的なものになります。
図2. ECUとカメラの間の通信。GMSLのトンネリング機能とI2Cを使用します。
DS28C40では、非対称アルゴリズムであるECDSA(Elliptic Curve Digital Signature Algorithm)を使用します。それにより、各リモート・ペリフェラルの認証を行います。ECDSAは、公開鍵を使用するアルゴリズムです。各認証用ICは、固有の公開鍵と秘密鍵のペアを備えています。秘密鍵は認証用ICの内部に組み込まれており、その情報が外部に出ることはありません。それに対応する公開鍵は、認証用ICのOTP(One-time Programmable)メモリに保存されており、ECUから自由に読み出すことができます。この公開鍵は、ECDSAの計算を行うために使用されます。認証用ICが正しいデータを提供することで、認証用ICとそれが組み込まれているデバイスがシステムにとって正当なものであることが証明されます。また、各認証用ICは固有の証明書も内蔵しています。それを使って、同ICの正当性に関する追加の確認が行われます。その結果、認証用ICがシステムの一部として認識され、適切な認証局によってプログラムされていることが保証されます。加えて、DS28C40は署名を生成するたびに、ECUから発出された固有のチャレンジを取り込みます。それにより、静的な値が暴かれて再利用されるリプレイ攻撃に対抗します。
先述したように、認証の処理は主に2つのステップから成ります。まず、ホストはDS28C40の証明書がシステムの正当な一部であるか否かという検証を行います。次に、DS28C40に対して、ランダム・チャレンジに署名することを求める処理が行われます。認証局は、DS28C40が備えていないシステム全体の公開鍵を使用して、DS28C40に固有の秘密鍵に署名します。その上で、各デバイスに固有の証明書を作成してインストールします。偽造品では、証明書を直接コピーすることはできますが、正しい秘密鍵を使用してホストからのランダム・チャレンジに署名することはできません。なお、偽造品の中には、固有の鍵のペアを使用してECDSAを実装し、ホストからのランダム・チャレンジに応答するものが存在する可能性があります。しかし、このタイプの偽造品は、システム全体の秘密鍵によって署名された正当な証明書を作成することはできません。つまり、ECUがシステム全体の公開鍵とDS28C40に固有の秘密鍵を使用することで、セキュアなホストを必要とすることなく、非常に堅牢な認証プロセスが実現されるということです。なお、ECDSAによる認証方法の詳細については、「The Fundamentals Of An Ecdsa Authentication System(ECDSAベースの認証システムの基本)」をご覧ください。
本稿で紹介した方法であれば、わずか1つのICを追加するだけでリモート・ペリフェラルに認証機能を適用することができます。また、2つの認証ステップを実装するためのホストECUのコマンド・シーケンスも比較的シンプルです。DS28C40の評価キットとフリーのソフトウェアを使用すれば、同ICの動作はすぐに理解できるでしょう。先述したように、GMSLのパススルー・モードはI2CのホストとDS28C40に対して透過的です。そのため、認証用のコマンド・シーケンスを開発するためにGMSL対応の評価キットを用意する必要はありません。
多くの自動車メーカーは、ADASのリモート・ペリフェラルに適用する通信技術とセキュリティ技術の選択を進めています。その際には、様々なデバイスの相互運用性が確保されているか否かを把握することが重要です。セキュア認証用ICであるDS28C40とGMSL対応のSerDesの組み合わせについては、強力なセキュリティ機能と信頼性の高いデータ通信機能が得られることが実証されています。
まとめ
本稿では、GMSLを利用して、車載環境に認証機能を追加する方法を紹介しました。ペリフェラルの偽造品が車両に適用されることがないようにするのは非常に重要なことです。本稿で紹介した方法を採用すれば、そのためのセキュリティ機能を実現できます。