HTTPSとは
HTTPS (Hyper Text Transfer Protocol Secure)は、 主にインターネットのWebサービスで使われているHTTP (Hyper Text Transfer Protocol)*1を、 TLS*2のような暗号通信の仕組みとともに使ったものを意味しています。
当初はクレジットカード番号入力時などの限られた場面で使われていましたが、2010年代になって
- ユーザーのプライバシー意識が高まった。
- Google社がHTTPSでの通信に対応したWebサイトへの重み付けを増し、検索結果でより上位に表示するように方針を変更した。
などの影響もあり、2019年現在、 ChromeとFirefoxからのアクセスは過半数がHTTPSになっています*3*4。
HTTPにはパスワードなどを用いたユーザー認証の機能がありますが、 HTTPでやりとりされる通信データを暗号化する機能はありません。 従ってパスワードが盗聴されてしまう恐れがあります。 HTTPSは、HTTPを変更せずに通信データを暗号化するといったセキュリティの機能を実現するために、 TLSのような仕組みを使った上で、従来のHTTPのデータのやりとりが、 サーバとWebブラウザなどのクライアントの間でできるように作られました。
しかしTLSには、通信相手が意図通りであるかどうかという意味での認証を行う機能はありません。 間違った通信の相手と暗号を通信をしてしまうと、 本物であるかのような偽のサーバにつながってしまう恐れがあります。 そこで使われるのが電子証明書です。 PKI(*5)の認証局によって、発行対象が確認され、 発行された電子証明書(以下、証明書)が使われます。 サーバの証明書はサーバが正しいものであるかどうかを確認するために使われます。
*1 インターネット用語1分解説:HTTPとは
https://www.nic.ad.jp/ja/basics/terms/http.html
*2 インターネット用語1分解説:TLS (Transport Layer Security)とは
https://www.nic.ad.jp/ja/basics/terms/tls.html
*3 ウェブ上でのHTTPS暗号化 - Google透明性レポート
https://transparencyreport.google.com/https/overview?hl=ja
*4 Let's Encrypt Stats
https://letsencrypt.org/stats/
*5 インターネット10分講座:PKI
https://www.nic.ad.jp/ja/newsletter/No23/080.html