サイバーセキュリティーサービスの比較・資料請求サイト|中小企業向けのセキュリティ対策を考える「サイバーセキュリティ」に関する情報メディア。日本の中小企業の情報を守るため、最新のセミナー・人材育成・製品・中小企業向けのセキュリティ対策を考えるサイバーセキュリティ情報サイトです。

SSL・TLSとは?サーバー証明書とは?



企業向けインフラエンジニア講座 個人向けエンジニア研修

SSLとは、Secure Sockets Layerの略で、インターネット上に置いてWebサイト等を閲覧する際に、WebブラウザとWebサーバ間でのデータの通信を暗号化し、送受信させる仕組みのことです。

当記事では、インターネット上で頻繁に送受信される氏名・住所・メールアドレスなどの個人情報や、ショッピングの決済に必要なクレジットカード情報、ログインに必要なID・パスワードといった重要な情報を、悪意ある第三者による盗聴や改ざんを防ぐためのSSLという技術について説明していきたいと思います。

SSLとは

SSL(Secure Sockets Layer)とは、Webサイト(サーバー側)とサイトを閲覧しているユーザー間でのデータ通信を暗号化して、送受信する仕組みのことです。SSLは、インターネット上で頻繁に通信される重要な個人情報を悪意ある第三者の盗聴などから防いだり、送信される重要な情報の改ざんを防ぐ役割を担っています。

TLSとは

現在は、より安全なTLS(Transport Layer Security)という規格の暗号化通信が使われています。
1999年にSSL3.0から移行する形でバージョン「TLS1.0」がリリースされ、現在では「TLS1.3」が最新のバージョンです。

「SSL/TLS」と表記されていることも多く見られます。これは、世間にはSSLという名称が暗号化通信規格の一般名称として定着しているためです。そのため、本記事でもSSLという名称を使って解説していきます。

httpsと鍵マーク

「HTTPS」とは、「HyperText Transfer Protocol Secure」の略称で、ネット上のHTTP (HyperText Transfer Protocol)通信が、SSLによって暗号化されたプロトコルのことを指します。SSLによって暗号化された通信データは保護されるため、第三者が盗み見しようとしても解読することができません。

WebサイトにSSLが導入されている場合は、データは暗号化されることが保証されているため、URLの先頭が「https://〜」となり、ブラウザには『鍵マーク』が表示されます。

SSL/httpsサイトと非SSL/httpサイトの見分け方

SSLが導入されていないWebサイトでは、旧来のHTTP通信でデータの送受信が行われます。HTTP通信では、Webサイトから送信されたデータは暗号化されず平文のままのため、第三者の盗聴や改ざんを防ぐことができません。

HTTP通信の場合、アドレスは「http://〜」となり、最近のブラウザではWebサイトのURLの先頭に警告マークが表示されます。

暗号化されていないサイトは危険

先述のとおり、インターネット上にあるデータは悪意ある第三者が通信の中身を盗み見て悪用することが可能です。閲覧したサイトのURLや、掲示板などに投稿した内容、オンラインショッピングで入力したクレジットカードの番号やパスワードなども、盗み見ることが可能なのです。そこで、個人情報を安心して保護するように生まれたのが「SSL」という仕組みです。

非暗号化(http)通信の場合、カフェなどで利用できる無料Wi-Fiも、ちょっとした知識があれば簡単に通信の内容を盗み見ることが可能です。こういった悪用を防ぐために、SSLはブラウザとサーバー間の「通信の暗号化」を行います。万一、通信途中でデータを盗み見られても、暗号化されているデータの解読は困難となります。

日に日に便利になっていくオンラインサービスですが、比例して個人情報をインターネット上で取り扱うことも増えているため、今ではWebサイトのSSL化は必須と言えるでしょう。

保護されていない通信という警告が表示されたら

WebブラウザのURL部分に「保護されていない通信」という表示がされた場合、閲覧しているWebサイトはSSL通信がされていない=暗号化されていない、という警告がされています。この場合、Webサイトの管理者がSSL化をしない限り、警告が消えることはありません。

SSLサーバ証明書導入の必要性

もうひとつ、SSL証明書の重要な役割として、データの改ざんとなりすましの防止という機能があります。まずは、データの改ざんについて見ていきましょう。

