No306 HTTPとHTTPS
インターネット上で、ホームページ(webページ)を見る場合にはHTTPやHTTPSというプロトコル(通信手順)を使います。
以前は HTTPが中心で、特に安全な通信が必要なケースだけでHTTPSを使うスタイルが主流でしたが、2015年頃からはHTTPSだけを利用するサイトが増えてきており、現在ではHTTPを使っているWebサイトはめっきり減ってしまいました。
今回は、このHTTPとHTTPSの概要をお話します。
HTTPとは?
HTTPは Hyper Text Transfer Protocol (ハイパーテキスト転送プロトコル)の略です。
プロトコルというのは、コンピュータ間の通信手順を指し、どんなリクエスト(依頼)を送れば、どんなレスポンス(返答)を返すべきか?というルール集になっています。
さて、HTTPという言葉はしらなくても、ChromeやSafariでアクセスする時のURLで先頭がhttpやhttpsでなっているのをご存知の方もおられるでしょう。
例えばこんなのですね。
http://www.example.com/index.html
このURLは、www.example.com サーバにあるindex.htmlへのアクセス方法を示しています。
httpというプロトコルで、www.example.com の中にある、index.html というファイルにアクセスできるよ、ということを示すわけです。
インターネットでのアクセスはこのHTTPかHTTPSを使うのですが、もともとはすごーく地味な目的で考案されたものでした。
学者が書く論文には、昔も今も末尾に参考文献がたくさん掲載されます。
インターネットが主流になるまでは、引用元の論文を手に入れるには、その論文が掲載されている学会誌を入手して、コピー機でせっせとコピーするしかありませんでした。
参照したい全ての参考文献を手元に揃えるのは大変な作業でした。
そこで、論文の末尾に参考文献の代わりに「論文が置いてある場所」が書いてあり、そこに行けば誰でもカンタンに論文のコピーが手に入ったら最高だよな、と考えたのがHTTPの始まりです。
ここでいう「置いてある場所」というのは学者が住んでいる住所のことではなく、ネットワーク上の場所のことでURLそのものです。
これを思いついたのは、英国のコンピュータ科学者であるティム・バーナード=リーとロバート・カイユ(カイリューとも)の二人でした。
二人はこれをWWW(World Wide Web:世界中に張りめぐらされたクモの巣)と名付けました。
今ではブラウザのリンクをクリックして、他のサイトに移動するなんて当たり前なのですが、当時は世界中のコンピュータを相互接続できるという画期的なアイデアでした。
論文に書いてあるURL(リンク先)をクリックすれば、ブラウザがリンク先のサーバに接続し、そこにある論文を表示してくれるという仕組みです。
これがいかに熱狂的に受け入れられたかは、現在のインターネットの隆盛を見れば容易に想像できますね。
HTTPSとは?
HTTPSはHTTPの拡張版です。
HTTPSは Hyper Text Transfer Protocol Secure の略で、最後にsecure が付いている点がHTTPと違っています。
Secureは「安全」ですので、HTTPSは「安全なHTTP」の意味になります。
HTTPに比べて「安全」なのは以下の二点です。
1. 通信内容が暗号化されているので、盗聴できない
2. 相手先がホンモノかどうかをチェックする機構が存在する
HTTPは論文の参考文献へのアクセスを容易にするためのアイデアでした。
論文の場合はたくさんの人が読むのは大いにWelcomeですから、通信内容の暗号化など必要ありませんでした。
ところが、HTTPが爆発的に普及し、オンラインバンキングだとか株式取引など他者に覗かれては困るケースが続々と出てきました。
それを実現すべく登場したのが、HTTPSでした。
HTTPSが登場した当初は、他人に知られたくない情報の入力画面(個人情報やログイン情報)でのみHTTPSを使い、それ以外の画面(通販サイトのトップページや商品ページ)ではHTTPを使うというのが一般的でした。
常時SSL化(常時HTTPS化)
「一般的でした」と過去形で書いたのは、2023年現在はHTTPの利用はめっきり減り、大半がHTTPSになっているためです。
以前は運営の立場からするとHTTPSを使うページを増やしたくない事情がありました。
HTTPSでは、上述の通り暗号化処理が必要ですが、暗号化はコンピュータにとって計算量の非常に多い処理であるため、コストがかかります。
コストを上げてしまうHTTPSは最低限の利用にしたかったのです。
ところが、時代の流れがそれを許さなくなってきます。
例えば、
・検索サイトで検索に使ったキーワード
・ショッピングサイトでの(購入履歴を元にした)おすすめ商品の表示
・SNSでの「友達かも」といった表示
こういった情報も人によって異なるわけですから、プライベートな情報です。
システム開発をする時に、画面毎にHTTPで良いかHTTPSにするかを個別に考えるのは大変で難しい話です。
また、画面デザインの改修の度に、同様の手順を踏むのはあまりに非効率です。
この検討コストに比べれば暗号化コストなんてしれています。(人件費が一番のコストですものね)
コンピュータの速度は毎年向上しますから、暗号化コストなどそのうち大したコストなく実現できるようになるに決まってます。
一方で、人がHTTPかHTTPSかの判断をするスピードなんて劇的に減るわけがありません。
「悩んでるくらいやったら、全部HTTPSにした方が安上がり」というのが「常時HTTPS(常時SSL化)」の発想の基本です。
HTTPなんかやめてしまえ、全部HTTPSにしようぜ、っていうことです。
2023年現在では、主要なブラウザで、HTTP接続すると「安全でない」と表示するようになっていることもHTTPS化を後押ししています。
HTTPSはナニが安全なのか?
HTTPSは上述の通り、通信内容の暗号化など安全を確保したプロトコル(通信手順)です。
ですが、ここに誤解があります。
HTTPSが保証しているのは「盗聴されない」「接続先は意図したサーバである」という「技術的な安全性」です。
ですので、以下のような発言は全て間違いです。
・HTTPSであれば信頼できる人物/組織が運営している
・HTTPSであれば記載されている内容に間違いはない
・HTTPSの詐欺サイトは存在しない
提供コンテンツの内容が正しいことなど技術的に保証できるはずがありませんし、ましてや運営者が正直などうかがわかる技術など魔法でしかありません。
実際に詐欺サイトの何割かがHTTPSで運営されていたという統計もあるようですし、HTTPSだからといって詐欺サイトではない保証などありません。
テレビなどで自称専門家が「HTTPSなら安全」と太鼓判を押し、それがtwitterで叩かれるというシーンを何度か見ています。
テレビやマスコミ報道で「あれ?聞いてたのと違う」と思ったらGoogleなどで発言者の氏名で検索をしてみてください。本物の専門家から叩かれていればおそらくは「自称専門家」です。
まとめ
HTTPとHTTPSという通信手順があります。
ChromeやSafari、Edgeといったインターネットブラウザがホームページ(Webページ)を表示する時に使用する通信手順です。
元々は論文の参考分献に容易にアクセスできる仕組みとしてHTTPが考案されました。
これは爆発的ヒットとなったのですが、HTTPは全てがオープンで秘密情報のやりとりには全く向いていませんでした。
そのため、通信内容を暗号化するなどの工夫を施したHTTPSという通信手順が開発されました。
これによって、より安全な通信が行えるようになりました。
もっとも、「安全」と言ってもあくまで技術面から見た安全であって、内容の正しさや運営元の実直さを保証することなどできません。
実際に、HTTPSを利用した詐欺サイトも一定数ありますので、HTTPSだから何でも安全というわけではない点は注意が必要です。
時代が流れるにつれ、HTTPSでの通信が求められるシーンは増え続けています。
そのため、現在ではHTTPはほとんど使われなくなっており、HTTPS通信が大半を占めるようになっています。
今回は、HTTPとHTTPSという現代のインターネットの隆盛を支える非常に重要なプロトコル(通信手順)についてお話しました。
次回もお楽しみに。
(本稿は 2023年5月に作成しました)