JAJA733 January 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1106 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1305 , MSPM0L1306 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
MSPM0 SDK に搭載されているブート・イメージ・マネージャは、非対称型と対称型のセキュア・ブートをサポートしていますが、2 つの実装の間にはトレードオフが存在します。特定のアプリケーションに対して、これらのトレードオフを注意深く検討する必要があります。表 3-1 に、2 つの方式のトレードオフを示します。
| パラメータ | 非対称型 (SHA2 + ECDSA) | 対称型 (CMAC) |
|---|---|---|
| 認証時間 | 長い (ソフトウェア・ハッシュの計算と公開キーの演算のため) | 短い (アルゴリズムが簡素で、ハードウェア AES アクセラレーションが利用可能な場合に活用できるため) |
| コードのサイズ | 大きい (SHA および ECDSA アルゴリズムのため) | 小さい (特にターゲット・デバイスで AES アクセラレーションを利用できる場合) |
| キーの整合性 | 公開キーがデバイスにプロビジョニングされ、変更不可能であることが必要 | 共有キーがデバイスにプロビジョニングされ、変更不可能であることが必要 |
| キーの機密性 | 公開キーには機密性の要件はなく、公開キーをアプリケーション・コードの脆弱性から保護する必要なし | 共有キーは機密情報として保護し、使用しないときには、アプリケーション・コードの脆弱性から保護するため、ラップして静的読み取りファイアウォール (ターゲット・デバイスでサポートされる場合) で保護する必要あり |
ほとんどの状況では、非対称型の実装を推奨します。コード・サイズが限られている場合や、認証時間を最小限に抑える必要がある場合には、対称型の実装を使用できます。ただし、共有キーを注意深く管理する必要があります。すべてのデバイスに、ソフトウェアの脆弱性から共有対称キーを保護するためのセキュアなストレージが搭載されているわけではありません。