改ざん防止機能

WebサイトをSSL化すると、ブラウザとサーバーとの通信が暗号化(https化)されるほか、誰かが通信途中でデータを書き換えると、「データが改ざんされている」ことが分かるようになります。データが改ざんされた可能性を検知した場合は、信用できないデータを破棄して送り主に再度データを送るように依頼する動きが、SSL証明書の改ざん防止機能です。

なりすまし防止機能

SSL通信の際に必要な秘密鍵は、当然コピーすることはできません。秘密鍵がない状態でSSL通信を試みてもSSL通信は実現できず、ドメインの正当性も保証されません。そのため、ブラウザ側では「このページは○○.jpと名乗っているけど実際には違うサイト」というように、なりすましであることを教えてくれます。現在、多くのブラウザではページが表示されない仕様になっているため、なりすましの被害を防止することができます。

認証局

改ざん防止となりすましの防止については、SSL証明書を発行する「認証局」という組織の存在が重要です。認証局は、信頼された第三者機関であり「○○.jpのドメインを保有している人にSSL証明書を発行した」と保証してくれる組織です。

また、認証局は失効の依頼を受けた電子証明書や秘密鍵の危殆化の可能性のある証明書を失効させる役割も担っています。電子証明書の所有者が自分の秘密鍵を紛失したり盗まれてしまった場合、悪意のある者によって、本来の所有者になりすますことができてしまいます。 そのため、所有者は秘密鍵を盗まれてしまった場合などは、直ちに認証局に届け出て、証明書の失効処理を行わなければなりません。

電子署名

ドメインの認証は、「電子署名」という技術を使用しています。秘密鍵によって署名されたデータは、公開鍵によって秘密鍵で署名されているかどうか検証します。ドメインの認証は、この検証に使われる電子署名アルゴリズムを利用して「サーバー証明書を送ってきたサーバーのドメイン」が「送られてきたサーバー証明書に記載されているドメイン」と同じであることを確認します。これらの流れによって、ブラウザのアドレスバーに表示されているドメインに正確にアクセスしていることが確認でき、なりすましの防止が可能となります。

盗聴

ウェブサイトにSSL証明書を導入すると、盗聴防止にもなります。インターネットセキュリティにおける「盗聴」とは、ネットワーク上の情報を盗み見る行為です。送受信されたデータから、個人情報や企業の機密情報を盗むことを目的としています。クレジットカードなどの決済情報が盗聴されれば、不正利用被害に遭いかねません。

SSLによって暗号化されたウェブサイトは、盗聴のリスクが格段に減ります。ウェブサイトに個人情報を入力する場合、アドレスバーの鍵マークを確認しましょう。常時SSL化されているウェブサイトであれば、緑色の鍵マークが表示されています。鍵マークがない場合、そのウェブサイトは常時SSL化されていません。個人情報の入力は避けたほうが良いでしょう。

SSLサーバ証明書を利用するには

SSLサーバ証明書(以下、SSL証明書)は、Webサイトの「運営者の実在性を確認」して、ブラウザとサーバー間で「通信データの暗号化」を行うための電子証明書のことです。SSLサーバ証明書には、Webサイトの所有者情報のほか、暗号化通信に必要な鍵、発行者の署名データが含まれています。SSL証明書を利用するには、以下の工程が必要となります。

  1. 秘密鍵を生成する
  2. 秘密鍵を用いてCSRを生成する
  3. CSRを用いて証明書を生成する
  4. 秘密鍵と証明書をセットにしてWebサイトの通信を暗号化する

秘密鍵とは

SSL証明書はCSR(Certificate Signing Request:証明書署名要求)を介して生成され、秘密鍵とペアになるように構成されています。SSL証明書は公開鍵なので再発行できる一方で、秘密鍵は唯一無二のものです。一部の古い暗号スイートを利用していた場合、秘密鍵が流出してしまうとそのドメインのサーバーとの通信を誰でも復号できるようになってしまうため、絶対に紛失しないように注意しましょう。

現在では、PFS(Perfect Forward Secrecy:前方秘匿性)対応の暗号スイートを利用できるブラウザが一般的です。PFSに対応した暗号スイートを利用していた場合、万一サーバーの秘密鍵が盗まれてしまったとしても、個々のセッションでは別の鍵ペアが都度生成される仕組みのため、全ての通信が解読されることはありません。

