従来の静的組み込みソフトウェアを使用した電子制御ユニット(ECU)の例を考えてみましょう。ブートローダーは、ECUメインソフトウェアの起動(RAMへのソフトウェアのコピーを含む)の開始と、起動前のソフトウェアのチェックの両方に使用されるソフトウェアコンポーネントです。ブートローダーは、ソフトウェアの更新、更新されたソフトウェアの受信、チェック、メモリ(通常はフラッシュメモリ)への書き込みも行います。そのため、フラッシュブートローダーという用語も一般的に使われています。
開発と本番で同じブートローダーが使用されていますか?
通常、同じブートローダーを、車両と関連するECUの開発と通常の生産に使用して、量産ECUに多くの開発機能を持たせたり、エンジニアリングブートローダーを無効にしたりするための保護策を講じることができます。車両開発中は、開発ソフトウェアを迅速に展開できるように、量産ブートローダーのセキュリティメカニズムを削除することが望ましいことがよくあります。
安全なブートローダー
ますますすべてのブートローダーの安全性が求められています。しかし、伝統的にこれは区別されており、通常はセキュリティ、安全、場合によってはパフォーマンスに関係する機能を保護するために実装されていました。
ブートローダーは通常、起動時にECUのソフトウェアメモリをチェックし、ソフトウェアアップデートの前に受信したソフトウェアをチェックし、更新後にメモリをチェックします。
メカニズムには一般的に次のものが含まれます:
- 起動時にメモリで受信または存在するソフトウェアの認証。多くの場合、ソフトウェアバイナリのハッシュを使用して、公式にリリースされたソフトウェアバージョンの安全なコンパイルプロセスから生成された正確性をチェックします。
- シードとキーを使用した送信者の認証、セキュアメモリとメモリマップによるECU内の安全なデータの保護、アクセス/書き換え可能な領域を定義するためのメモリマップ。
デュアルブートローダー
ブートローダーの実装の中には、2つの部分に分かれているものがあります。そのため、デュアルブートローダーと呼ばれています。この場合、ブートローダーの保護の一環として、プライマリブートローダーは更新できません。これは、モジュールの起動とセカンダリブートローダーの更新に関するものです。セカンダリブートローダーは、安全なプロセスを介して更新できます。これにより、メモリマップなどのソフトウェア更新プロセスを変更して、これらを正常にロックすることができます。このタイプのブートローダーは、HSM(Hardware Secure Module)などのオンボードの安全なハードウェアを使用して更新プロセスを保護する新しい方法のため、今ではあまり一般的ではありません。
注意、この用語はデュアルブートのようなもので、2ブートブロック、つまりフルメモリが利用可能で、1つのバージョンがアクティブな間に未使用のバージョンを更新することができます。これには、この更新方法をサポートする各ECUに追加のメモリが必要です。
Capital Embedded Bootloader
Capital Embedded Bootloader 接続された診断ツールまたは無線方式により、開発中、車両生産中、および車両の耐用期間中に、信頼性の高いECUアップデートをサポートします。標準化されたISO 14229 UDSプロトコルは、一般的な車両ネットワークバス、イーサネット、CAN/CAN-FD、LIN、FlexRayなど、さまざまな一般的な車両ネットワークバスで使用されています。ASAMキャリブレーションプロトコルなどの他の方法を使用することもできます。Cybersecurity はソフトウェアの更新フローの重要な側面であり、ソフトウェア認証を可能にする機能とセキュアブートオプションはソリューションの一部です。OEM(相手先ブランド供給)やMCU固有の要件を満たすために、幅広いECUプロジェクトで幅広いサポートが提供されています。
OTAとFOTAの違いは何ですか?
OTA(無線)アップデート、またはFOTA(無線ファームウェア)は、自動車ECUなどの組み込みデバイス用の新しいソフトウェアを、ワークショップで直接接続されたサービスツールではなく、リモートで受信する方法です。これには、調整ECUのオンボード診断テスター機能、および/またはブートローダー自体の回復およびセルフテスト機能が必要になる場合があります。