組み込みソフトウェア更新のセキュリティ設計
- ダウンロード商品¥ 1,000











[本書は電子書籍です。紙での配送はありません。] 2026/4/11 (土) 〜2026/4/26(日)まで開催された技術書典20で配布した新刊です。技術書典公式ページでも配布しています。 電子書籍版に関する不備、感想、質問など、問い合わせ先:electric.sheep.box [at mark] gmail.com
概要
本書のテーマは「暗号アルゴリズムの理論」ではなく、どの暗号技術をいつ使うか、です。 「限られたCPU・RAM・Flashの中で、何を、どんな技術で、どこまで守るか」をどう判断すればよいか、暗号理論はわかっていても、実際にハードウェアに実装する上では、迷うことが多いのではないでしょうか。 本書を通じて、どんな暗号をいつ使えば要件を満たせるか、が判断できるようになります。 具体的な暗号技術の応用事例として、ソフトウェア更新を例として用います。 そもそもソフトウェア更新にはどのような設計パターンがあるのか、を説明した上で、どのようなセキュリティ対策を入れれば良いのか、秘匿性/完全性/リプレイ/通信路/配布先限定/鍵管理の6観点を通じて、設計判断軸を示します。 「とりあえず暗号化」から脱却し、製品要件に合ったセキュリティ設計へ進みたい開発者向けの内容です。
■目次
第2 章 組み込みソフトウェアの基礎 2.1 ハードウェア制約が暗号設計を難しくする 2.1.1 組み込みソフトウェアの起動 2.1.2 組み込みソフトウェアのアップデート 2.2 ソフトウェア更新のセキュリティ要件 第3 章 組み込みソフトウェア更新のセキュリティ 3.1 秘匿性の確保 3.1.1 ハードウェア制約と暗号化実装の課題 3.2 完全性・真正性の確保 3.2.1 暗号化は完全性を保証しない. 3.2.2 暗号化は作成者を保証しない. 3.3 リプレイ・ダウングレード攻撃対策. 3.3.1 2 種類の攻撃の違い. 3.3.2 バージョンの単調増加による対策. 3.3.3 通信路でのリプレイ対策 3.4 通信経路の保護 3.4.1 TLS は万能の解決策ではない 3.4.2 証明書よりも事前共有鍵の方が管理が楽な場合もある 3.5 配布先の限定. 3.5.1 要件整理と基本方針 3.5.2 配布先限定の実装パターン 3.5.3 比較と選定の考え方 3.6 鍵・証明書の管理 3.6.1 各鍵・証明書の特性と課題. 3.6.2 安全な格納場所がない機器での対処 3.6.3 KDF による機体固有鍵の導出 3.6.4 製品シリーズ共通鍵の製造時書き込み 第4 章 セキュリティの現実的な到達点
■対象とする読者
組み込み機器のソフトウェア更新を実務として設計・実装・レビューする人を主な対象としています。 * 組み込みソフトウェア開発の基礎があり、ログ確認、ビルド、書き込み作業に経験がある人 * ブートローダ、ストレージ、RAM/Flash制約、A/B更新やリカバリの概念を大まかに理解している人 * AES、HMAC、電子署名、TLS などの用語を見たことがあり、厳密な数式より設計上の意味を知りたい人 * 「Firmware(FW)を暗号化すべきか」「署名だけでよいか」「鍵をどこに置くか」といった判断軸を整理したい人 * TrustZone などの責務分離を含め、鍵管理の実装イメージを掴みたい人 逆に、次のような事柄を期待する人にはあまり向きません。 * 組み込み機器の起動、更新、ストレージ書き換えの前提知識がまったくない人 * 暗号理論、証明、安全性定義を体系的に学ぶ教科書を求めている人 * 特定ミドルウェアのAPIリファレンスや手順だけを短く知りたい人
技術書典公式ページ
https://techbookfest.org/product/uCQQ6e7a5eP8ndKNAzjH4g?productVariantID=4m9FDDyTMwy9bqExvvVt19










