今回はWeb技術の基本であるHTTPと近年急速に普及しているHTTPSについて説明したいと思います。
HTTPとは
HTTPとは、「Hyper Text Transfer Protocol」の略でHTMLで書かれたファイルや画像などのコンテンツを、クライアント(Webブラウザ)とサーバー(Webサーバー)間でやりとりするときに使われる通信手段です。
この通信手段は、一般的にプロトコルと呼ばれ、HTTP以外にもIPやFTPなど様々な種類があります。
HTTPはその中の一種ということになります。
これまでHTTPは、HTTP0.9/ HTTP/1.0 HTTP/1.1 HTTP/2とバージョンアップを行ってきました。
HTTPリクエストとHTTPレスポンスという一連の流れはどのバージョンでも共通していますが、これまでの各バージョンアップによって、通信機能や通信速度の改善が図られてきました。
HTTP/0.9については、最初は番号がなかったため、HTTP/1.0がリリースされた後にバージョン番号が振り分けられました。
しかし、インターネットの発達によってネットショッピングやSNSを通じてのコミュニケーションが便利になった反面、個人情報を盗聴されたり、問い合わせ内容を改ざんされたり悪質なウィルスやいたずらも同時に発達してきました。
このようなリスクのある状況を打開するために生まれたものが「HTTPS」です。
HTTPSとは
HTTPSとは、「Hyper text Transfer Protocol Secure(HTTP over SSL/TLSと表記することもあります。)」の頭文字をとって並べたもので、そのままの意味としてはHTTPにSecure(安全保障、防犯)を加えたものです。
世界標準の通信を暗号化する、SSL(Secure Sockets Layer)やTLS(Transport Layer Security)の機能を利用することでHTTPに安全性を加えています。
SSLとTLSとは
SSLとTLSとは、いずれも通信においてデータを暗号化して送受信を行うプロトコルのことです。
SSLとTLSの違いについては、バージョンアップされてきたSSLがある時名前をTLSに変えたようなもので、ここでは、SSLの次世代の互換がTLSなんだなという風に解釈する程度でいいでしょう。
SSLとTLSが安全性を向上させている仕組みとして以下のようなものがあります。
- 暗号化通信
- 改ざん防止
- なりすまし防止
暗号化通信
送受信するデータを暗号化することで、盗聴されたとしても何を表すデータかわからないため安全にデータを運用することができます
改ざん防止
送信するあるデータからハッシュ値を計算して、データを受け取ったサーバーがそのハッシュ値を比較することでデータが途中で改ざんされたものでないか確認できます。
成りすまし防止
SSLサーバー証明書という身分証明書の認証によってサーバーがサイトの運営者を確認し、成りすましを防ぐことができます。SSLサーバー証明書を発行するには認証局という機関に申請が必要で、サーバー証明書の発行元が信用できないサイトでは、警告を表示します。
ブラウザによって表示は異なりますが、HTTPSが適用されているサイトの多くはURLの左側先頭に鍵マークのアイコンがついています。
HTTPSへの移り変わり
一昔前は、HTTPSを導入していたサイトはフォームに個人情報を入力して送信するタイプの企業サイトやECサイトの問い合わせや注文確定ページくらいでしたが、近年、一つのページだけでなく全ページが常時SSL化、それも多くのサイトがHTTPからHTTPSになりつつあります。
なぜでしょうか。そこには大きな理由が2つあります。
1.Wi-fiの一般的な普及
スマートフォンが登場し、Wi-fiが爆発的に普及して以来、多くの人がWi-fiで通信を行っています。
Wi-fiは携帯の電波が届かないところでも利用でき、且つ通信速度も速く、非常に便利ですがセキュリティ対策において万全ではありません。
そこで、サイトが安全であることを証明するためにHTTPSを導入する企業が増えてきています。
2.GoogleのSEO対策
HTTPSの安全性から、GoogleはHTTPSのサイトを優先的に検索順位を上げるようになりました。
これによって、HTTPSにすることでサイトの流入数を増やすことが期待できます。
また、2017年1月に公開された「Chrome 56」のバージョンからは、HTTPのサイトでは、クレジットカード等の重要な個人情報の入力画面で警告を出すようになりました。
まとめ
このような理由で、今、HTTPからHTTPSへの移行が今急速に進んでいるというわけです。
ただ、HTTPSが完全に安全であるかと言えばそうではなく、例えHTTPSのサイトであったとしても通信を盗聴されるリスク等はあります。
なので、Webサイトを利用する側にも最低限の注意は必要です。