セキュリティ
コードサイニング(コード署名)に関する記述として、最も適切なものはどれか。
ア.ソフトウェアのソースコードを難読化し、リバースエンジニアリングによる解析を困難にする技術。
イ.ソフトウェア開発者がプログラムに電子署名を付与することで、配布後の改ざんを検出し開発元の正当性を証明する技術。正解
ウ.開発者の秘密鍵で暗号化されたコードを配布し、利用者が復号して実行することでウイルス感染を防ぐ技術。
エ.コードの品質を担保するために、自動テストを実行してバグがないことを確認し証明書を発行する技術。
解説
コードサイニングは「ソフトウェアへの公式封印シール」。開封済みシールがあれば偽造品か改ざん品とすぐわかり、正規品かどうかを誰でも確認できます。
なぜ イ が正解か
イが正解。コードサイニングは開発者が秘密鍵でコードのハッシュ値に電子署名を付与し配布する技術。利用者は開発者の公開鍵で署名を検証し、「このソフトは本物のXX社が作り、配布後に改ざんされていない」と確認できる。コード自体を暗号化・復号する技術ではなく、署名による真正性・完全性の証明が目的。
出典: AI生成問題(学習用)