SSLサーバ証明書の種類

SSLサーバ証明書には、認証レベルごとに以下の3種類があります。

  1. ドメイン認証
  2. 企業実在認証
  3. EV認証

それぞれの違いを見ていきましょう。

1. ドメイン認証(DV)

ドメイン認証とは、SSLサーバ証明書の中で最も簡単に取得できる認証方法です。申請者がドメインの所有者であるかを確認します。低価格でスピーディに取得できるため、個人のウェブサイトや期間限定ページなどに広く使用されています。

2. 企業実在認証(OV)

企業実在認証(OV)とは、法人向けの認証方法です。ドメインの所有者確認に加え、ウェブサイトの運営組織が本当に存在しているか確認します。帝国データバンク(TDB)や東京商工リサーチ(DUNS)といった第三者機関に情報登録している法人しか申請できません。

運営組織の実在性を情報紹介や電話確認などで認証するため、ドメイン認証よりも信頼性の高い認証方法となります。主に、決済情報や個人情報を扱う法人サイトで用いられています。

3. EV認証

EV認証とは、SSLサーバ証明書の中で最も厳格な認証方法です。ドメインの所有者確認と運営組織の実在性を確認しますが、企業実在認証よりも厳しく実在性をチェックされます。第三者機関に法人情報があるだけでは、審査は通りません。企業の活動実績も評価対象にされます。最も厳格な認証であるため、大手企業や公的機関などのホームページに利用されています。

SSL通信が成立するまでの流れ

SSL通信が成立するまでに、ブラウザとサーバーの間で起きている流れは以下のとおりです。

  1. ブラウザ側:SSL通信をリクエスト
  2. サーバー側:SSL証明書を送付
  3. ブラウザ側:電子署名の検証から「SSL証明書に記載されたドメイン」と「通信先のドメイン」が同じであることを確認
  4. ブラウザ・サーバー:SSL通信を行うために共通鍵を交換
  5. ブラウザ・サーバー:共通鍵を使って送受信するデータを暗号化・復号しSSL通信成立

簡単ではありますが、このような流れでブラウザとサーバー間の通信が暗号化されています。この流れを「TLSハンドシェイク」と呼び、通信を行うサーバー単位でこの手続きを行う必要があります。そのため、外部ファイルの読み込みが多いWebページなどではTLSハンドシェイクを何度も行う必要があり、ページ表示のパフォーマンスに影響する可能性も考慮しなければなりません。

SSLインスペクションとは

SSLインスペクションとは、暗号化された通信内容の複合化方法を意味します。UTMや次世代ファイアウォールなどのセキュリティシステムに採用されている手法です。少し分かりづらいので、丁寧に解説していきます。

まず、通常のHTTPS通信(SSL暗号化通信)では、サーバーとクライアント間の通信内容が全て暗号化されています。簡単に言うと、ウェブサイトからPC間の通信内容が外部から見えなくなっている状態です。

通信内容の盗聴防止にはなりますが、セキュリティシステムからもHTTPS通信の内容が見えません。つまり、HTTPS通信を使った不正アクセスや悪意あるウェブサイトへの情報送信が見抜けないわけです。

そこで役立つのが、SSLインスペクションです。SSLインスペクションは、暗号化された通信内容を一旦復号化します。復号化とは、暗号化された通信内容を元の状態に戻すことです。通信内容をチェックできるため、セキュリティシステムによる不正通信の検知が可能になります。チェックを通った通信のみが再度暗号化され、ウェブサイトへ送られます。

SSLインスペクションは、HTTPS通信の「不正通信も暗号化してしまう」弱点のカバーが可能です。通常のHTTPS通信では見逃してしまう脅威も検知するため、より堅牢なセキュリティ対策を実現できるでしょう。

メールをSSL化する方法

SSL化はウェブサイト以外に、電子メールでもおこなえます。電子メールのSSL化は、メール内容の改ざんや盗聴などの被害防止に重要です。ビジネスのやりとりに電子メールを用いている場合、積極的に取り入れたほうが良いでしょう。

メールをSSL化する方法は、以下の3通りです。

  1. メール配信サービスのSSL機能を使う
  2. SSL証明書導入済みのメールサーバーをレンタルする
  3. 自社メールサーバーにSSL証明書を導入する

