http・httpsとの違いは?アクセスしてしまったらどうする?セキュリティの基礎を解説|サイバーセキュリティ.com

http・httpsとの違いは?アクセスしてしまったらどうする?セキュリティの基礎を解説



URLの「http」に「s」が付いているかいないかというのは、ちょっとした違いのように思われるかもしれませんが、実はかなり重要な違いなんです。

「http」と「https」の違いを正しく理解すれば、最近話題のフィッシングサイトやなりすましサイトによるリスクを減らすこともできます。

そこで今回はホームページのURLにおける「http」と「https」の違いと、ブラウザでサーバ証明書を確認する方法について紹介します。

HTTPとは・HTTPSとは?

HTTP・HTTPSとはインターネットを介して通信する際のプロトコル(ルール)を定めたものです。このルールに従って、データをサーバーとクライアントの間でやりとりしています。

この通信規格ですが、HTTPよりもHTTPSの方がセキュリティ面で優れています。本章で詳しく解説します。

HTTPとは通信のルール

HTTPとは「Hyper Text Transfer Protocol(ハイパーテキストトランスファープロトコル)」の事です。ホームページのデータは文字だけでなく画像や動画などがあります。これらのデータをサーバとクライアントの間で通信するときの通信規約(プロトコル)がHTTPです。

HTTPSとはSSL化で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は安全ではないとされています。

HTTPのサイトにアクセスしてしまったらどうするべきか

HTTPには危険性があることを解説しましたが、ふとした際にアクセスしてしまうことがあるかもしれません。そういった場合に備えて、アクセスしてしまった場合の対処法を解説します。

HTTPのサイトの閲覧だけを行った場合

サイトの閲覧だけを行った場合、基本的に即座に何か対処をする必要はありません。HTTPでは通信が暗号化されていないので行った通信が筒抜けになります。そのため悪意ある攻撃者がいた場合どのサイトを閲覧しているのかは特定されてしまいます。

しかし、あくまで攻撃者が獲得できる情報はどのサイトを見ているかという情報のみなので直接的な脅威に晒される可能性は少ないです。

HTTPのサイトで情報を入力してしまった場合

HTTPのサイトで情報を入力してしまった場合、即座に対応が必要になる場合があります。HTTPは通信が暗号化されていないため、情報を入力してしまうと筒抜けになります。

よくある例では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はSEO施策では必須に

SEOとは平たくいうとGoogleでの検索順位で自分の記事を上位に上げることです。この検索ランキングはGoogleのアルゴリズムによって決定されており、アルゴリズムの基準を満たす良質なコンテンツが上位に来るように設計されています。

そんなGoogleが検索順位を決定する基準ですが、2014年8月7日にGoogleはHTTPSであるかどうかを検索順位に影響させることを発表しています。

参考HTTPS をランキング シグナルに使用します

要するにHTTPSで運営されているホームページはSEO対策において有利になりますよ、ということです。この発表でホームページをHTTPSで運用することがSEO対策の一つとなりました。そこで次の章ではHTTPSにする方法(常時SSL化)を解説していきます。

HTTP→HTTPSへ!常時SSLにする6ステップ

HTTPS化の設定方法は、以下の6つの手順でおこないます。

  1. サーバの対応状況を確認する
  2. CSR(証明書署名要求)を作る
  3. SSLサーバ証明書を申請・取得する
  4. SSLサーバ証明書をインストールする
  5. リンクを「https://」へ置換する
  6. HTTPをHTTPSにリダイレクト設定する

詳しくは下記コラムで解説しています。

ページに接続できない?そんな時に確認すべきhttpステータスコード6選

HTTP・HTTPSの通信規格では、データのやり取りがうまくいかなかった際にエラーコードを表示します。そのためうまくページに接続できなかった場合には、本章で解説するエラーコードを参考にしてみてください。

http 400

http 400はクライアント側(サーバではない端末側)のリクエストが何らかのエラーでうまく処理できなかった際に表示されるエラーコードです。
400番台のエラーコードは原因がクライアント側にあるものとなっています。

http 401

http 401はクライアント側の認証ができず、リクエストを実行できなかった際に現れるエラーコードです。こちらはパスワードなどの認証がうまく行かなかった際に現れるので、パスワードが正しく入力されているかなどをしっかりと確認する必要があります。

http 403

こちらはアクセス権限がないため、サーバから情報を入手できなかった際に現れるエラーコードです。このエラーが出たら自身のIPアドレスのアクセス権限を確認することが必要です。

http 404

こちらはサーバの中に要求した情報がなかった際に現れるエラーコードです。このエラーはリクエストしたアドレスの先に情報がないことを示しているので、表示された際にはURLが正しいかを確認する必要があります。
また、サーバ側が削除やアドレスの変更をした際にも表示されるので正しいURLを入力しているのに表示される場合は、コンテンツの削除かアドレスの変更をした可能性があります。

HTTP500

Internal Server Error HTTP 500 とは、閲覧中のサーバ内部にエラーが起き、ページにアクセスできない状態になっているエラーコードです。サーバが回復するまで待つのが基本となります。
また、500番台のエラーコードは原因がサーバ側にあるものとなっています。

http 503

http 503はサーバ側が停止している際に表示されるエラーコードです。こちらもサーバが回復するまで待つのが基本となります。

よくある質問

より高速なHTTPS/3とは?

HTTP/3とは、HTTP/2より通信速度が高速化するためのプロトコルのバージョンです。

まとめ

HTTPとHTTPSの違いから、サーバの証明書を確認する方法について解説してきました。フィッシングサイトや詐欺サイトの確認方法として、URLを確認する方法は知られていますが、サーバの証明書を確認する方法はあまり普及していません。特にサーバ証明書がドメイン認証の場合は、ホームページの運営者が身元を詐称している可能性もあり、URLを確認するだけでは不十分な時もあります。

また、ホームページの運営者としてHTTPS対応することは、通信を暗号化させたり、訪問者に安心感を与えたりするだけでなく、SEO上にも有利になるなどのメリットがあります。ホームページを運営しているけど、まだHTTPSでアクセスできないという方は、この機会にHTTPS化を検討してみてはいかがでしょうか。

 

 


書籍「情報漏洩対策のキホン」プレゼント


当サイトへの会員登録で、下記内容の書籍「情報漏洩対策のキホン」3000円相当PDFプレゼント
(実際にAmazonで売られている書籍のPDF版を無料プレゼント:中小企業向け大企業向け


ぜひ下記より無料のメルマガ会員登録をして無料ダウンロードしてみてはいかがでしょうか?

無料メルマガ会員登録はこちら

SNSでもご購読できます。