はじめに

1.1. 本書の目的と対象読者

本書は Armadillo-900 及び Armadillo-IoT ゲートウェイ A9E を使用するユーザーが以下を理解することを目的としています。

  • 開発機に対してセキュアブートの有効化及びルートファイルシステムを暗号化する方法
  • 量産機に対してセキュアブートの有効化及びストレージの暗号化を適用し開発したアプリケーションをインストールする方法
  • 運用時にセキュアブート有効化済み個体に対してブートローダー及びLinux カーネルイメージを更新する方法

本書は、以下の読者を対象としています。

  • Armadillo-900 及び Armadillo-IoT ゲートウェイ A9E でセキュアブートの有効化を検討している

    セキュアブートの有効化を検討する上でこのドキュメントは役に立ちます。

  • Armadillo での基本的な開発方法を理解している

    ATDE の使用方法、Armadillo Base OS の思想の理解、SWU イメージの使用方法、ABOS Web の使用方法などが含まれます。 詳細については製品マニュアルをご参照ください。

  • 基本的な Linux の扱い方を知っている

    ls や cd などの基本的なコマンドをターミナル上で実施するためです。

1.2. 本書の位置づけ

本書は Armadillo-900 及び Armadillo-IoT ゲートウェイ A9E におけるセキュアブート有効化の実践方法を記したドキュメントです。

セキュアブートの理論的背景は最小限に留めていますので、必要に応じて関連文献をご参照ください。 例えば、Armadillo-900 及び Armadillo-IoT ゲートウェイ A9E では NXP の uboot-imx を使用していますが、より詳細な技術的内容については 以下をご参照ください。

https://github.com/nxp-imx/uboot-imx/tree/lf_v2024.04/doc/imx

また、Armadillo を用いたアプリケーションの開発方法やハードウェアの仕様については触れておりません。 それらについて知りたい場合は製品マニュアルをご参照ください。

1.3. JC-STAR とセキュアブートの関連

セキュリティ要件適合評価及びラベリング制度(JC-STAR: Labeling Scheme based on Japan Cyber-Security Technical Assessment Requirements)とは、 独立行政法人 情報処理推進機構(IPA)が主導になり進めている日本のセキュリティ適合性評価制度です。

対象となる製品はインターネットプロトコル(IP)を使用したデータの送受信機能を持つ IoT 製品であり、Armadillo も含まれます。 組織として脆弱性に対応する体制が整っており、製品のセキュリティ機能として必要な水準を満たことを評価した上で、その申請が通るとラベルが付与されます。

政府機関や重要インフラ事業者が製品選定を行う際に JC-STAR のラベルの有無を参考にすることが想定されます。 そのため、特に国の重要な施設といった公共事業向けに使用される製品を開発する場合はラベルの取得を目指すことが推奨されます。

適合基準のレベルは 4 つ存在します。 求められるセキュリティ水準に応じたセキュリティ技術要件として ★1 から ★4 までのレベルが設定されています。

★1 は 2025 年 3 月 25 日から申請の受付が始まりました。 製品として最低限必要なセキュリティ機能を保持していることが条件ではありますが、この時点でセキュアブートを有効化することは要件にありません。

★2 以降 は製品類型ごとにセキュリティ要件が異なり、2025 年 5 月現在では詳細な情報は明かされていません。 しかし、レベルが上がるにつれてセキュリティ要件が厳しくなり、セキュアブート有効化による保護が必須要件になることは十分に予想されます。

JC-STAR に関するより詳細な情報は以下の URL からご確認いただけます。

https://www.ipa.go.jp/security/jc-star/index.html

1.4. 本書の構成

本書はセキュアブートに関する最低限必要な知識の説明から始まり、その後に実際にセキュアブートを有効化する手順を示します。 第2章以降の構成は以下のようになります。

2章 背景

この章ではセキュアブートを有効化するにあたり前提となる知識を説明します。 セキュアブートがどのようなものなのか、なぜ行う必要があるのか、その仕組みを知ることでセキュリティにどのように役立つのか示します。 セキュアブートについて理解がある読者はこの章を読み飛ばして3章に進んでも問題ありません。

3章 導入編

この章では開発用 Armadillo に対してセキュアブートを有効化するための手順を示します。 セキュアブートを有効化するために必要なスクリプトの取得、環境のセットアップ方法についての説明から始まり、セキュアブートの有効化及びルートファイルシステム(rootfs)の暗号化を実際に行うことがこの章の目標です。

4章 量産編

アプリケーションの開発段階が終了すると、次に量産用 Armadillo に対してセキュアブートの有効化及び暗号化を適用し、さらに開発したアプリケーションをインストールする必要があります。 この章では量産用 Armadillo に対してセキュアブートの有効化及び rootfs 用、ログ書き込み用、ファームウェア用、アプリケーション用パーティションの暗号化を行い、開発したアプリケーションをインストールする手順を示します。

5章 運用編

サイバー攻撃に対する防御策の一環としてLinuxカーネルイメージ及びブートローダーの更新は欠かせません。 この章ではセキュアブート有効化済みの Armadillo にインストールされている署名済みブートローダーと署名済み Linux カーネルイメージの更新方法について説明します。

1.5. 表記上のルール

本書では以下のような意味でフォントを使いわけています。

表1.1 使用しているフォント

フォント例説明

本文中のフォント

本文

[PC ~]$ ls

プロンプトとユーザ入力文字列


本書に記載されているコマンドの入力例は、表示されているプロンプトによって、 それぞれに対応した実行環境を想定して書かれています。 「 / 」の部分はカレントディレクトリによって異なります。 各ユーザのホームディレクトリは「 ~ 」で表します。

表1.2 表示プロンプトと実行環境の関係

プロンプト コマンドの実行環境

[PC /]#

作業用PCの root ユーザで実行

[PC /]$

作業用PCの一般ユーザで実行

[ATDE ~/]#

ATDE上の root ユーザで実行

[ATDE ~/]$

ATDE上の一般ユーザで実行

[armadillo /]#

Armadillo上 Linuxの root ユーザで実行

[armadillo /]$

Armadillo上 Linuxの一般ユーザで実行

[container /]#

Podmanコンテナ内で実行

Armadillo上 U-Bootの保守モードで実行


本書では以下のようにアイコンを使用しています。

[警告]

注意を払わなければ、システム障害やデータ損失といった取り返しがつかない状態を引き起こすような重要な事柄に関する情報を記載します。

[注意]

注意を促すものの、大きなリスクを伴わない情報を記載します。

[重要項目]

重要な事柄ではあるものの、リスクや警告を伴わない情報を記載します。

[ティップ]

役に立つ情報を記載します。

[注記]

用語の説明や補足的な説明を記載します。