最近はインターネット上で買い物を行うことも珍しくなく、その際の決済はクレジットカード情報を入力し、商品の送り先も自宅の住所を入力すれば商品が手元に届きます。
とても便利な仕組みではあるのですが、同時に悪意のある人間やハッカーなどによるデータの盗み取りや改ざんの危険性もはらんでいる仕組みでもあります。
これはECサイトではない一般のWebサイトやブログであっても同様の危険性がある問題なのです。
ユーザーが安心安全に情報通信を行うためにもWebサイトやブログもセキュリティに気を配る必要があり、これを解決する技術としてSSLという機能があります。
多くのレンタルサーバーではセキュリティについてすでに充分な考慮と対応がなされていますが、SSLはWebサイトやブログの管理者であるあなた自身が申請、設定を行わなければなりません。
ぜひこの記事を読んでSSLについて理解するとともに、SSLを導入してさらにセキュリティを高めましょう!
SSL証明書とは?
SSL証明書の前に、まずはSSLについて説明します。
SSL(Secure Socket Layer)とは、インターネット上でデータを暗号化して送受信する仕組みのことです。Webブラウザを通してWebサイトを閲覧しているユーザーとのデータのやり取りを暗号化します。
SSLを導入したWebサイトに接続するには、URLが「http://」で始まる非暗号通信アドレスではなく、「https://」で始まる暗号通信アドレスのサイトに接続することになります。
また、SSL証明書について簡単に説明すると、通信相手が実在しているかを公正な第三者機関である認証局(CA)が証明した後に、WebブラウザとWebサーバーの間で通信データの暗号化を行うために発行される電子証明書のことです。
SSLを導入することで、ユーザーは安心してWebブラウザを通してのデータのやり取りが行えるようになります。
SSL証明書の種類
SSL証明書についてもう少し詳しく説明します。
SSL証明書は通信相手が実在しているかを公正な第三者機関である認証局(CA)が証明するのですが、証明書には以下のような種類があり、どのレベルで認証されたのかによって信頼度が変わってきます。
認証レベルは以下の3つに分類されます。
1.ドメイン認証(DV)
ドメインの使用権があるかどうか(ドメイン名が正しいかどうか)を認証します。Webサイト上で申請手続きが完結し、短期間で証明書の発行を受けることができます。
2.企業実在認証・組織認証(OV)
登記簿などを確認して、法的な企業・組織として(所在地や会社名を確認して)実在しているかどうかを認証します。第三者データベースと照合を行い、法的に存在していることが確認されたら実際に申込を行うかの意思確認があります。
3.実在証明拡張認証(EV)
上記2つの認証の項目に加えて、事業も存在して運営されているか、承認者や署名者は誰なのかなどさらに厳しく審査して認証します。申請から証明書の発行までに多くの時間と費用、そして手間もかかります。
SSL証明書のレベルは「ドメイン認証(DV)」⇒「起業実在認証。組織認証(OV)」⇒「実在証明拡張認証(EV)」の順で信頼性が高い証明となります。
どのSSL証明書を利用しても、暗号化通信の仕組みやセキュリティ強度は変わりませんが、証明書としての信頼性の違いがありますので、自身の用途に合わせて証明書を選びましょう。
SSL証明書を利用できる仕組み
SSL証明書は、SSL証明書を発行する公正な第三者機関である認証局(CA)という組織が認証することで与えられます。
また、SSL証明書は「サーバー証明書」「中間CA証明書」「ルート証明書」の3つに分かれています。
「サーバー証明書」、「中間CA証明書」、「ルート証明書」の内容は以下の通りです。
1.サーバー証明書
サーバー証明書は、登録したドメイン名が記載されたサーバー証明書を設定しているサーバーとデータ通信していることを保証するものです。一般的に「SSL証明書を登録、導入する」と呼ばれることは、このサーバー証明書を認証局から発行してもらうことを指していて、Webサイトの信頼性を示すことができます。
2.中間CA証明書
次に説明するルート証明書は有効期間が非常に長いため、時間が経つにつれて署名されるサーバー証明書の数が膨大になることで失効時の影響が大きくなりますが、中間CA証明書はルート証明書よりも(ツリー構造によって)有効期間を短くすることでルート証明書を直接削除・失効するリスクを分散しています。
3.ルート証明書
自身の信頼性を証明するために発行するのがルート証明書です。実際のファイルがパソコンやスマートフォンに保存されていることでデータの改ざんを防ぎ、信頼を担保する証明となるものです。
なぜ証明書が別々になって発行されるのかという理由は、データ改ざんを防ぐためだと言えます。
ルート証明書がローカルであるパソコンやスマートフォンの本体に保存されていることで、悪意のある第三者がインターネットを介して改ざんすることが難しくなるだけでなく、サーバーから送られてくるサーバー証明書と中間CA証明書が、ルート証明書に関連付けられた証明書であるかを検証することで改ざんが行われていないことを確認することにもなるからです。
このような仕組みを通すことで、SSL証明書を利用できるようになるのです。
SSL通信が成立する仕組み
SSL証明書を利用できる仕組み(利用までの工程)が分かったところで、次はSSL通信が成立する仕組みについて説明します。
SSL通信(暗号化通信)はWebブラウザとサーバー間で行われ、次のように処理が行われます。
- WebブラウザからWebサイトにアクセスする(通信先サーバーへ接続を要求する)
- 通信先サーバーから「秘密鍵」が生成される
- 秘密鍵を用いてCSRが行われ、SSL証明書が生成される
- 有効なSSL証明書である場合は、「秘密鍵」である「共通鍵」を生成する
- 共通鍵とSSL証明書をセットにして、Webサイトの通信を暗号化して通信先サーバーに返送する
- 最後に通信先サーバーは、共通鍵で通信データを復元してデータを取得する
「秘密鍵」、「CSR」と聞きなれない単語が出てきましたので詳しく説明します。
秘密鍵とは、対になる公開鍵(通信を暗号化するときに使うキー)を生成する鍵の事で、公開鍵は暗号化された通信を復号するために使われます。
公開鍵によって暗号化された通信は、第三者に読み取られる心配はありません。
CSR(Certificate Signing Request)とは、証明書署名要求のことで、SSL証明書への署名申請を行うものです。
SSL証明書へ申請者の署名が記載されることで、公開鍵とその所有者情報、および申請者が対応する秘密鍵を持っていることを示すことになります。
この一連の流れを簡単に説明すると、データ通信は鍵を使って暗号化し、その鍵はSSL証明書に登録されているものか確認した上で通信し、鍵を使って安全に暗号を解いているということになります。
秘密鍵、CSRと用語が難しくて理解も難しいでしょうから、上記のイメージを持っていただけると良いでしょう。
SSLの役割
SSL通信(暗号化通信)が成立することでデータの盗み取りや改ざん、なりすましを防ぐことができるので、クレジットカード情報や住所、電話番号などの個人情報データを安心して通信することができます。
これこそがSSLの役割です。
また、SSLを導入しない危険性について「データの盗み取りや改ざん、なりすまし」と一言でお伝えしましたが、具体的にどのようなリスクがあるかをもう少し詳しく説明いたします。
データの盗み取り防止
SSL暗号化を行っていないと、データ通信の過程で第三者に情報を盗まれるおそれがあります。
たとえばそのデータ通信がオンラインショッピング中に通信されるデータであり、個人情報やクレジットカード情報などの重要な情報を含む場合ならば、大きな金銭的被害にもつながりかねません。
企業や法人であっても同様です。
社外秘である機密情報が盗まれてしまうと、膨大な損害を被ることもあるでしょう。
データの改ざん防止
データの盗み取りと同様に、SSLで暗号化していないとデータ通信中に第三者に侵入されることでデータを書き換えられるおそれがあります。
たとえばオンラインショッピングの場合なら注文数を書き換えられてしまったり、送り先の住所を書き換えられてしまうと、お客様に注文の品すら届かなくて大きな損害を与えてしまいます。
SSLは暗号化すると同時に、改ざんの検知用のデータを暗号文と同時に送信して送信側と受信側で同一であるかを確認しているので、通信内容の改ざん被害を防ぐことができます。
ただし、SSL暗号化で防げるのはあくまで通信途中の改ざんであり、サーバー内に侵入されて改ざんされる場合は防げません。
なりすましの防止
なりすましとは、運営者と偽り、ユーザーから個人情報を入手したり、金銭を奪われてしまう詐欺行為を指します。
特に偽物のWebサイトを作成し、そこからユーザーに重要な情報を入力させることで情報を奪うことをフィッシング詐欺と呼びます。
たとえばオンラインショッピングの場合なら、前述のような偽物のWebサイトにユーザーが自身の個人情報を入力することで情報を盗まれてしまいます。
もっと被害が大きい例ならば、クレジットカードの会員ページのログイン情報を偽物のWebサイトに入力してしまうと、ログイン情報を取得した第三者によって実際のクレジットカードの会員ページにログインされ、そこで得た情報によってユーザーのクレジットカードが悪用されてしまうかもしれません。
このようななりすまし行為を防ぐにはSSLを導入しましょう。
さらに信頼性の高い「企業実在認証・組織認証(OV)」や、認証が厳格で信頼性の高い「実在証明拡張認証(EV)」を導入するとより効果的です。
SSLを導入する
ここでは実際にSSLを導入する方法、手順について説明します。
SSLには大きく分けて「共有(共用)SSL」と「独自SSL」の2つの種類があります。
まずはどちらのSSLが自身のドメインに合っているか(どちらのSSLには適用できないか)を、以下のメリットとデメリットを見て確認してください。
共有(共用)SSL
共有SSLは、レンタルサーバー会社が管理しているSSLであり、その会社が共用SSL用に設定したドメインのSSLを複数のユーザーで共有して利用するものです。
共有SSLのメリットは、大きく分けて以下の3つです。
1.更新手続きが不要
レンタルサーバー会社が用意、かつ管理しているSSLであるため、ユーザー側で更新手続きを行う必要がありません。
2.簡単に設定ができる
ほとんどのレンタルサーバー会社が設定メニューをコントロールパネルに用意してあるため、簡単に設定を行えます。
3.料金は(基本的に)無料
共有SSLは、ほとんどのレンタルサーバー会社が無料で提供しています。
逆に共有SSLのデメリットは、大きく分けて以下の2つです。
1.独自ドメインでは利用できない
これが共有SSLの最大のデメリットです。その会社が共有SSL用に設定したドメインでしか使えないのです。独自ドメインでは共有SSLが利用できないので独自SSLを選ぶしかありません。
2.信頼面では劣る(安全性をアピールできない)
レンタルサーバー会社の用意したSSL証明書によりますが、その多くがドメイン認証(DV)によるSSL証明書です。個人のWebサイト、ブログには適したSSLですが、ショッピングサイトや企業、法人サイトには適さないSSLのため、信頼の面では劣ります(ドメイン名の視点からも、独自ドメインでないECサイトや企業、法人サイトでは信頼性が落ちてしまいます)。
独自SSL
独自SSLは、自分自身で申請して取得を行い、さらに管理も行わなければならないSSLです。
独自SSLのメリットは、大きく分けて以下の2つです。
1.信頼度が高い(安全性をアピールできる)
共有SSLは独自ドメインでは利用できませんでしたが、独自SSLは独自ドメインで利用できる、つまり専用のSSLとして使うことができるため、共有SSLよりも安全性をアピールできます。
2.SSL証明書を選択できる
自身でSSLを申請して取得を行うということは、SSL証明書の種類を選ぶことができるということでもあります。ドメイン認証(DV)はもちろん、企業実在認証・組織認証(OV)、実在証明拡張認証(EV)なども選ぶことができます。ショッピングサイトや企業、法人サイトであればSSLは企業実在認証・組織認証(OV)、実在証明拡張認証(EV)となりますので、前述の「信頼度が高い」メリットにも繋がります。
逆に独自SSLのデメリットは、大きく分けて以下の3つです。
1.管理が面倒
独自SSLは自分自身で申請して取得を行い、管理も自分で行わなければなりません(更新作業も忘れないように行わなければなりません)。
2.設定を自分で行わなければならない
独自SSLは申請し、取得して終わり…とはならず、自分で独自ドメインに適用するように設定も行わなければなりません。
3.料金が高額
独自SSLはドメイン認証(DV)であっても高額であり平均で年に数万円、実在証明拡張認証(EV)にいたっては年に十数万円もかかる場合があります。ただし、最近は無料の独自SSLである「Let’s Encrypt」や「StartCom」などのサービスも登場していますが、ドメイン認証(DV)の証明書のため、あくまで個人のWebサイト、ブログのためのSSLだと言えます。
SSL導入までの流れ
自身のドメインに合うSSLはどちらかが分かり、選んだところでいよいよSSLの導入、利用開始です。
導入、利用開始までは以下の流れとなります(ここでは独自SSLを導入する場合を想定して説明しています)。
1.WHOIS情報の確認とCSRの作成
契約したレンタルサーバー会社のコントロールパネルからCSRを作成します(CSRの作成方法は、各レンタルサーバー会社のマニュアルや説明ページに従ってください)。
また、メールによる認証を選ぶ場合、WHOIS情報に登録されているメールアドレスに認証メールが送られるため、必ずWHOIS情報を確認して適切なメールアドレスを設定しておいてください。
2.申請および証明書の発行
作成したCSRを認証局(CA)へ提出して、証明書の発行を申請します(申請には別途費用が発生します。また、承認されて証明書が発行されるまでには時間を要します)。
企業実在認証・組織認証(OV)や実在証明拡張認証(EV)の場合は、戸籍謄本が必要な場合もあります。
3.証明書を設定する
証明書が発行されたらレンタルサーバー会社のコントロールパネルより、証明書を設定(インストール)します。(証明書の設定方法は、各レンタルサーバー会社のマニュアルや説明ページに従ってください)。
4.SSLを設定する
レンタルサーバー会社のコントロールパネルより、SSL設定を有効化します(SSLの設定方法は、各レンタルサーバー会社のマニュアルや説明ページに従ってください)。
5.アクセス確認
実際に「https://」のURLにアクセスしてみて、Webサイトに正常に閲覧できる、作動しているかを確認しましょう。
以上の申請および設定が終わればSSL証明書の取得は完了です。
これでデータを盗まれたり改ざんされたり、なりすまされるリスクはなくなり、ユーザーも安心安全にあなたのWebサイトを利用することができます。
まとめ
今回はSSL証明書について、種類や仕組み、役割から導入について説明しました。
SSLはとても複雑ですべてを理解することも難しい技術ではありますが、この記事で説明した事を踏まえるだけでも十分であり、SSL証明書の申請、導入までは問題なく行えるでしょう。
SSL証明書を導入してセキュリティを高めることはユーザーが安心安全にデータ通信を行えるようになるのはもちろん、あなたのWebサイトやブログ、引いてはブランドやサービスの信頼性も上がります。
個人で運営するWebサイトやブログであれば、無料の独自SSLである「Let’s Encrypt」や「StartCom」などのドメイン認証(DV)の証明書でも十分ですが、ECサイトや企業、法人サイトであるなら企業実在認証・組織認証(OV)や実在証明拡張認証(EV)のSSL証明書を導入して然るべきです。
導入するには高い料金ではありますが、それに見合うだけのブランドやサービスの信頼性を得ることもできますよ。
ぜひ、この記事を参考にしてSSL証明書を導入し、あなたのWebサイトやブログのセキュリティを高めてユーザーの信頼度も高めましょう。