ディジタル署名の検証で何が分かるのか
基本情報技術者試験 平成30年度秋期 午前 問36 / セキュリティ › 情報セキュリティ
過去問にチャレンジ
アプリケーションソフトウェアにディジタル署名を施す目的はどれか。
- ア
アプリケーションソフトウェアの改ざんを利用者が検知できるようにする。
- イ
アプリケーションソフトウェアの使用を特定の利用者に制限する。
- ウ
アプリケーションソフトウェアの著作権が作成者にあることを証明する。
- エ
アプリケーションソフトウェアの利用者による修正や改変を不可能にする。
会話形式の解説
講師この問題では、署名を検証すると何を確かめられるかに注目します。内容の変更を見つける働きと、変更そのものを防ぐ働きを分けて考えてみましょう。
受験者署名が付いていれば、ソフトウェアを改変できなくなると思いました。
講師改変すること自体は可能です。ただし、署名後に内容が変わると、元の署名の検証は通らなくなります。
受験者変更を防ぐのではなく、変更があったと利用者が気付けるのですね。
講師そのとおりです。だから、改ざんを利用者が検知できるようにする、という選択肢が正解です。
受験者では、特定の利用者だけが使えるようにする、という選択肢はどうですか。
講師署名の検証では使用者を制限できません。そのためには利用者の認証や利用権限の管理が必要です。
受験者署名者に関する情報を確認できるなら、著作権が作成者にあることも証明できそうです。
講師署名者に関する情報と、著作権が誰にあるかは別です。署名が有効というだけでは、著作権の帰属は証明できません。
受験者整理すると、改ざんの検知が目的で、利用者の制限、著作権の証明、改変の防止は当てはまらないのですね。
講師はい。検証には署名者の公開鍵を使います。検証が通らなくても、変更箇所の特定や元の内容への復元はできません。また、署名が有効でもソフトウェア自体の安全性までは保証されません。
まとめ
ディジタル署名は、署名後にソフトウェアの内容が変わったことを利用者が検知するために使えます。署名があっても、改変そのものを防いだり、使用できる利用者を制限したりはできません。署名の有効性だけで著作権の帰属やソフトウェア自体の安全性も証明できません。
解答・解説
正解はアです
この問題のテーマ
アプリケーションソフトウェアにディジタル署名を付ける目的を問う問題です。
解き方の考え方
ディジタル署名では、利用者が署名を検証し、署名後にソフトウェアの内容が変わっていないかを確かめられます。各選択肢が述べる働きが、内容の確認なのか、利用者の制限や改変の防止なのかを区別して判断します。
選択肢ごとの解説
- ○ア アプリケーションソフトウェアの改ざんを利用者が検知できるようにする。アの改ざん検知は、ディジタル署名の目的に合っています。署名された内容が後から変われば検証が通らなくなるため、利用者は変更があったことに気付けます。
- ×イ アプリケーションソフトウェアの使用を特定の利用者に制限する。イの特定の利用者だけに使わせるという働きは、署名の検証からは得られません。使用者を制限するには、利用者の認証や利用権限の管理が必要です。
- ×ウ アプリケーションソフトウェアの著作権が作成者にあることを証明する。ウの著作権の帰属は、署名が有効かどうかだけでは証明できません。署名から確認できる署名者に関する情報と、誰に著作権があるかは別の問題です。
- ×エ アプリケーションソフトウェアの利用者による修正や改変を不可能にする。エの修正や改変を不可能にするという説明は、検知と防止を取り違えています。署名後の内容を変えること自体は可能ですが、変更後は元の署名を正常に検証できません。
POINT
- 署名を検証する側は、署名者の公開鍵を用います。
- 署名の検証は、変更があった場合にその箇所を特定したり、元の内容に戻したりする機能ではありません。
- 署名が有効でも、ソフトウェア自体の安全性まで保証されるわけではありません。
