S1.1-15 は、 IoT 機器の利用が終了し、廃棄・譲渡された後にデータが窃取されないような対応を求める要件です。
S1.1-15 はドキュメント評価と実機テストによる評価のどちらも対象になります。
一般に IoT 機器は、アプリケーション本体やライブラリなどの、製品が製品として動作するために必要なアプリケーション部分と、エンドユーザーが製品を利用しているときに保存されるログやデータなどのデータ部分に分かれます。
本要件では、前者のアプリケーション部分を残しつつ後者のデータ部分を削除することで、製品の出荷状態に戻し、廃棄や譲渡を行っても IoT 機器が稼働中に収集したデータが流出しないようにすることを期待しています。
この要件を満たすためには、まずは製品の中の残したいアプリケーション部分と、削除したいデータ部分を明確に定義する必要があります。
削除したいデータ部分として、具体的には以下のようなものが考えられます。
-
IoT 機器が収集した個人情報
-
IoT 機器が収集したログ情報
-
ユーザーが設定した項目
-
ユーザーが設定したパスワードなどの認証値
-
利用中に取得した暗号鍵やデジタル署名
上記以外にも様々なデータが削除対象となる可能性がありますので、製品の特性に応じて決定してください。
17.2. Armadillo 内の指定したデータを削除する方法
ABOS では、容易にデータの削除を行うための「ユーザーデータ削除機能」を提供しています。
ユーザーデータ削除機能は、以下のいずれかの方法で実行できます。
-
abos-ctrl reset-default
コマンドを実行する
-
ABOS Web の UI から「ユーザーデータ削除」を実行する
-
ABOS Web の REST API を利用して、ユーザーデータ削除を実行する
ユーザーデータ削除機能では、デフォルトで以下のデータを削除します。
ネットワーク設定
-
LAN、WLAN、WWAN の設定を全て削除します。WLAN はクライアント設定とアクセスポイント設定の両方を削除します。
-
DHCP 設定
-
NAT 設定
-
VPN 設定
-
NTP 設定
-
/var/app/volumes
ディレクトリ下のファイルを全て
-
/var/log
ディレクトリ下のファイルを全て
また、上記のデータに加えて /etc/atmark/reset_default_list.txt ファイルに記載されているファイルも削除します。
書き方のサンプルファイルとして、/etc/atmark/reset_default_list.txt.example も用意されていますので、リネーム・編集してご利用ください。
17.2.1. ユーザーデータ削除機能の削除レベル
JC-STAR★1 では、どの程度までデータを削除すべきかを以下のように定義しています。
単純な非侵襲のデータ回復技術(市販のデータ復旧ソフトによるサルベージ等)から保護できるセキュリティレベル(NIST SP800-88 Rev.1 での「Clear」レベル)での削除を求める。
ABOS が提供するユーザーデータ削除機能は、NIST SP800-88 Rev.1 での「Clear」レベルを満たすように設計されています。
ABOS では、データの保存領域のファイルシステムとして、 ext4 と btrfs を採用しています。
ext4 の領域に保存されたデータは、ユーザーデータ削除機能を実行すると、 discard 処理を含むフォーマットを行いデータをセキュアに削除します。
btrfs の領域に保存されたデータは、ユーザーデータ削除機能を実行すると、当該のファイルや subvolumeを削除した後、 sync と fstrim を実行することで metadata を含むデータをセキュアに削除します。
17.3. ABOSにおけるユーザーデータの保存場所
「Armadillo 内の指定したデータを削除する方法」で紹介したユーザーデータ削除機能は、任意の場所のデータを削除できますが、データの保存場所として以下を推奨しています。
表17.1 ABOSにおけるユーザーデータの推奨保存場所
ディレクトリ | 保存するデータの内容 |
---|
/var/app/volumes | ログやデータベースなど、アプリケーションが動作中に作成するデータはこのディレクトリに保存してください。 |
/var/app/rollback/volumes | コンフィグファイルなど、アプリケーションのバージョンに追従してアップデートするようなデータはこのディレクトリに保存してください。 |
17.4. アプリケーションからユーザーデータ削除機能を利用する
前述の通り、ユーザーデータ削除機能はコマンドラインや ABOS Web の UI から実行できますが、アプリケーションから実行する場合は ABOS Web の REST API を利用します。
REST API 実行用の token には、 ResetDefault 権限を持たせ、それ以外の不要な権限は持たせないようにしてください。
具体的な設定方法や実行方法は 各製品マニュアルを参照してください。