検索
Armadillo-IoT ゲートウェイ G4/Armadillo-X2 セキュリティガイド
改訂履歴
目次
1. セキュリティ機能の概要
2. 本書について
2.1. 本書の目的
2.2. 本書の構成
2.3. 表記について
2.3.1. フォント
2.3.2. コマンド入力例
2.3.3. アイコン
3. セキュリティの考え方
3.1. セキュリティの費用対効果
3.2. Armadiilo-IoT ゲートウェイ G4/Armadillo-X2 のセキュリティ領域
3.3. Armadillo-IoT ゲートウェイ G4/Armadillo-X2 で実現できるセキュリティ機能と効果
3.4. モデルユースケース
3.4.1. ネットワーク機器
3.4.2. クラウドサービスへの接続機器
3.4.3. 決済処理が可能な機器
4. 鍵の保護
4.1. EdgeLock SE050 を利用したキーストレージ
4.1.1. EdgeLock SE05x Plug & Trust Middleware
4.1.2. EdgeLock SE050 を有効にする
4.1.3. Plug & Trust Middleware のインストール
4.1.4. Plug & Trust Middleware を活用する
4.1.5. 補足説明
5. セキュアブート
5.1. セキュアブートとチェーンオブトラスト
5.2. HAB とは
5.3. 署名環境を構築する
5.3.1. 署名環境について
5.3.2. ATDE を準備する
5.3.3. 署名ツール (CST) を準備する
5.3.4. アップデートファイル作成ツール (mkswu) を準備する
5.3.5. Armadillo Base OS イメージの取得
5.3.6. 署名環境のディレクトリツリー構成
5.3.7. 署名鍵を生成する
5.4. セキュアブート機能の選択
5.5. セキュアブートのセットアップ
5.5.1. uboot-imx のセキュアブートの実装仕様
5.5.2. セットアップの流れ
5.5.3. 署名済みブートローダーの作成
5.5.4. 署名済み Linux カーネルイメージの作成
5.5.5. ルートファイルシステムのビルド
5.5.6. セキュアブートセットアップ用 SD boot ディスクの作成
5.6. ブートローダーの暗号化に対応したセキュアブートのセットアップ
5.6.1. uboot-imx の暗号化セキュアブートの実装仕様
5.6.2. セットアップの流れ
5.6.3. 署名済みの暗号化ブートローダーの作成
5.6.4. 署名済み Linux カーネルイメージの生成
5.6.5. 暗号化セキュアブート対応 swu の作成
5.6.6. ルートファイルシステムのビルド
5.6.7. 暗号化セキュアブートセットアップ用 SD boot ディスクの作成
5.7. ストレージの暗号化のセットアップ
5.7.1. 実装仕様の概要
5.7.2. セットアップの流れ
5.7.3. 署名済みの暗号化ブートローダーの作成
5.7.4. ストレージ暗号化対応の署名済み Linux カーネルイメージの作成
5.7.5. ストレージ暗号化および暗号化セキュアブート対応 swu の作成
5.7.6. ストレージ暗号化対応のルートファイルシステムのビルド
5.7.7. ストレージ暗号化対応の暗号化セキュアブートセットアップ用 SD boot ディスクの作成
5.8. Armadillo-IoT ゲートウェイ G4/Armadillo-X2 上の作業
5.8.1. Armadillo-IoT ゲートウェイ G4/Armadillo-X2 の準備
5.8.2. SRK ハッシュの書き込み
5.8.3. close 処理
5.8.4. ファームウェアの書き込みをはじめる
5.8.5. 作業が中断した場合
5.9. 動作確認
5.9.1. ストレージ暗号化の確認
5.9.2. セキュアブートの確認
5.10. セットアップ完了後のアップデートの運用について
5.11. 補足情報
5.11.1. secureboot.conf の設定方法
5.11.2. 署名済みイメージと展開先
5.11.3. セキュアブートのフロー
5.11.4. ビルドのプロセスフロー
5.11.5. ファームウェアアップデートのフロー
5.11.6. SRK の無効化と切り替え
6. ソフトウェア実行環境の保護
6.1. OP-TEE
6.1.1. Arm TrustZone と TEE の活用
6.1.2. OP-TEE とは
6.2. OP-TEE の構成
6.2.1. Armadillo Base OS への組み込み
6.3. OP-TEE を利用する前に
6.3.1. 鍵の更新
6.4. CAAM を活用した TEE を構築する
6.4.1. ビルドの流れ
6.4.2. ビルド環境を構築する
6.4.3. ブートローダーを再ビルドする
6.4.4. imx-optee-client をビルドする
6.4.5. アプリケーションをビルドする
6.4.6. imx-optee-test をビルドする
6.4.7. ビルド結果の確認と結果の収集
6.4.8. OP-TEE を組み込む
6.5. パフォーマンスを測定する
6.6. Edgelock SE050 を活用した TEE を構築する
6.6.1. OP-TEE 向け plug-and-trust ライブラリ
6.6.2. ビルドの流れ
6.6.3. ビルド環境を構築する
6.6.4. OP-TEE 向け plug-and-trust をビルドする
6.6.5. imx-optee-os のコンフィグの修正
6.6.6. uboot-imx の修正
6.6.7. imx-optee-os の imx-i2c ドライバの修正
6.6.8. ビルドとターゲットボードへの組み込み
6.6.9. xtest の制限
6.7. imx-optee-os 技術情報
6.7.1. ソフトウェア全体像
6.7.2. フロー
6.7.3. メモリマップ
7. 量産に向けてデバッグ機能を閉じる
7.1. JTAG と SD boot を無効化する
7.2. u-boot の環境変数の変更を制限する
7.3. u-boot プロンプトを無効にする
8. 悪意のある攻撃者への対策
8.1. KASLR
8.1.1. KASLRの有効化
8.1.2. KASLRの有効化確認
図目次
3.1.
Armadillo-IoT ゲートウェイ G4/Armadillo-X2 のセキュリティ領域
3.2.
Armadillo-IoT ゲートウェイ G4/Armadillo-X2 の実行環境の領域
3.3.
セキュリティ技術のカバーする範囲
4.1.
Plug & Trust Middleware の周辺のソフトウェアスタック
5.1.
チェーンオブトラスト
5.2.
ブートローダーの署名済みイメージ
5.3.
暗号化ブートローダーの署名済みイメージ
5.4.
Linux カーネルの署名済みイメージ
5.5.
ストレージ暗号化に対応した Linux カーネルの署名済みイメージ
5.6.
SPL セキュアブートのフロー
5.7.
u-boot セキュアブートのフロー
5.8.
セキュアブートのビルドフロー
5.9.
ファームウェアアップデートのフロー
6.1.
Armadillo Base OS と OP-TEE の担当範囲
6.2.
SE050 向け OP-TEE の起動シーケンス図
6.3.
OPTEE のシステム図
6.4.
i.MX 8M Plus の物理メモリマップ
7.1.
インストールディスクのJTAG と SD boot を無効化する
7.2.
JTAG と SD ブートの設定値を確認する
7.3.
JTAG と SD ブートの設定値をリセットする
7.4.
インストールディスクを作成する
表目次
2.1.
使用しているフォント
2.2.
表示プロンプトと実行環境の関係
4.1.
Plug & Trust Middle のパッケージ
4.2.
Plug & Trust Middleware のサポート
4.3.
SE050 ena pin
5.1.
署名環境
5.2.
セキュアブート用の鍵と証明書
5.3.
セキュアブートの派生機能
5.4.
セキュアブート用の鍵の種類
6.1.
OP-TEE メモリマップ