基本情報技術者 2013年 春期 午前(科目A) 問44
問題文
HTTPSを用いて実現できるものはどれか。
選択肢
ア:Webサーバ上のファイルの改ざん検知
イ:クライアント上のウイルス検査
ウ:クライアントに対する侵入検知
エ:電子証明書によるサーバ認証(正解)
🔒 解説は解答すると表示されます
電子証明書によるサーバ認証【午前解説】
正解の理由
HTTPS(HTTP over TLS)は、通信路の暗号化とともに「サーバの身元確認」を実現する仕組みです。サーバは公開鍵に対応する電子証明書を提示し、クライアントはその証明書の有効性(署名によるチェーン検証、期限、失効状況など)と証明書に含まれるホスト名情報(SubjectAltName、必要に応じてCommonNameの照合)を照合することで、接続先が期待する正当なサーバかどうかを確かめます。したがって、提示された選択肢のうち正しく実現される機能は エ(電子証明書によるサーバ認証)です。
※注意:SNI(Server Name Indication)はクライアントが接続先のホスト名をサーバに通知するためのTLS拡張であり、証明書検証そのもの(ホスト名照合)には用いられません。ホスト名照合は証明書のSubjectAltName(または古いケースでCommonName)と行います。
解法ステップ
- 問題が問う機能が「通信プロトコル(HTTPS/TLS)が提供するものか」を確認する。
- TLSの主な機能(機密性:暗号化、完全性:改ざん検出、認証:サーバ証明書による)を列挙する。
- 各選択肢をTLSの機能と照合し、該当するか否かを判定する。
- サーバ認証は証明書で行う → 該当(エ)。
- ファイル改ざん検知やクライアント側ウイルス検査、クライアントに対する侵入検知はプロトコル自体の機能ではない → 否。
選択肢別の誤答解説
-
ア: Webサーバ上のファイルの改ざん検知
- 誤り。HTTPSは「通信経路上のデータの改ざん検出」を保障しますが、サーバ上に保存されたファイルが改ざんされたかどうかを検知する機能は持ちません。サーバ内ファイルの整合性検査は別途ハッシュ比較やIDS/ファイル監査ツールが必要です。
-
イ: クライアント上のウイルス検査
- 誤り。ウイルススキャンはエンドポイントのローカル処理であり、HTTPS/TLSにそのような機能はありません。HTTPSは通信の暗号化と認証を提供するのみです。
-
ウ: クライアントに対する侵入検知
- 誤り。侵入検知(IDS/IPS)はネットワーク監視やホストベースのセキュリティ製品の役割であり、HTTPS自体はその検出機能を提供しません。むしろ暗号化により中間での検知が難しくなる点に注意が必要です。
-
エ: 電子証明書によるサーバ認証
- 正しい。TLSで使用するX.509証明書によりサーバの公開鍵とドメイン名等を結び付け、証明書チェーンや署名、失効情報、ホスト名照合によりサーバ認証を行います。
よくある誤解
-
SNIで証明書の検証ができるという誤解
- SNIはクライアントが接続先ホスト名をサーバに知らせるための拡張であり、証明書の検証対象(ホスト名照合)は証明書内のSubjectAltName/CNと比較して行います。SNIはホスティング環境で正しい証明書を選ばせるために使われるに過ぎません。
-
HTTPSでサーバが安全なら内部コンテンツも安全という誤解
- HTTPSは通信の安全性を高めますが、サーバ自体が既に侵害されている場合や保存データが改ざんされている場合、その問題は解決されません。保存時の整合性やサーバの脆弱性対策は別途必要です。
-
暗号化されていれば中身を完全に検査できるという誤解
- 暗号化は盗聴を防ぎますが、ネットワーク機器での中間検査(例:IDSでペイロードを解析)を難しくします。組織で中間解読(TLS終端)を行う場合は適切なポリシーと法的・プライバシー配慮が必要です。
補足コラム
証明書検証の具体的なチェック項目は通常次のとおりです。
- 証明書チェーンの検証(署名者が信頼されたCAか)
- 有効期間(開始日・終了日)の確認
- 失効確認(CRLやOCSPによる)
- ホスト名照合(アクセス先のホスト名と証明書のSubjectAltName、必要によりCommonNameを照合)
SNIはClientHelloで送るホスト名をサーバに伝えるため、仮想ホスティング環境でサーバが適切な証明書を選択するのに使われますが、証明書の「検証」には使いません。また、HTTPSは通常サーバ認証を行いますが、オプションでクライアント認証(相互TLS)も可能です。
FAQ
Q: HTTPSで接続先が本当に正しいサーバかどうかは必ず保証されますか?
A: 証明書が正しく検証されていれば高い確度で保証されますが、信頼されたCAの管理や秘密鍵の漏洩、偽装CAの問題などがあるため運用面での対策も必要です。
A: 証明書が正しく検証されていれば高い確度で保証されますが、信頼されたCAの管理や秘密鍵の漏洩、偽装CAの問題などがあるため運用面での対策も必要です。
Q: SNIによりプライバシーは漏れることがありますか?
A: はい。SNIで送るホスト名は暗号化されないため、通信相手が見れば接続先のホスト名を知ることができます。TLS 1.3ではEncrypted Client Hello(ECH)などの対策も提案されていますが、普及状況に依存します。
A: はい。SNIで送るホスト名は暗号化されないため、通信相手が見れば接続先のホスト名を知ることができます。TLS 1.3ではEncrypted Client Hello(ECH)などの対策も提案されていますが、普及状況に依存します。
Q: 証明書に書かれたホスト名が一致しない場合はどうなりますか?
A: クライアントは通常警告を出し、接続を拒否します。開発環境などで自己署名証明書を使う場合は明示的に信頼する設定を行う必要があります。
A: クライアントは通常警告を出し、接続を拒否します。開発環境などで自己署名証明書を使う場合は明示的に信頼する設定を行う必要があります。
関連キーワード: HTTPS, TLS, 電子証明書, サーバ認証, SubjectAltName, CommonName, SNI, OCSP, CRL, 暗号化, 完全性, 証明書チェーン

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