最も簡単な方法は「メール配信サービスのSSL機能の利用」です。メール配信サービスの中には、メール送信時に暗号化する機能が搭載されているものが多くあります。難しい設定をする必要がないので、スムーズにメールのSSL対応を実施できます。

「SSLメールサーバーのレンタル」や「自社によるSSL証明書の導入」は、中・上級者向けの方法です。メール配信サービスの利用で充分なのか、あるいはメールサーバーにSSL証明書を導入するべきかよく検討しましょう。

SSL証明書の無料と有料の違い

SSL証明書は有料だけではなく、無料のものも存在します。ここでは、有料と無料の違いを具体的に解説します。

SSL【無料証明書】

無料のSSL証明書の代表が、「Let’s Encrypt」です。SSLの普及を目的とし、世界の大手企業によって運営を支援されているため無料で利用できます。

有料証明書との違いは、証明書の申請・審査・発行が全て自動で行われる点です。有効期間は90日間と短いですが、基本的に自動更新されます。自動更新を有効化するためには、スクリプトの設定が必要です。ただし、レンタルサーバーによっては、自動更新スクリプトを利用できない場合もあります。

また、「無料だとちゃんと暗号化されないのでは?」と思う人もいるかもしれません。ですが、無料と有料のSSL証明書に暗号強度の差はありません。無料のSSL証明書でも通信内容はきちんと暗号化されますので、ご安心ください。

SSL【有料証明書】

一方、有料のSSL証明書は厳格な認証方法になるほど費用も高額になり、電話確認や運営組織の実在性を厳しくチェックされます。高額な分、独自のマルウェアスキャン機能や損害補償などのサポート体制が充実しています。

証明書の更新方法は手動が基本で、有効期間は最長で1年です。期限切れになるとウェブサイトに接続できず、「安全ではありません」といった警告が表示されます。

警告はウェブブラウザによっておこなわれるため、サイト訪問者に「SSL証明書の再取得中です」といったメッセージは伝えられません。自社のウェブサイトに不安なイメージを与えてしまうため、忘れずに更新しましょう。

ここまで説明したSSL証明書の無料と有料の違いを、わかりやすく表にまとめました。

主な有効期間 更新方法 サポート対応 暗号強度
無料 90日間 自動 無し 同等
有料 1年間 手動 有り

運営しているウェブサイトの必要性に応じて、適しているほうを選びましょう。

SSL設定時にエラー・警告メッセージが出たら?

SSL証明書をウェブサイトに導入すると、エラーや警告メッセージが表示されることがあります。ここでは、下記5つに分けて原因と解決方法を解説します。

  1. ブラウザエラー
  2. SSL証明書の有効期限切れ
  3. SSLと非SSLの混合コンテンツ
  4. シマンテック(現デジサート)の古い証明書
  5. 古いSSLプロトコル

順番に説明します。

1. ブラウザエラー

よくあるのが、「ERR_CERT_COMMON_NAME_INVALID」と表示されるブラウザエラーです。サーバーのドメイン名と、SSL証明書のドメイン名が異なると発生します。基本ではありますが、ドメイン名が一致しているか確認してみてください。他にも、中間CA証明書の未設定や自己署名証明書の利用などのケースが考えられます。

2. SSL証明書の有効期限切れ

SSL証明書の有効期限が切れると、「NET::ERR_CERT_DATE_INVALID」と表示されます。有効期限切れのウェブサイトへの接続は強制的に遮断されるため、ただちにSSL証明書を更新しましょう。もしくは更新せずに、新しいSSL証明書を取得しても解決できます。

3. SSLと非SSLの混合コンテンツ

混合コンテンツとは、SSL化しているウェブサイト内に非SSLコンテンツが含まれている状態です。具体的には、Webサイト内の全てのコンテンツURLが「http」から「https」に置換されていないと混合コンテンツになります。混合コンテンツはブロックされるため、画像や動画、一部ページが空白になって表示されません。

混合コンテンツは、下記の手順で修正しましょう。Webブラウザによって手順が異なるため、Google Chromeを例に説明します。

  1. チェックしたいウェブサイトで右クリックし、「検証」を選択
  2. メニュー上部の「Console」を選択
  3. 混合コンテンツの箇所が表示されるので、適宜修正していく

