S1.1-14

S1.1-14 では、停電やネットワーク停止により IoT 機器の電源が OFF になった後、復帰時に認証値及びアップデートが維持されることを要求します。

16.1. 変更可能な認証値をリストアップする

まず、 IoT 製品における変更可能な認証値をリストアップします。

標準状態の ABOS における変更可能な認証値に該当するものは以下の通りです。

  • root ユーザのログインパスワード
  • atmark ユーザのログインパスワード (initial_setup で設定した場合)
  • ABOS Web のログインパスワード
  • WLAN の SSID とパスワード
  • インストール済み各種暗号化鍵・証明書

開発者は、これらの項目に加えて、新たに認証値などを追加した場合には、確認項目を追加する必要があります。

[ティップ]インストール済み各種暗号化鍵・証明書の発見

インストール済みの各種暗号化鍵・証明書は、以下のコマンドで検索できます。

[armadillo ~]# find / -type f \( \
   -iname "*.key" -o \
   -iname "*.pem" -o \
   -iname "*.crt" -o \
   -iname "*.cer" -o \
   -iname "*.der" -o \
   -iname "*.p12" -o \
   -iname "*.pfx" -o \
   -iname "id_rsa*" -o \
   -iname "id_dsa*" -o \
   -iname "id_ecdsa*" -o \
   -iname "id_ed25519*" \
   \)

16.2. ソフトウェアのアップデート情報の確認方法

ABOS における、ソフトウェアのバージョン情報の確認方法は、「バージョンの確認方法を決定する」で紹介しているので、そちらを参照してください。

16.3. 再起動時にファイルが削除されないためのTIPS

16.3.1. ルートファイルシステム設定変更

Armadillo Base OS では、一部のディレクトリを除いてオーバーレイファイルシステム(overlayfs)を使用しています。 このため、rootfs の内容を変更したり、新規にファイルを追加して、それらを再起動後にも維持したい場合は以下のコマンドを実行してください。

[armadillo ~]# persist_files -P <file path>

図16.1 オーバーレイファイルシステムの更新


16.3.2. コンテナでの注意事項

ABOS においてコンテナは起動時に、コンテナイメージから再作成されるため、結果としてコンテナ内のデータは電源断で失われます。

そのため、コンテナ内で動的に作成されるデータや設定は以下の ABOS のユーザーデータディレクトリをコンテナにマウントして、認証値はそのディレクトリに保存してください。

表16.1 電源を切っても保持されるディレクトリ(ユーザーデータディレクトリ)

ディレクトリ 備考

/var/app/volumes

SWUpdate の最中や後も保持され続けます。ロールバックが発生しても、アップデート前の状態には戻りません。ログやデータベースなど、アプリケーションが動作中に作成し続けるようなデータはこのディレクトリに保存してください。

/var/app/rollback/volumes

SWUpdate の最中や後も保持され続けます。ロールバックが発生すると、アップデート前の状態に戻ります。コンフィグファイルなど、アプリケーションのバージョンに追従してアップデートするようなデータはこのディレクトリに保存してください。


16.4. 実機テストを行う

本要件では実機テストを行う必要があります。 開発した IoT 機器に対してテストを実施し、その結果をエビデンスとして記録・保存しておく必要があります。

テストは以下の流れで実施するとよいでしょう。

  1. テスト前の各種設定状態を確認・記録
  2. 機器の電源を切断 or ネットワークを切断
  3. 再起動 or ネットワークを復帰させる
  4. 各種設定状態が維持されていることを確認