BLOG

SSLとHTTPSの仕組み

最近インターネット上ではSSLやHTTPSの言葉をよく聞くようになりました。SSLやHTTPSについて、ここでは改めて説明していきます。


SSLとは

SSLはSecure Sockets Layerの略で、インターネット上で送受されているデータを暗号化する手順(プロトコル)の事を言います。つまり、SSLを導入する、という事は送受されるデータの暗号化を意味します。

現在実際に採用されているプロトコルでは、SSLの後継としてTLS(Transport Layer Security)が採用されています。2018年にTLS 1.3が公開されています。SSLは1995年にSSL 3.0されたのが最新で、その後1999年にTLS 1.0が標準化され、事実上SSLの継承がTLSになっています。したがってプロトコルとしてのSSLはすでに古い規格となっていて、事実上のプロトコルはTLSが使われています。
しかし、現在一般的な用語として「SSL」が常識的に知られ、使われている状況になっています。ここでは正式なプロトコルは「TLS」、名称以外の説明上は「SSL」の表記で説明します。


HTTPSとは

SSLの中でも特にインターネット上でよく見かけるのがHTTPSになります。WebブラウザでWebサイト(ホームページ)やブログを参照している時に使われているプロトコルです。

従来Webサイトやブログでは通常HTTPで公開されていました。Webブラウザのアドレス(URL)は「http://」からはじまります。これに対し、最近Webサイトやブログでは順次HTTPSに変わっています。HTTPSはHTTPにSSLが適用された状態(HTTP over TLS)で、「https://」とアドレスで表示される事でこれを確認できます。その左には暗号化されている証明として鍵マークが表示されてます。安全の印です。

SSLは他のネット通信でももちろん採用されています。ファイル転送プロトコルのFTPにSSLを適用したFTPS(FTP over TLS)、またメールの送受信を行うIMAP・POP・SMTPでもSSL経由が可能になっています。これらはレンタルサーバを使用している時、サーバ会社側でSSLを適用させているため、使用者側での設定はSSL有無による変化はポート番号の変更やサーバ名の変更などにとどまり、SSL対応のために特別な対応を行う必要はありません。したがってWebサイトやブログを公開している側で作業が必要になるのは、通常Webサイト・ブログのSSL(https)化のみになります。


常時SSLとは

ここでSSL・HTTPSの導入として推奨となっている常時SSLについても触れておきます。

以前は通常のWebサイト・ブログはHTTP、フォームなとの入力に限りHTTPSと分けられていた事が多くありました。SSLを導入するために少なくても年間数万円の費用が必要で、更に導入するためには実体証明が必要になっていたためです。そのため、導入できるのは大手企業などに限られ、レンタルサーバではサーバ単位でSSL証明書を割り当てたSSL対応の(HTTPSで表示できる)サーバ領域を提供していました。
しかし、インターネットの使用環境が変わり、スマートフォンなどの無線による通信も増えました。データが空中を送受しているわけです。そこから誰かが情報を盗んでしまう可能性もありえます。それが個人情報だったり、パスワードだったり、クレジットカード情報だったりすると危険です。SSLによって暗号化されている場合、見られた場合でもその解読は容易ではありません。
また、SSLサーバ証明書の発行も実体証明以外に独自ドメインのメールアドレスで認証する手段が採用されるようになります。これによる発行作業の自動化によってSSLサーバ証明書の費用は安値となり、個人や中小企業などでもSSLを導入しやすくなりました。現在ではネームサーバ(DNS=Domain Name Server)やWebサーバを用いた認証を行うSSLサーバ証明書も存在しています。
そのため、フォームの入力部分などに限らず、Web サイト(ホームページ)またはブログ全体をSSL化するよう推奨されるようになりました。このWebサイト・ブログ全体をSSL化した状態を常時SSL(AOSSL=Always on SSL)と言います。現在この常時SSLがWebサイト・ブログでは常識となってきています。


導入していない場合のリスク

SSLが導入されていない場合、データは暗号化されていない状態でインターネット上を送受する事になります。特にスマートフォンが普及し、現在はどこからでもインターネットを使用している状況であり、無線でデータが送受されています。その経路で誰かが情報を盗んでいる可能性があります。

Google検索では2014年よりHTTPSにしているWebサイトやブログの検索結果順位を上げるようになりました。HTTPのままにしているWebサイトやブログの場合、掲載順位が落ちている事になります。実際にGoogleで何かを検索した時、その結果表示のURLには「https://」ではじまるURLがほとんど上位で表示されているはずです。

HTTPS をランキング シグナルに使用します | Google ウェブマスター向け公式ブログ

更にGoogle検索では2015年からHTTPSを導入している安全なWebサイトやブログを優先的にインデックス登録しています。HTTPのままになっているWebサイトやブログは、検索エンジン探索ロボット(クローラー)であるGooglebotがなかなか収集しにやってこない状態となり、検索結果への情報がなかなか反映されない状況になっている可能性があります。

HTTPS ページが優先的にインデックスに登録されるようになります | Google ウェブマスター向け公式ブログ

また、世界シェア52%、日本シェア38%(2019年11月現在)と現在最も使用されるWebブラウザに成長したGoogle Chromeでは、2018年よりHTTPSのWebサイトやブログで通常表示となり、HTTPのWebサイト・ブログではアドレスの左に「保護されていない通信」と目立つように表示されるように切り替えられました。SSLを導入していないため、この状態でフォームが表示されていた場合、入力・送信するのは大変危険な状態であり、それが視覚的にすぐ分かるようになっています。