混合コンテンツはセキュリティホールとなるため、必ず対処しましょう。

4. シマンテック(現デジサート)の古い証明書

シマンテック(現デジサート)の古い証明書を使っていると、「ERR_CERT_SYMANTEC_LEGACY」とエラー表示されます。Googleは2018年10月より、シマンテックの証明書を段階的に失効させました。シマンテックがSSL証明書を不正発行していたことが原因です。

シマンテックの古い証明書を使っているウェブサイトは、証明書の有効期限が切れていなくてもアクセスが遮断されます。SSL証明書の更新、または新しいSSL証明書の取得でエラーを回避できます。

5. 古いSSLプロトコル

SSLのプロトコルに「TLS1.0」または「TLS1.1」を使っている場合、ウェブブラウザによってアクセスがブロックされます。TLS1.0/1.1には脆弱性があるため、2020年より無効化されました。2020年に実施されているため、放置されているウェブサイト以外はすでに対応済みの場合が多いかと思います。

万が一未対応であれば、レンタルサーバーはすでに運営側が対応していますので問題はありません。サーバーを管理している場合、使用するプロトコルを「TLS1.2」以上に変更しましょう。

SSL化されているサイトでも注意が必要

SSL通信は通信の暗号化を行っていますが、全ての通信を秘匿できるわけではありません。ネットワーク管理者であれば、通信先のIPアドレスやデータ量を見ることができます。SSL化されているとはいえ、すべてが暗号化されていて誰にも通信の内容が見られないわけではないことを念頭に置いておきましょう。

まとめ

SSLは複雑で難しい技術ですが、Webサイトを運営する上では必須の導入技術です。SSLを知り「出来ること」と「出来ないこと」を把握し、必要なセキュリティ対策を行い安全な運営を行っていきましょう。

よくある質問

SSL/httpsを導入するには?

WebサイトでSSL(https)を導入する場合は、通信の暗号化に必要な鍵とWebサイトの運営者の情報が含まれた「SSLサーバ証明書」をサーバーにインストールする必要があります。

SSLサーバ証明書は、信頼のおける第三者機関(認証局)でWebサイトの運営者が正しい運営者であるかどうかの審査を行い、通過すれば発行されます。

SSLの設定方法はどうしたら良いですか?

レンタルサーバーでは管理画面から自分でインストールする場合もありますが、一般的には管理画面上で購入して簡単な設定を行うだけで有効化されます。まずは使用しているサーバーで確認をしてみましょう。

おすすめのセキュリティソフトはありますか?

SSLサーバ証明書のサービスは多くあるため、複数検討して合うところに決めるとよいでしょう。下記では、おすすめのサービスサイトをまとめていますのでこちらを参考にしてみてください。

企業向けインフラエンジニア講座 個人向けエンジニア研修




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


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

下記は中小企業向けの目次になります。

  1. 1.はじめに

  2. 2.あなたの会社の情報が漏洩したら?

  3. 3.正しく恐れるべき脅威トップ5を事例付きで
    •  3-1.ランサムウェアによる被害
    •  3-2.標的型攻撃による機密情報の窃取
    •  3-3.テレワーク等のニューノーマルな働き方を狙った攻撃
    •  3-4.サプライチェーンの弱点を悪用した攻撃
    •  3-5.ビジネスメール詐欺による金銭被害
    •  3-6.内部不正による情報漏洩

  4. 4.情報漏洩事件・被害事例一覧

  5. 5.高度化するサイバー犯罪
    •  5-1.ランサムウェア✕標的型攻撃のあわせ技
    •  5-2.大人数で・じっくりと・大規模に攻める
    •  5-3.境界の曖昧化 内と外の概念が崩壊

  6. 6.中小企業がITセキュリティ対策としてできること
    •  6-1.経営層必読!まず行うべき組織的対策
    •  6-2.構想を具体化する技術的対策
    •  6-3.人的対策およびノウハウ・知的対策

  7. 7.サイバーセキュリティ知っ得用語集

無料でここまでわかります!
ぜひ下記より会員登録をして無料ダウンロードしてみてはいかがでしょうか?

無料会員登録はこちら

SNSでもご購読できます。