JC-STAR★1開発ガイド
改訂履歴
目次
1. はじめに
1.1. 背景
1.1.1. IoT 製品におけるセキュリティと JC-STAR
1.1.2. セキュリティ対策の課題と Armadillo の意義
1.1.3. ABOS 搭載製品におけるセキュリティ的な責任分界点
1.2. 本書の目的
1.3. 対象読者
1.4. 本書の構成
1.5. フォント
1.6. コマンド入力例
1.7. アイコン
2. 用語説明
3. S1.1-01
3.1. 守るべき情報資産をリストアップする
3.2. 守るべき情報資産へのアクセス方法をリストアップする
3.2.1. ABOS Web を無効化する
3.3. 各アクセス方法に対するユーザー認証の仕様を明確化する
3.3.1. ABOS Web のアクセス制御
3.3.2. ABOS Web の Web UI におけるアクセス制御
3.3.3. ABOS Web の REST API におけるアクセス制御
3.4. 技術文書への記載
4. S1.1-02
4.1. ネットワークを介したユーザ認証をリストアップする
4.2. 使用しない機能の無効化
4.2.1. ABOS Web の無効化
4.2.2. sshd の無効化
4.3. パスワードを使用する認証機能への対応
4.3.1. 無線 LAN アクセスポイントのパスワード
4.3.2. ABOS Web のパスワード
4.3.3. Armadillo Twin のパスワード
4.4. 技術文書への記載
5. S1.1-03
5.1. ネットワークを介したユーザ認証機能をリストアップする
5.2. 使用しないユーザ認証機能の無効化
5.3. ユーザ認証に使用される認証値の変更を可能にする
5.3.1. 無線 LAN アクセスポイント
5.3.2. ABOS Web
5.3.3. Armadillo Twin
5.4. エンドユーザーが各認証値を変更する方法を技術文書に明記する
6. S1.1-04
6.1. ネットワークを介したユーザ認証機能をリストアップする
6.2. 使用しないユーザ認証機能の無効化
6.3. 総当たり攻撃への対策を行う
6.3.1. ABOS Web
6.3.2. Armadillo Twin
6.4. 実機テストによる評価
7. S1.1-05
7.1. アットマークテクノと IoT 製品ベンダーの責任分界点
7.2. 参考情報
8. S1.1-06
8.1. SWUpdate によるソフトウェアアップデート方法を理解する
8.1.1. SWU イメージのインストール方法
8.1.2. ABOS Web を使用した手動インストール
8.2. バージョン確認方法を理解する
8.2.1. CUI による確認
8.2.2. ABOS Web による確認
8.3. アップデート方法を決定する
8.3.1. ABOS Web 経由の SWUpdate の無効化
8.3.2. USB メモリまたは microSD カード 経由の SWUpdate の無効化
8.3.3. Armadillo Twin の無効化
8.3.4. ウェブサーバーによる自動アップデートの無効化
8.4. バージョンの確認方法を決定する
8.5. 実機テストによる評価
9. S1.1-07
9.1. アップデートの提供形態を決定する
9.1.1. SWU イメージを開発者が作成しエンドユーザーがインストールする
9.1.2. SWU イメージを開発者が作成し開発者がインストールする
9.2. エンドユーザーが簡単にアップデートできる方法を決定する
9.2.1. SWU イメージを開発者が作成しエンドユーザーがインストールする形態の場合
9.2.2. SWU イメージを開発者が作成し開発者がインストールする形態の場合
9.3. ユーザがアクセス可能な技術文書にアップデート手順を記載する
10. S1.1-08
10.1. ネットワーク経由でのアップデート方法を把握する
10.2. ABOS が提供するセキュアなアップデートメカニズム
10.2.1. SWUpdate のセキュアなアップデートメカニズム
10.2.2. 推奨されるアップデート方法
10.3. 開発者独自のアップデート方法を使用する場合の留意点
10.3.1. セキュリティ要件の実装
10.3.2. サポート対象外となることの理解
10.4. 技術文書への記載要件
10.4.1. SWUpdate による要件の満足
11. S1.1-09
11.1. 脆弱性情報の収集方法
11.1.1. SBOM スキャンツールを用いた脆弱性情報の収集
11.1.2. 継続的な SBOM スキャンによる脆弱性情報の収集
11.2. セキュリティアップデートの優先度の決定
11.3. アットマークテクノの方針
11.3.1. アットマークテクノの脆弱性情報の収集方法
11.3.2. アットマークテクノの脆弱性の分析方法
11.3.3. アットマークテクノの脆弱性に対する対応優先度
12. S1.1-10
12.1. 型番提供方法の選択
12.2. IoT製品に製品型番を表示させる方法
12.2.1. 物理的な製品型番の記載
12.3. GUIに製品型番を表示させる方法
12.3.1. ABOS Webでの型番表示
12.3.2. その他のGUIでの実装
12.4. 開発者自身で対処する場合
12.4.1. ソフトウェア的な型番識別方法
12.4.2. 実装時の考慮事項
12.5. 実機テストでの評価
13. S1.1-11
13.1. ストレージに保存する守るべき情報資産をリストアップする
13.1.1. 情報資産の分類
13.2. Armadillo における守るべき情報資産
13.3. リストアップした守るべき情報資産の保存先を確認する
13.3.1. Armadillo における標準的な保存先
13.4. Armadillo 上のストレージ以外にある守るべき情報資産の保護対策を確認する
13.4.1. 想定される脅威
13.4.2. セキュアな保存の実現方法
13.5. 技術文書に保護対策を明記する
13.5.1. 記載すべき内容
13.5.2. Armadillo を使用する場合の技術文書記載例
14. S1.1-12
14.1. ネットワーク伝送経路のリストアップ
14.2. 保護対策の確認
14.2.1. Armadillo での実装
14.2.2. 開発したアプリケーションでの実装
14.2.3. SE050 による暗号化の利点
14.3. 技術文書への明記
15. S1.1-13
15.1. TCP/UDP ポートの確認と管理
15.1.1. ABOS がデフォルトで開放しているポート
15.1.2. 開発した IoT 製品でのポート管理
15.1.3. nmap を使用したポート確認
15.2. HTTP/HTTPS プロトコルの脆弱性テスト
15.3. Bluetooth プロファイルの確認と管理
15.3.1. ABOS における Bluetooth プロファイル
15.4. USB デバイスクラスの確認と管理
15.4.1. USB 接続制御機能
15.4.2. 標準状態の ABOS において接続を許可する USB デバイス
15.4.3. ABOS Web を使用した USB 接続制御機能の設定確認
15.4.4. USB デバイスの接続拒否手順
15.4.5. USB デバイスクラス単位での接続許可・拒否
15.4.6. 特定の USB デバイスクラスの接続を許可する
15.4.7. 特定の USB デバイスクラスの接続を拒否する
15.4.8. IoT 機器に必要な USB デバイスのみを許可する
15.5. 技術文書への記載要件
16. S1.1-14
16.1. 変更可能な認証値をリストアップする
16.2. ソフトウェアのアップデート情報の確認方法
16.3. 再起動時にファイルが削除されないためのTIPS
16.3.1. ルートファイルシステム設定変更
16.3.2. コンテナでの注意事項
16.4. 実機テストを行う
17. S1.1-15
17.1. 製品内の削除すべきデータを定義する
17.2. Armadillo 内の指定したデータを削除する方法
17.2.1. ユーザーデータ削除機能の削除レベル
17.3. ABOSにおけるユーザーデータの保存場所
17.4. アプリケーションからユーザーデータ削除機能を利用する
18. S1.1-16
18.1. 参考情報
19. チェックリストと申請書を作成する
19.1. 申請書: IoT 製品の関連企業について
図目次
3.1.
ABOS Web を停止する
3.2.
/etc/atmark/abos_web/init.conf の作成例
3.3.
パスワード登録画面
4.1.
sshd の無効化
4.2.
ABOS Web のパスワードリセット
5.1.
ABOS Web のパスワード変更画面
5.2.
ABOS Web のREST API 用トークンの削除・追加
5.3.
Armadillo Twin の REST API トークンを取得するコマンド
8.1.
SWU インストール
8.2.
SWU 管理対象ソフトウェアコンポーネントの一覧表示
8.3.
ABOSDE で Armadillo に SWU をインストール
8.4.
SWU 管理対象ソフトウェアコンポーネントの一覧表示
8.5.
ABOS Web の設定管理
8.6.
ABOS Web の SWU インストールの無効化
8.7.
USB メモリまたは microSD カードによる SWUpdate の無効化
8.8.
Armadillo Twin の無効化
8.9.
swupdate-url サービスの無効化
11.1.
OSV-Scanner を用いて SBOM をスキャンする
12.1.
「製品型番」欄
12.2.
製品型番の表示例
13.1.
plug-and-trust.confファイルの作成
13.2.
alpine コンテナのインストール
13.3.
コンテナの起動
13.4.
必要パッケージのインストール
13.5.
環境変数の設定
13.6.
SE050 動作確認
13.7.
RSA 鍵ペア生成(3072 ビット、128 ビットセキュリティ)
13.8.
秘密鍵の SE050 登録と削除
13.9.
参照鍵の生成
13.10.
公開鍵による暗号化
13.11.
SE050 秘密鍵による復号
15.1.
avahi-daemon を停止する
15.2.
nmap のインストール
15.3.
TCP ポートの確認
15.4.
UDP ポートの確認
15.5.
USB 接続制御画面
15.6.
許可済みの USB デバイスルールを選択
15.7.
許可ルールを削除する
15.8.
許可済みの USB デバイスクラス一覧
15.9.
USB デバイスクラスの追加
16.1.
オーバーレイファイルシステムの更新
表目次
1.1.
使用しているフォント
1.2.
表示プロンプトと実行環境の関係
1.3.
コマンド入力例での省略表記
2.1.
用語説明
15.1.
ABOS のデフォルト開放ポート
16.1.
電源を切っても保持されるディレクトリ(ユーザーデータディレクトリ)
17.1.
ABOSにおけるユーザーデータの推奨保存場所