令和6年度 ITパスポート試験 公開問題 問77 解説 デジタル署名の役割
出所が不明のプログラムファイルの使用を避けるために,その発行元を調べたい。 このときに確認する情報として,適切なものはどれか。
- そのプログラムファイルのアクセス権
- そのプログラムファイルの所有者情報
- そのプログラムファイルのデジタル署名 ✓ 正答
- そのプログラムファイルのハッシュ値
解説
プログラムファイルの正当性を証明する「身分証明書」のような仕組みがあるかどうかを判断基準にします。発行元の身元が保証されており、かつ内容が改ざんされていないことを確認する技術こそが正解です。
デジタル署名が解決する課題
デジタル署名は、インターネット上の通信やプログラムの配布において、送り主の正当性を証明するために用いられる電子的な署名です。
この技術には主に二つの役割があります。一つは本人確認(認証)です。発行元が作成した秘密鍵を使って署名することで、そのファイルが間違いなく本人が発行したものであることを証明します。もう一つは非改ざん性の保証です。もしファイルが配布の途中で悪意ある第三者によって中身を書き換えられた場合、デジタル署名との整合性が取れなくなり、検知が可能になります。
出所が不明なプログラムには、このデジタル署名が付与されていないか、署名が無効であるケースがほとんどです。そのため、ファイルのプロパティ等からデジタル署名の情報を確認することで、信頼できる発行元かどうかを判断できます。
その他の選択肢が不適切な理由
選択肢を整理すると、なぜデジタル署名以外が答えにならないのかが明確になります。
アのアクセス権は、そのファイルを「誰が読み書き・実行できるか」というコンピュータ内部の管理設定です。これはセキュリティポリシーには関わりますが、ファイルの出自を証明するものではありません。
イの所有者情報は、OSがファイルシステム上で管理している「誰が作成したか」という記録ですが、これは書き換えや偽装が容易です。誰かが作ったコピーファイルであれば、所有者は「コピーした人」に変わってしまうため、発行元の特定には不向きです。
エのハッシュ値は、ファイルの内容から計算される特定の短いデータです。これを用いると「ファイルが改ざんされていないか」を確認することはできます。しかし、ハッシュ値単体では「そのハッシュ値が本来の正しい値であること」を証明する手段がありません。デジタル署名の中にハッシュ値が埋め込まれていることで初めて、正しい発行元による正しいファイルであると確信できるのです。
セキュリティの信頼チェーンを理解する
この問題が意図しているのは、現代のソフトウェア配布における「信頼の仕組み」を理解することです。OSやブラウザがインターネットからダウンロードしたプログラムを実行する際、警告画面が出ることがあります。あれはOSがデジタル署名を検証した結果、身元が不明である(あるいは証明書の期限が切れている)と判断しているために起こります。
実務においては、業務で使用するアプリケーションのアップデートや、外部から調達したツールの安全性を確認する際に、このデジタル署名のチェックが欠かせません。ITパスポートで問われるのは、単なる暗記ではなく、デジタル技術が「誰のどのような身元保証を担っているか」という本質の理解です。