基本情報技術者 2014年 秋期 午前(科目A) 問43
問題文
HTTPS(HTTP over SSL/TLS)の機能を用いて実現できるものはどれか。
選択肢
ア:SQLインジェクションによるWebサーバへの攻撃を防ぐ。
イ:TCPポート80番と443番以外の通信を遮断する。
ウ:Webサーバとブラウザの間の通信を暗号化する。(正解)
エ:Webサーバへの不正なアクセスをネットワーク層でのパケットフィルタリングによって制限する。
HTTPS(HTTP over SSL/TLS)の機能【午前2 解説】
要点まとめ
- 結論: HTTPSはWebサーバとブラウザ間の通信を暗号化する。根拠: TLSが機密性と完全性を提供する。差がつくポイント: 証明書でサーバを認証する仕組みを理解すること。
- 結論: HTTPSはSQLインジェクションやポート遮断、ネットワーク層のフィルタを行わない。根拠: これらはアプリケーション層やネットワーク機器の機能でありTLSの役割外。差がつくポイント: 攻撃防止はWAFやFWなど別技術であると区別する。
- 結論: TLSの安全性は実装と設定に依存する。根拠: 暗号スイートやプロトコルバージョンで強度が変わる。差がつくポイント: TLS1.2/1.3や強い暗号の採用、証明書の正当性確認が重要。
正解の理由
ウ(Webサーバとブラウザの間の通信を暗号化する)は正解です。HTTPSはHTTPをTLS/SSLで保護したもので、通信内容を暗号化して盗聴や改ざんの防止(機密性・完全性)とサーバ証明書による認証を提供します。これにより中間者攻撃(MITM)やパケットの平文解析を防げます。
よくある誤解
- 「HTTPSでSQLインジェクションが防げる」と考える誤解: HTTPSは通信経路を保護するのみで、入力検証やプリペアドステートメントなどアプリ側の対策が別途必要です。
- 「ポート443を閉じればHTTPSの代わりになる」との誤解: ポート制御は接続可否の管理であり、暗号化そのものや証明書検証の代替にはなりません。
- 「HTTPSはすべての攻撃を防ぐ万能策」ではない点: サイトの脆弱性やサーバの設定ミス、証明書の不正利用など別のリスクが存在します。
解法ステップ
- 問題文で要求されているのは「HTTPSの機能」かを確認する(機能=暗号化・認証・完全性)。
- 各選択肢がTLS/SSLの役割に該当するかを判断する(暗号化や証明書検証なら該当)。
- アプリ層の脆弱性対策やネットワーク層の制御はHTTPSの機能外と切り分ける。
- 最も該当する選択肢を選ぶ(通信暗号化を示すものが正答)。
選択肢別の誤答解説
-
ア: SQLインジェクションによるWebサーバへの攻撃を防ぐ。
誤り。SQLインジェクションは入力の不適切処理が原因であり、HTTPSは通信の暗号化を行うだけでアプリケーション層の脆弱性を修正しません。防御には入力検証やパラメータ化クエリ、WAFなどが必要です。 -
イ: TCPポート80番と443番以外の通信を遮断する。
誤り。ポート遮断はファイアウォールなどネットワーク機器の機能であり、HTTPS自体がポート制御を行うものではありません。HTTPSは通常443番ポートを使いますが、ポート制御機能は持ちません。 -
ウ: Webサーバとブラウザの間の通信を暗号化する。
正解。HTTPSはHTTPにTLS/SSLを組み合わせ、通信内容を暗号化して盗聴・改ざんを防ぎ、証明書によりサーバの認証も行います。 -
エ: Webサーバへの不正なアクセスをネットワーク層でのパケットフィルタリングによって制限する。
誤り。パケットフィルタリングはルータやファイアウォールの機能です。HTTPSは暗号化と認証を提供しますが、ネットワーク層のアクセス制御は別技術です。
補足コラム
- HTTPSの主な機能は「機密性(暗号化)」「完全性(改ざん検知)」「認証(証明書による)」の3点です。
- TLSのバージョン(例: TLS1.2, TLS1.3)や選択する暗号スイート、証明書の信頼チェーンや失効確認(CRL/OCSP)が実運用での安全性を左右します。
- HTTPSは通信経路を保護しますが、サーバ内部の脆弱性(SQLi、XSS)、設定ミス、不正な証明書発行には別途対策が必要です。WAFや定期的な脆弱性診断を組み合わせる運用が推奨されます。
- 検査上の注意点: ブラウザの証明書警告やHSTS(HTTP Strict Transport Security)の有無は、ユーザ保護の観点で重要な確認ポイントです。
FAQ
Q1: HTTPSとSSL/TLSは同じですか?
A1: 正確にはHTTPSは「HTTP over TLS/SSL」で、TLSが現行の安全プロトコルです。古いSSLは廃止されつつあり、TLS1.2/1.3を使うのが一般的です。
A1: 正確にはHTTPSは「HTTP over TLS/SSL」で、TLSが現行の安全プロトコルです。古いSSLは廃止されつつあり、TLS1.2/1.3を使うのが一般的です。
Q2: HTTPSがあればすべての攻撃から守れる?
A2: いいえ。通信の盗聴や改ざんからは守れますが、SQLインジェクションやサーバ設定ミス、認証情報の漏洩などは別対策が必要です。
A2: いいえ。通信の盗聴や改ざんからは守れますが、SQLインジェクションやサーバ設定ミス、認証情報の漏洩などは別対策が必要です。
Q3: HTTPSは必ずポート443を使わないといけない?
A3: 慣習的にはポート443ですが、別ポートでもTLSを使えばHTTPSとして動作します。ただし標準以外は設定やファイアウォールの調整が必要です。
A3: 慣習的にはポート443ですが、別ポートでもTLSを使えばHTTPSとして動作します。ただし標準以外は設定やファイアウォールの調整が必要です。
関連キーワード: HTTPS, SSL, TLS, 暗号化, 証明書, サーバ認証, ポート443, HSTS, WAF, ファイアウォール, SQLインジェクション, パケットフィルタリング, 完全性, 中間者攻撃, TLS1.2, TLS1.3

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

