
URLの「http」に「s」が付いているかいないかというのは、ちょっとした違いのように思われるかもしれませんが、実はかなり重要な違いなんです。
「http」と「https」の違いを正しく理解すれば、最近話題のフィッシングサイトやなりすましサイトによるリスクを減らすこともできます。
そこで今回はホームページのURLにおける「http」と「https」の違いと、ブラウザでサーバ証明書を確認する方法について紹介します。
HTTPとは・HTTPSとは?
HTTPとは「Hyper Text Transfer Protocol(ハイパーテキストトランスファープロトコル)」の事です。ホームページのデータは文字だけでなく画像や動画などがあります。これらのデータをサーバとクライアントの間で通信するときの通信規約(プロトコル)がHTTPです。
HTTPに対してHTTPSには「S」が付いています。この「S」は「Secure(セキュア)」の「S」です。IT業界では「セキュリティがしっかりしている」といった意味で使われている単語です。
HTTPSもHTTPと同じプロトコルの一つですが、HTTPSではSSL(Secure Socket Layer)というプロトコルが使用されています。
HTTPS通信がデータを守っている仕組み
HTTPS通信では、SSLを使用して暗号化を行いWebサイトの安全性を高めています。通信の暗号化とは、決められた鍵を使って通信に暗号をかけることを言い、鍵がないと暗号が解除できないような仕組みになっています。
身近なサービスだと、オンラインショッピングを利用する際、サイトにSSLサーバ証明書が使われていない通信では、通信の内容が不正に取得・改ざんされるリスクがあります。オンラインショッピングでは名前や住所、クレジットカード番号などの個人情報を入力することが多いですが、SSLを使用していないと悪意ある第三者に情報が漏れてしまう危険性が高まります。
HTTPとHTTPSの違い
HTTPとHTTPSの主な違いは通信内容が暗号化されていないか、されているかの違いです。
Google ChromeではHTTPSに対応したホームページを開くとブラウザのURLの左の方に「保護された通信」と表示されます。
また「保護された通信」ではなく、組織名が表示される場合もあります。
このように組織名が表示されている場合も通信は暗号化されています。「保護された通信」と「組織名が表示」の違いはサーバに設定されている証明書の種類が異なっていることから発生しています。組織名が表示されている場合は、暗号化されて通信しているだけでなく、ドメインの所有者が実在する組織であることを表しています。この違いについては後程詳しく紹介します。
HTTPはなぜ安全じゃないのか
HTTPSが通信を暗号化することで安全にデータをやり取りすることができると紹介しましたが、それでは通常のHTTPはどれほど危険なのでしょうか。HTTP通信を脅かす攻撃の一つである「中間者攻撃(Man in the middle attack)」を紹介します。
中間者攻撃とは通信している二者間の経路に不正な手段で割り込むことで、通信内容を盗聴したり改ざんを行ったりする攻撃のことです。MITM攻撃とも呼ばれます。HTTPに限らず、暗号化されていない無線LANやネットワークの中継地点に適切なセキュリティ対策が施されていない場合に対しても行われる攻撃です。
通常のHTTPは通信内容が暗号化されておらず、中間者攻撃によって通信内容の盗聴や改ざんが行われる可能性があります。そのため通常のHTTPは安全ではないとされています。
「https://」で暗号化してるけど、安全じゃない場合もある?
前述のとおり、HTTPよりもHTTPSのほうが安全ではありますが、HTTPS通信だからといって100%安全だと言い切れるわけではありません。HTTPS通信であっても、通信相手が偽者だった場合は全く安全ではないからです。
最近では、SSLサーバ証明書が犯罪に悪用されるケースも報告されています。証明書を使って本物そっくりな偽のサイトを用意し、ユーザの個人情報を盗んだり、悪質なマルウェアに感染させるといったサイバー犯罪が非常に多いのです。そのため、HTTPSであっても安心できる証明書なのかまでユーザは見分ける必要があります。
詐欺サイトかを見分ける方法
インターネット上で急増している偽サイトの見分け方を7つご紹介します。
1. 掲載メールアドレスを確認
信頼できる相手が運営しているサイトは、通常会社名やサービス名に関係した独自のドメイン名のアドレスを利用しているケースが大半です。問い合わせ先やサポートの連絡先に@gmail.com、@yahoo.co.jp、@outlook.com、@qq.comなどのフリーメールを使用している場合は詐欺サイトの可能性が高く、サイトの利用は推奨しません。
2.有名モールか確認(amazon、楽天、Yahoo!ショッピングなど)
amazon.co.jp、rakuten.co.jp、shopping.yahoo.co.jpなどのオンラインショップは、一定の審査基準を経てショップを運営しています。多くの人が知っているサイトでもあり、安心感も大きいでしょう。しかし、ユーザの高い信頼を巧みに利用してこれら有名ショッピングサイトを真似た偽サイトを作るケースは非常に多いので、見た目だけではなくURLもしっかりと確認するようにしてください。よく見るとスペルが一文字だけ違っている、など巧妙に作られていることが多いです。
3. 振込み先が企業名になっているか確認
振込先口座の名義が企業名ではなく、個人名や見慣れない銀行名の場合は慎重に利用を検討しましょう。偽サイトでは簡単に追跡されないように工作をすることが多く、不正に盗んだ個人名義の銀行口座を利用していることも多いです。
4. 詐欺の被害報告がないか口コミを確認
不審に思う点があった場合は、Webサイトの名前やサービス名などで口コミを検索してみましょう。偽サイトだった場合、詐欺被害にあった、といった被害者の書き込みを確認できることがあります。
5. 実店舗があるか確認
偽サイトは、実店舗を持たずオンラインのみで出店していることが圧倒的に多いです。実店舗や運営者のオフィスがきちんと実在する場合は、運営者への安心感が高まります。ただし、記載されている住所まで訪問する必要はありません。ブラウザのアドレスバーが緑色になる「EV SSLサーバ証明書」が入っているWebサイトは、専門機関が住所まで確認しているので信頼性が圧倒的に大きくあがります。
6. 固定電話番号が掲載されているか確認
信頼できる企業は、問い合わせ先やサポート対応を積極的に行っているのが一般的です。対して偽サイトの場合は、電話対応で素性がばれることを避けるために電話番号を掲載していないところが多くあります。しかし、あえて電話番号を掲載して信頼を得ようとする偽サイトもあるので、あくまでも目安程度で見ておくとよいでしょう。
7. 証明書を確認し、本物か確かめる
「https://」から始まるURLにアクセスしている場合でも、HTTPS通信を利用した偽サイトである可能性を完全には排除できません。そこで、証明書の中身を確認すれば実在している会社または団体かどうかが分かります。確認方法については後述します。
SSLサーバ証明書を確認して運営企業を調べる方法
サーバ証明書には他にも3つの種類があります。
ドメイン認証 | 「ドメイン名の使用権」を認証する |
---|---|
企業認証 | 「ドメイン名の使用権」「組織の法的実在性」を認証する |
EV認証 | 「ドメイン名の使用権」「組織の法的・物理的実在性」 「組織の運営」「承認者・署名者の確認」を認証する |
ドメイン認証からEV認証まで下に行くほど認証レベルが高いです。
自分がアクセスしたホームページが正当なものかどうかを確認する方法として、サーバ証明書をチェックする方法があります。ここではGoogle Chromeを使ってサーバ証明書をチェックする方法を紹介します。まずはサーバ証明書がドメイン認証の場合を紹介します。
ドメイン認証のサーバ証明書の確認方法
SSLに対応した任意のホームページを開きます。
SSLに対応したホームページですとURLの左側に「保護された通信」と表示されるので、そこをクリックします。
「証明書」というメニューが表示されますので、クリックします。
「証明書」のウィンドウが表示されるので「詳細」というタブをクリックします。
「サブジェクト」のフィールドを選択すると、
CN = www.cybersecurity-jp.com
という文字列が表示されていることが確認できます。ドメイン認証の場合、会社は認証されないのですが、ホームページのドメイン名が表示されます。
※サーバの証明書を取るだけでしたら、誰でも取得できてしまいます。
サーバ証明書の中でも「ドメイン認証(DV)」というタイプの証明書はドメインの正当な所有者であることは保証しますが、このドメインを所有している者が、本当の企業や団体であることは保証しません。
企業認証のサーバ証明書の確認方法
引き続き企業認証の場合のサーバ証明書の確認方法を紹介します。ここではサンプルとしてYahoo!Japanのサイト(https://www.yahoo.co.jp/)を見てみましょう。
先ほどと同じ手順でサーバの証明書の画面を表示させます。企業認証の場合「サブジェクト」のフィールドに「O = 」で始まる列が存在します。ここでは
O = Yahoo Japan Corporation
と記述されています。企業認証の場合は「O = 」で始まる文字列にホームページを運営している企業名が表示されます。
EV認証のサーバ証明書の確認方法
最後にもっとも厳格な証明書であるEV認証のサーバ証明書を取り上げます。実はこれはさきほど「3.HTTPとHTTPSの違い」で取り上げた楽天銀行のホームページで使われているものです。
EV認証の場合、アドレスバーの左側に緑色の文字で企業名が表示されます。EV認証されたホームページは特別な操作をしなくてもすぐに確認ができて便利ですね。
世界各国におけるHTTPSの使用状況
世界各国のHTTPSの使用状況はGoogleの「透明性レポート」の「ウェブ上でのHTTPS暗号化」の部分にデータが整理されています。
2016年では日本は他の国よりもHTTPSの使用状況が低かったですが、2022年には使用率が上がり、セキュリティの意識が強くなっていることがわかります。
HTTPSはSEO施策では必須に
HTTPSという技術が最初に登場したのは1994年のことで、今から20年以上前の出来事です。そのころからHTTPSを利用した通信の暗号化は行われており、特にお問い合わせフォームやネットショップなどでは古くから使われてきました。ただ当時は、暗号化が必要なページのみにHTTPSが使われており、静的なコンテンツのページはHTTPで運用されることが主流でした。これはSSLによる通信はサーバのCPUに高い負荷をかけることになり、暗号化が不要なページはできるだけHTTPで運用することでサーバの負荷にならないようにしていたからです。
ところが、2014年8月7日にGoogleはHTTPSをランキングシグナルに使用することを発表しました。
要するにHTTPSで運営されているホームページはSEO対策において有利になりますよ、ということです。この発表でホームページをHTTPSで運用することがSEO対策の一つとなりました。
良くある質問
HTTPS/3とは?
HTTP/3とは、HTTP/2より通信速度が高速化するためのプロトコルのバージョンです。
HTTP500の意味は?
Internal Server Error HTTP 500 とは、閲覧中のサーバー内部にエラーが起き、ページにアクセスできない状態になっているエラーコードです。
SSLサーバ証明書の発行方法は?
まずは、SSLサーバの種類を決めてから発行します。サーバーによって発行方法が違うので、使用しているサーバーで確認しましょう。
HTTPS化(常時SSL)にするにはどうしたらいいですか?
HTTPS化の設定方法は、以下の6つの手順でおこないます。
- サーバーの対応状況を確認する
- CSR(証明書署名要求)を作る
- SSLサーバー証明書を申請・取得する
- SSLサーバー証明書をインストールする
- リンクを「https://」へ置換する
- HTTPをHTTPSにリダイレクト設定する
詳しくは下記コラムで解説しています。
まとめ
HTTPとHTTPSの違いから、サーバの証明書を確認する方法について解説してきました。フィッシングサイトや詐欺サイトの確認方法として、URLを確認する方法は知られていますが、サーバの証明書を確認する方法はあまり普及していません。特にサーバ証明書がドメイン認証の場合は、ホームページの運営者が身元を詐称している可能性もあり、URLを確認するだけでは不十分な時もあります。
また、ホームページの運営者としてHTTPS対応することは、通信を暗号化させたり、訪問者に安心感を与えたりするだけでなく、SEO上にも有利になるなどのメリットがあります。ホームページを運営しているけど、まだHTTPSでアクセスできないという方は、この機会にHTTPS化を検討してみてはいかがでしょうか。