いまさら聞けない「HTTP」はなぜ危険なのか?:HTTPとHTTPSの違い【前編】
日常の生活にインターネットは欠かせない。Webとの通信に用いるHTTPは近年、セキュリティ上の懸念からHTTPSに置き換わっている。HTTPがどのような仕組みなのか、基礎から確認しよう。
休日のショッピングからスポーツ観戦、テレワークに至るまでWebブラウザとWebサーバは重要な人々の生活において役割を果たしている。そのWeb通信は、比較的古い通信規格である「HTTP」(Hypertext Transfer Protocol)を基盤としている。近年、Web通信はHTTPより安全な「HTTPS」(Hypertext Transfer Protocol Secure)に置き換わっている。
われわれにとって身近なHTTPとHTTPSだが、その仕組みやHTTPの危険性を理解している人は限られている。まずは基本的なHTTPの仕組みとリスクを学ぼう。
HTTPはどのように通信する?
HTTPとHTTPSは、WebブラウザとWebサーバの間で情報をやりとりするためのプロトコルだ。HTTPとHTTPSの違いを学ぶ前に、まずWeb接続の仕組みを確認しよう。
Webサーバは、Webブラウザなどのクライアントからのリクエストに応じてレスポンスを返す。このレスポンスには例えばHTMLやJPEG形式のファイルが含まれている。これらのファイルをユーザーに分かりやすく表示するのはWebブラウザの仕事だ。
HTTPはこのリクエストを受けてレスポンスを返す一連の手順を、より厳密に定めた規格だ。HTTPでは、クライアントがWebサーバからデータを取得する際に「GET」と呼ばれるリクエストメソッド(方式)でWebサーバにリクエストを送る。GETはWebサーバからデータを取得するためのメソッドで、Webページの表示や画像の取得などで用いられる。WebブラウザからWebサーバへ、ログイン情報などのデータを送信する時は「POST」というメソッドを用いる。
HTTPによる通信時は、データは暗号化されておらず、以下のセキュリティにおける重要な概念を満たせない可能性がある。
- 機密性
- 許可されたユーザーだけが情報にアクセスできること
- 完全性
- 情報が改ざんされないこと
- 真正性
- 通信相手が本当に正しい相手であることを保証すること
HTTPはこれらの重要なセキュリティの要素を満たしていないが、HTTPSは満たしている。これが2つのプロトコルの違いの出発点だ。
HTTPはどのように機能するか
HTTPはファイルをやりとりするためのルールであり、ファイルの中身はマークアップ言語の「HTML」というフォーマットで記述することで、Webブラウザで画像やテキストを表示できる。
Webサービスの黎明期は、ユーザーの主な用途はWebページの閲覧のみだったため、セキュリティの懸念はそれほどなかった。現在はさまざまなセキュリティの懸念が存在するため、HTTPによる平文のデータ送信がブラウジングに適さなくなっている。具体的に、HTTPによるブラウジングには以下のリスクがある。
- サーバ認証の不足
- HTTPではWebサーバを認証しないため、ユーザーが誤って偽のWebサーバにアクセスして、悪意のあるファイルをダウンロードする可能性がある
- ファイルの傍受
- 悪意のある攻撃者が、ユーザーがWebサイトから受け取ったファイルを傍受する可能性があり、これによってユーザーのプライバシーが侵害される
- Webサイトの改ざん
- 悪意のある攻撃者が、傍受した内容を基にWebサイトおよびWebサイトを構成するファイルを改ざんする可能性があり、これによってユーザーが偽情報や悪意あるスクリプトをダウンロードするリスクがある
- GETリクエストによるデータ漏えい
- HTTPが利用するGETリクエストは要求するデータや操作内容をURLのパラメーターに含めて送信するため、URLが漏えいした際に機密情報も漏えいするリスクがある
このようなリスクがあるため、HTTPは安全な選択肢とは言えない。
次回はHTTPSが、HTTP課題をどう克服しているかを解説する。
TechTarget発 世界のインサイト&ベストプラクティス
米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.