保護されたウェブの普及を目指して | Google ウェブマスター向け公式ブログ


導入した場合のメリット、必要性

SSLを導入し、HTTPSでWebサイトやブログを表示する事により、データは暗号化されます。この時表示されたフォームに入力された送信の情報も暗号化されます。中には個人情報、パスワード、クレジットカード情報などもデータで送受されますが、それが経路上で誰かから参照されたとしても、それは暗号化された内容で、容易にデータを確認する事ができません。安全にデータを送受する事ができます。

またSSLを導入し、HTTPSで表示できるようにしたWebサイト・ブログでは、アドレスの左に鍵マークを表示します。必要な場合、この鍵マークから導入されているSSLサーバ証明書を詳細に確認できます。

2015年にはHTTPの新仕様HTTP/2が正式仕様として承認されました。非同期接続の多重化、ヘッダの圧縮、リクエストとレスポンスのパイプライン化(応答を待つ事なく、複数のHTTPリクエストを送信する技術)を実現していて、これらはいずれも表示の高速化につながっています。最新のWebブラウザではこのHTTP/2が対応されていて、WebサーバでもHTTP/2に対応し、各種レンタルサーバでもHTTP/2に対応してきています。ただしWebブラウザの対応は「HTTP/2 over TLS」での対応となっています。つまりSSL化した状態で、HTTP/2に対応したサーバへ接続する事がHTTP/2による高速表示を実現する条件となっています。

これらを踏まえてWebブラウザで様々なWebサイトやブログを参照すると分かりますが、すでに多くのWebサイトやブログではSSL導入によるHTTPS(常時SSL化)を終えています。これはGoogleでの対応に加えて、多くの人が使用しているWebブラウザGoogle Chromeで明確にHTTPのWebサイト・ブログでは「保護されていない通信」と表示されるようになった事がSSL対応を急速に進める事になっています。これはごく最近数年での出来事ですが、すでに多くのWebサイトやブログがSSL対応を完了していて、これからWebサイトやブログを構築する場合はSSLを導入しているのは必須条件となります。また、すでに運営しているWebサイトやブログが未だHTTPの状態なのは、すでに対応が遅れている状況であり、多くの人が使用しているWebブラウザGoogle Chromeで「保護されていない通信」と表示されている状態になっているのは、Webサイト・ブログの状態で信頼性を失っている事になります。SSL化していないために、参照者そして顧客を失っているのです。現在そのような状態であれば、一日でも早くSSLを導入する必要があります。


導入方法

SSLを導入する場合、SSLサーバ証明書が必要となります。通常このSSLサーバ証明書は最も短い期間で90日、長い場合は1年または2年となっていて、期限を迎える前に新しいSSLサーバ証明書へ更新する必要があります。(2018年発行・更新するSSLサーバ証明書より適用。以前は3~5年も発行・更新が可能になっていましたが、新しいセキュリティリスクが発生した時に、はやくその問題に対処する際にSSLサーバ証明書の期間が長いために更新されない事が問題となるため、期間が短縮されてきています)
世界中の企業でSSLサーバ証明書を発行できる認証局(CA=Certification Authority)が存在しています。この認証局や認証局の再販業者(リセラー)を経由してSSLサーバ証明書を発行する事になります。
直接行う認証局や再販業者からSSLサーバ証明書を発行する場合は、Webサーバより、そのWebサーバ特有の暗号化キーを生成した上で、CSR(Certificate Signing Request=サーバ証明書要求) を生成します。それを認証局や再販業者に提出し、期限に応じたSSLサーバ証明書費用を支払いする事でSSLサーバ証明書が発行されます。その発行されたSSLサーバ証明書をWebサーバへ導入します。専用サーバやVPS(バーチャルプライベートサーバ)では、特定のアプリケーションをインストールし、コマンドを入力しての発行・導入となりますが、最近ではWebブラウザ上でこれらを容易に作業できるようになってきています。レンタルサーバ上でも同様に管理画面上からSSLサーバ証明書を導入・更新できます。しかし、それでも手間のかかる作業です。この作業は導入時だけではなく、更新時にも必要です。つまり最短でも2~3ヶ月、長くても2年でSSLサーバ証明書を切り替える必要があるのです。更新しなかった場合、そのWebサイトやブログは参照できなくなります。
最近ではSSL導入によるHTTPS化が常識化したため、レンタルサーバが認証局の再販業者となっている事が増えてきています。これにより、サーバ業者がCSRの生成を行い、認証局に申請して、SSLサーバ証明書を発行してくれます。SSLサーバ証明書を発行したり、更新したりする時の大変な作業がほとんどなくなり、Webサイトやブログを運営する側からはSSLサーバ証明書の選択とその費用を支払うのみです。レンタルサーバによってはこのSSLサーバ証明書そのものの費用や手続きに要する必要もサーバ料金に含めてある場合があります。SSLの事を深く知らなくても、素早くWebサーバへSSLサーバ証明書を導入し、SSL・HTTPS化を実現できるようになってきています。

SSLサーバ証明書の発行や更新を気にせず、SSL・HTTPSにしたWebサイト・ブログを運用できるレンタルサーバは下のリンク先にあります。


SSL導入キャンペーン

導入の詳細についてはこちら