検索
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.4. 署名環境を構築する
5.4.1. 署名環境について
5.4.2. uboot-imx のセキュアブートの実装仕様
5.4.3. ATDE を準備する
5.4.4. アップデートファイル作成ツール (mkswu) を準備する
5.4.5. セキュアブートおよびストレージ暗号化に必要なスクリプトを取得する
5.4.6. セキュアブートおよびストレージ暗号化に使用するスクリプトの説明
5.4.7. 環境構築
5.5. セキュアブートおよびルートファイルシステム(rootfs)の暗号化
5.5.1. セキュアブートおよび rootfs の暗号化を行う SWU イメージの作成
5.5.2. SWU イメージのインストール
5.6. 動作確認
5.6.1. セキュアブートの確認
5.7. 量産用 Armadillo のセキュアブートおよびストレージ暗号化
5.7.1. インストールディスクイメージ作成用の SWU イメージを生成する
5.7.2. Armadillo に USBメモリを挿入
5.7.3. インストールディスクイメージ作成用 SWU を Armadillo にインストールする
5.7.4. 開発環境を別の Armadillo に複製する
5.7.5. 開発環境を複製した Armadillo の動作確認
5.8. セットアップ完了後のアップデートの運用
5.8.1. 署名済みブートローダーの更新方法
5.8.2. 署名済み Linux カーネルの更新方法
5.9. 補足情報
5.9.1. secureboot.conf の設定方法
5.9.2. 署名済みイメージと展開先
5.9.3. セキュアブートのフロー
5.9.4. ビルドのプロセスフロー
5.9.5. ファームウェアアップデートのフロー
5.9.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 ブートを無効化する
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.
mkswu のバージョン確認
5.3.
ブートローダーのソースコードのアーカイブを展開する
5.4.
secureboot.sh setup の実行
5.5.
ダウンロードした IMX_CST_TOOL_NEW を使用する
5.6.
カスタマイズした dtbo ファイルを使用する場合
5.7.
secureboot_init コマンドにより作成された SWU イメージ
5.8.
1_write_srk_install_kernel.swu をインストールした後の起動ログ
5.9.
2_secureboot_close.swu をインストールした後の起動ログ
5.10.
3_disk_encryption.swu をインストールした後の確認方法
5.11.
secureboot.sh make_installer の実行
5.12.
secureboot.sh make_installer のよって作成された SWU イメージ
5.13.
secureboot_make_installer.swu インストール時のログ
5.14.
ATDE に installer.img をコピーする
5.15.
microSD に installer.img を書き込む
5.16.
rootfs 及び アプリケーション領域が暗号化されていることを確認
5.17.
最新のブートローダーのソースコードを展開する
5.18.
最新のブートローダーのソースコードをシンボリックリンク元にする
5.19.
最新のブートローダーに署名する
5.20.
最新の署名済みブートローダーを SWU イメージに組み込む
5.21.
secureboot_x2/tmp/linux_apk のディレクトリ名を変更する
5.22.
最新の Linux カーネルイメージに署名する
5.23.
最新の署名済み Linux カーネルイメージを SWU イメージに組み込む desc ファイルを作成する
5.24.
最新の署名済み Linux カーネルイメージが組み込まれた SWU イメージを作成する
5.25.
ブートローダーの署名済みイメージ
5.26.
暗号化ブートローダーの署名済みイメージ
5.27.
Linux カーネルの署名済みイメージ
5.28.
ストレージ暗号化に対応した Linux カーネルの署名済みイメージ
5.29.
SPL セキュアブートのフロー
5.30.
U-Boot セキュアブートのフロー
5.31.
セキュアブートのビルドフロー
5.32.
ファームウェアアップデートのフロー
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 ブートを無効化する
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.
以降で使用する secureboot.sh のオプション
5.4.
secureboot_init の引数
5.5.
生成された SWU イメージ
5.6.
make_installer の引数
5.7.
セキュアブート用の鍵の種類
6.1.
OP-TEE メモリマップ