SC Workbook
科目 A-1 · セキュリティ

コード署名の目的

ソフトウェアの配布に用いられるコード署名の目的として,適切なものはどれか。

  1. アソフトウェアを暗号化し,正規の利用者以外が実行できないようにする。
  2. イソフトウェアを隔離された環境で実行してその挙動を監視し,不正な動作を検知する。
  3. ウソフトウェアの発行元を確認し,配布後に改ざんされていないことを検証できるようにする。
  4. エソフトウェアに脆弱性が含まれていないことを,第三者機関が検査して保証する。
正解と解説を見る

正解 ウ

この問題の基礎知識

  • デジタル署名は,送信者が自らの秘密鍵でデータのハッシュ値に署名し,受信者が送信者の公開鍵で検証することで,データの完全性と発信元を確認する仕組みである。
  • 署名の検証に使う公開鍵が確かに発行元のものであることは,認証局(CA)が発行する証明書によって保証される。
  • デジタル署名は,内容を秘匿する機密性や,署名されたソフトウェアが安全である(脆弱性や悪意のあるコードを含まない)ことは保証しない。
  • サンドボックスは,隔離された環境でプログラムを実行し,その挙動を観察したり影響を閉じ込めたりする仕組みである。
アソフトウェアを暗号化し,正規の利用者以外が実行できないようにする。

ソフトウェアを暗号化して実行を制限するのは,機密性の確保やコピー防止の仕組みである。コード署名はソフトウェアを暗号化せず,署名を付与して検証できるようにするものである。

イソフトウェアを隔離された環境で実行してその挙動を監視し,不正な動作を検知する。

隔離された環境で実行して挙動を監視するのは,サンドボックスによる動的解析である。コード署名は実行時の挙動を監視しない。

ウソフトウェアの発行元を確認し,配布後に改ざんされていないことを検証できるようにする。正解

コード署名では,発行元が自らの秘密鍵でソフトウェアのハッシュ値に署名し,コード署名用の証明書とともに配布する。利用者は署名を検証して,発行元の確認と改ざんの有無の検知ができる。

エソフトウェアに脆弱性が含まれていないことを,第三者機関が検査して保証する。

コード署名が保証するのは発行元と完全性であり,ソフトウェアに脆弱性や悪意のあるコードが含まれていないことは保証しない。正規の署名が付いたマルウェアの事例もある。

検証用の出典出典照合済み
NIST Cybersecurity White Paper, Security Considerations for Code Signing (2018)
照合の根拠(2 件)
問題 ID A1-SEC-0104 · AI 作成のオリジナル問題 · 正解と各選択肢の根拠を出典の原文で確認しています。 照合日 2026-11-07

非公式の学習用アプリです(IPA とは関係ありません)。問題はすべて AI が作成したオリジナルで、誤りを含む場合があります。