S1.1-08

S1.1-08 では、ソフトウェアをネットワーク経由でアップデートする際、ソフトウェアの完全性をアップデート前に確認できる仕組みを有することを要求しています。

これは、アップデートで書き込むデータが改ざんされていないこと、および通信中に情報が盗聴されないことを保証するためです。

10.1. ネットワーク経由でのアップデート方法を把握する

まず、システムで使用するソフトウェアアップデート方法をリストアップし、その中からネットワーク経由でアップデートする方法を抽出する必要があります。

8章S1.1-06 で説明した SWUpdate によるアップデート方法のうち、ネットワーク経由でのアップデート方法は以下の通りです。

  • ABOS Web を使用した手動インストール
  • Armadillo Twin を使用した自動インストール
  • ウェブサーバーからの定期的な自動インストール(swupdate-url サービス)

これらの方法は、いずれもネットワークインタフェースを介してソフトウェアアップデートが配信されるため、S1.1-08 の要件対象となります。

10.2. ABOS が提供するセキュアなアップデートメカニズム

10.2.1. SWUpdate のセキュアなアップデートメカニズム

アットマークテクノが提供する ABOS では、SWUpdate を使用してセキュアなソフトウェアアップデートを実現しています。

SWUpdate は、以下のセキュリティ機能を提供します。

10.2.1.1. デジタル署名による真正性・完全性検証

SWUpdate は、SWU イメージに付与された ECDSA デジタル署名を使用して、アップデートソフトウェアイメージの真正性および完全性を検証します。

アップデートソフトウェアをインストールする前に、更新ソフトウェアに付与された ECDSA デジタル署名による検証を行い、検証の結果、検証に失敗した場合にはインストールを中止します。

10.2.1.2. ハッシュ値による完全性確認

SWUpdate は、SWU イメージ内の各コンポーネントに対して SHA-256 ハッシュ値を使用した完全性確認を実行します。

アップデートソフトウェアをインストールする前またはインストール中に、更新ソフトウェアに付与された SHA-256 ハッシュ値との照合を行い、照合の結果、不一致が確認された場合にはインストールを中止します。

10.2.1.3. 暗号化による機密性保護

SWUpdate は、SWU イメージの暗号化に AES-256-CBC を使用して、アップデートデータの機密性を保護します。

これにより、ネットワーク経由でのアップデート時に、第三者による盗聴からアップデートデータを保護します。

10.2.1.4. 「電子政府推奨暗号リスト」の準拠

SWUpdate で使用するハッシュ関数やデジタル署名は、「電子政府における調達のために参照すべき暗号のリスト(CRYPTREC暗号リスト)」のうち「電子政府推奨暗号リスト」に記載されたアルゴリズムを利用しています。

これにより、ベストプラクティスの暗号技術を使用したセキュアなアップデートメカニズムを実現しています。

10.2.2. 推奨されるアップデート方法

特殊な事情がない限り、ネットワーク経由でのソフトウェアアップデートには SWUpdate の使用を強く推奨します。

SWUpdate は、セキュアなアップデートメカニズムを容易にするために必要な暗号技術とプロトコルを実装しており、信頼関係を介して各アップデートの真正性および完全性を検証できます。

10.3. 開発者独自のアップデート方法を使用する場合の留意点

開発者が独自のソフトウェアアップデート方法を実装する場合、以下の点に留意してください。

10.3.1. セキュリティ要件の実装

独自のアップデート方法では、以下のセキュリティ要件を満たす必要があります。

  • アップデートソフトウェアの完全性をアップデート前に確認する仕組み
  • デジタル署名またはハッシュ値による検証機能
  • 検証失敗時のインストール中止機能
  • CRYPTREC暗号リストに記載された暗号アルゴリズムの使用

10.3.2. サポート対象外となることの理解

開発者独自のアップデート方法を使用する場合、そのアップデートメカニズムに関する問題や脆弱性については、アットマークテクノのサポート対象外となります。

開発者は、独自のアップデートメカニズムのセキュリティ評価、脆弱性対応、および継続的なセキュリティ維持を自身の責任で行う必要があります。

10.4. 技術文書への記載要件

S1.1-08 の要件を満たすため、技術文書には以下の評価項目を満たす内容を明示する必要があります。

評価項目 1~4 のいずれかに類する仕組み、かつ評価項目 5 を満たすことが適合の条件となります。

10.4.1. SWUpdate による要件の満足

SWUpdate を使用する場合、以下により上記の評価項目を満たすことができます。

  • 評価項目 1 を満足: SHA-256 ハッシュ値による完全性確認の実装
  • 評価項目 2 を満足: ECDSA デジタル署名による検証の実装
  • 評価項目 5 を満足: SHA-256 および ECDSA は CRYPTREC暗号リストの電子政府推奨暗号リストに記載されたアルゴリズム