httpとhttpsの違いは何? Webサイトで必須のセキュリティを解説
PC、スマホで参照するWebサイトのURLには、httpで始まるものと、httpsで始まるものがあります。この違いをご存じでしょうか?
今回はhttpとhttpsの違いをもとに、Webサイトのセキュリティについて解説します。いつもインターネットを利用される方は、ぜひ一読ください。
目次
httpとは
httpsとは
httpsによるデータ暗号化の仕組み
httpとhttpsの違い
httpからhttpsへの移行方法
httpsでも安全とはいえない
信頼できるサイトを見極める方法4つ
常時SSL化でセキュリティを高めよう
httpとは
ホームページのデータをやりとりする通信規約
コンピュータは、さまざまな種類のプロトコル(通信規約)に従って通信を行います。
たとえば、ファイル送信ではftp、メール送信ではsmtpがあります。
今回ご紹介するhttp、httpsはどちらもWebサイトのデータをやりとりするためのプロトコルです。プロトコルに従っていればWebサイトを閲覧するための通信ができるため、PCだけでなくスマホやタブレットなどさまざまな媒体での通信で用いられます。
http(hyper text transfer protocol)は、ホームページやWebサイト内の文字や画像といったデータを、サイトを公開しているWebサーバーとWebブラウザとの間で通信するときに用います。
非常にシンプルで、1つのリクエストに対して1つの応答を返すルールとなっており、決められた要求に対して決められた内容で返します。
httpsとは
httpにセキュリティ機能を追加したもの
https(hyper text transfer protocol secure)は、SSLやTLSといった暗号化通信の仕組みを利用したプロトコルです。
目的はhttpと同じくWebサイト閲覧に必要なデータの通信で利用されますが、通信されるデータが暗号化されている点が異なります。
たとえば、ネットショッピングを利用する際に個人情報やクレジットカード番号を入力し通信する場合は、httpsを用いて通信を行います。
これにより、万が一第三者に通信を傍受されても、中身の情報を盗まれるリスクを防止し、セキュリティの強化につながります。
昨今ではSSLは使用されず、TLSが使用されていますが、SSLが広まっているため、TLSも含めてSSLと呼ばれることがあります。
httpsによるデータ暗号化の仕組み
■公開鍵暗号方式による通信の暗号化httpsでは、公開鍵暗号方式を用いています。公開鍵暗号方式とは、公開鍵(Webサーバー側で誰でも参照できるよう公開されている鍵)と公開鍵で暗号化された情報を復号する秘密鍵を利用してデータの暗号化・復号を行う方式です。
クライアント(サービスを利用する側のパソコン)がWebブラウザを用いてWebサーバーに通信を行うとき、以下の順序で処理されます。
- 1.クライアントはWebサーバーで公開されているSSLサーバー証明書に含まれる公開鍵をダウンロードする
- 2.クライアントは送りたいデータを公開鍵で暗号化し、Webサーバーへ送信
- 3.Webサーバーはクライアントからデータ受信し、秘密鍵を用いて復号
公開鍵は秘密鍵から作成され、Webサーバーに配置されます。これは誰でも暗号化に利用できますが、暗号化されたデータを復号するには、秘密鍵が必要です。
秘密鍵はWebサーバー側に1つしかありません。そのため、公開鍵で暗号化された文書は秘密鍵をもっているWebサーバーでしか解読できません。これにより、目的の相手にしか解読されない通信が可能です。
■SSLサーバー証明書
httpsによる暗号化通信を行うには、SSLサーバー証明書が必要です。このSSLサーバー証明書をWebサーバーにインストールすることで暗号化通信ができるようになります。
SSLサーバー証明書は、送信データの暗号化に必要な鍵(公開鍵)以外にも、公開されているWebサーバーやWebサイトの所有者の情報、発行者の証明データを含む電子証明書です。SSLサーバー証明書によってWebサイトが信頼できるサイトであることを証明しています。
SSLサーバー証明書は認証範囲の違いにより3つのレベルがあります。
- ・ドメイン認証(DV認証):サーバーがドメインの正当なサーバーであることを証明
- ・企業認証(OV認証):証明書に記載の組織が法的に実在し、ドメイン所有者であることを証明
- ・EV認証:SSLサーバー証明書の中で最も厳格な認証で、企業の実在を証明する認証なので個人が取得することはできません。企業の法的実在だけではなく物理的な実在性も確認しています。
httpとhttpsの違い
通信が暗号化されているか
httpとhttpsはどちらもWebサイトを閲覧するプロトコルですが、大きな違いは「Webサーバー間との通信が、暗号化されているかどうか」です。
httpの場合は暗号化されていないため、通信を傍受されると情報が流出してしまう危険性があります。
そのため、昨今ではセキュリティ意識の高さから個人情報や機密情報をやりとりする通信に限らず、どのサイトでもhttps通信を用い、常時SSL化することが一般的になってきています。
たとえば、利用者が最も多いといわれるWebブラウザ「Google Chrome」は、2018年7月に公開されたバージョン「Chrome 68」から、SSLに対応していないサイトでは警告が表示されるようになりました。現在では、約9割を超えるWebサイトがhttpsを使用(※1)しています。
(※1)出典: http.archive
Webブラウザ上での表示が異なる
閲覧しているWebサイトとの通信がhttpか、httpsかは、Webブラウザ上での表示の仕方が異なるため、表示を確認して判断できます。以下の2つを満たしていれば、httpsで通信がされています。
- URLがhttpsで始まる
- アドレスバーの横に鍵アイコンがついている
ただし、ブラウザによってはアドレスバーに表示されるURLでhttpsが省略されて表示されているものもあります。その場合は、鍵アイコンがついているか確認しましょう。
httpsではSEO効果が得られる
httpsを利用することのメリットとして、SEO対策に有効という点です。Googleが推奨するガイドラインでも、httpsの使用が推奨されています。
ただし、検索順位決定時に優遇されますが、あくまでhttpと比較した場合で、現在では多くのサイトがhttpsであるため、大きな効果が得られるわけではないことをご注意ください。
httpからhttpsへの移行方法
もしすでにWebサイトを運営しており、https化していない場合は、httpsへの移行をおすすめします。ここでは、httpからhttpsへ移行する方法についてご紹介します。
1. SSLサーバー証明書の選択
最初に、取得するSSLサーバー証明書を選択します。前述のとおり、SSLサーバー証明書には認証範囲によって3つのレベルがあるため、利用目的や予算にあわせ適切な証明書を選ぶことが大切です。
最も安価、かつ手軽に導入できるのはドメイン認証(DV認証)です。期間限定サイトでの利用や、急いで入れたい場合におすすめです。
会社の公式サイトや、SNS、会員制サイトを運営する場合は、企業認証(OV認証)がよいでしょう。組織の実在をアピールできます。
ネットショッピングなど個人情報・機密情報を扱う場合には、EV認証を選択します。より安全性が高まり、フィッシング詐欺対策にも有効です。
管理するサイトにあわせたSSLサーバー証明書を選択しましょう。
2. SSLサーバー証明書の申し込み
取得するSSLサーバー証明書が決まったら、サーバー証明書発行の申込みを行います。申込みを行うためには、申請するための情報であるCSR(Certificate Signing Request)が必要です。
CSRには、公開鍵情報の他、組織名や組織の所在地の情報(ディスティングイッシュネーム)が含まれます。OV認証、EV認証を申し込む場合は、印鑑証明や登記簿謄本などの書類が必要となる場合があります。
3. SSLサーバー証明書の発行
申込みを行うと、認証局にてドメイン所有者の確認や審査が行われ、証明書が発行されます。審査完了や証明書が発行されるまでの所要期間は、申請内容や審査状況により異なりますが一般的には数日~一か月程度の日数を要します。
4. SSLサーバー証明書のインストール
SSLサーバー証明書が発行されたら、サーバーにインストールして設定を行います。
インストールおよび設定の内容はサーバーによって異なるため、各環境にあわせてインストール手順を確認しましょう。レンタルサーバーを利用している場合は、レンタルサーバーに問い合わせるとよいでしょう。
5. 動作確認
SSLサーバー証明書を導入したサイトを閲覧し、正常に動作するか確認を行います。URLをhttpsに変更して、サイトが表示されるか確認しましょう。
ブラウザによってはhttpで通信している場合は警告メッセージがされるため、その表示が消えていることを確認しましょう。
また、内部リンクや画像でURLを絶対パスを指定していた場合は、リンクが切れてしまい参照できなくなるため、それらのURLの変更も必要です。導入前に、修正が必要な箇所を確認しておくとよいでしょう。
httpsでも安全とはいえない
https通信であっても、通信相手が間違っていれば意味がない
本物そっくりのサイトページから、知らないうちに悪質なサイトに誘導され、個人情報を盗まれるケースがよく見られます。これは、別のサイトにリダイレクトされているためです。
httpsは、通信相手が信頼できるサイトかどうかの確認はできますが、通信相手が偽物だった場合は、安全とは言い切れません。
ショッピングサイトのページが改ざんされた場合や、本物そっくりのWebサイトを閲覧した場合、被害にあう可能性もあるため、注意が必要です。
SSLサーバー証明書が偽造されているケースも
SSLサーバー証明書のドメイン認証(DV認証)では、ドメイン名の所有者であることは認証されますが、企業・団体などの組織レベルの確認はされません。
たとえば、架空の企業・団体であってもSSLサーバー証明書の取得は可能です。
https通信を使用しているからといってそのままサイトを利用していると、入力したフォームから個人情報を盗まれるケースや、悪質なマルウェアに感染するケースも起こりえます。
信頼できるサイトを見極める方法4つ
httpsを利用していても、そのサイトが必ずしも信用できるサイトとは限りません。
特に昨今では、大手ショッピングサイトを模倣し、お金を振り込んでも商品が送られてこない「詐欺サイト」による被害が多発しています。
ここでは、詐欺サイトによる被害に合わないために知っておくべき、信頼できるサイトを見極めるポイントをご紹介します。少しでもおかしいと感じたら、使用を避けましょう。
URLやサイトを確認する
URLにhttpsが使用されていない場合は、SSLサーバー証明書がないため、サイト所有者の確認ができません。
また、サイトの内容から日本語が不自然な場合や価格が極端に安い場合は、詐欺サイトと注意したほうがよいでしょう。
たとえば筆者が見つけたあるショッピングサイトでは、URLのドメインが「.tokyo」「.top」などあまり国内ではみられないものが使用されており、商品も通常の3割安いなど、不自然な点が見られました。
掲載されている問い合わせのメールアドレスを確認する
不審なサイトを見つけた場合は、そのサイトの連絡先を確認するのも有効です。掲載されている問い合わせ先のメールアドレスが「@gmail.com」「@yahoo.co.jp」などのフリーアドレスを使用している場合は、そのサイトの利用を避けたほうがよいでしょう。
通常ショッピングサイトであれば、独自ドメインを利用していることがほとんどだからです。
また、そのサイトの会社概要のページを確認し、会社および住所が実在するかどうかも見ておきましょう。
筆者が見つけたサイトでは、その住所に会社がなく、また電話番号もその住所とは関連しない市外局番が使用されていました。
詐欺被害の情報がないか確認する
詐欺サイトと疑わしいサイトを見つけたら、そのサイト名やサービス名で検索し、被害報告が出ていないか確認しましょう。
もしすでに詐欺被害にあった方がいる場合だと、書込みが確認できます。
サーバー証明書が本物かどうか確認する
そのサイトがSSLサーバー証明書を使用していた場合、証明書の内容を確認することができます。証明書を確認する方法は、以下のとおりです。
- Webブラウザの左上に表示されている鍵マークを確認し、クリックします
- 「証明書(有効)」をクリックします
- 「証明書」のウィンドウが表示され、内容が確認できます
企業認証(OV認証)である場合は企業名が記載されています。ドメイン認証(DV認証)の場合は表示されないため、証明書からサイト運営の企業が正当な企業か確認しましょう。
常時SSL化でセキュリティを高めよう
今回は、httpとhttpsの違いをご紹介しました。httpとhttpsの違いは「通信の暗号化をしているかどうか」という点ですが、この違いがサイトセキュリティの大きなポイントです。
現在では、多くのサイトでhttpsを利用していますが、それでも安全とは言い切れません。
しかし、通信の暗号化をすることで通信データの傍受から個人情報や機密情報の漏洩を防ぐ点でhttpsは有効なセキュリティ対策です。Webサイトを運営している方は常時SSL化を行い、Webサイトセキュリティを高めましょう。
キューノート エフシー
メール配信システムCuenote FC(キューノートFC)は、会員管理やメール配信後の効果測定をグラフィカルに表示。システム連携用APIなども提供しており、一斉配信からメールマーケティングまで行えます。独自開発のMTA(配信エンジン)とノウハウで、月間のメール配信数76億通・時間1,000万通以上(※)の高速配信を実現し、スマートフォンや携帯にもストレスなく高速・確実にメールを届けます。 ※クラウド型サービス(ASP・SaaS)の実績値