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サーバ証明書には、認証レベルごとに以下の3種類があります。
- ドメイン認証
- 企業実在認証
- EV認証
それぞれの違いを見ていきましょう。
1. ドメイン認証(DV)
ドメイン認証とは、SSLサーバ証明書の中で最も簡単に取得できる認証方法です。申請者がドメインの所有者であるかを確認します。低価格でスピーディに取得できるため、個人のウェブサイトや期間限定ページなどに広く使用されています。
2. 企業実在認証(OV)
企業実在認証(OV)とは、法人向けの認証方法です。ドメインの所有者確認に加え、ウェブサイトの運営組織が本当に存在しているか確認します。帝国データバンク(TDB)や東京商工リサーチ(DUNS)といった第三者機関に情報登録している法人しか申請できません。
運営組織の実在性を情報紹介や電話確認などで認証するため、ドメイン認証よりも信頼性の高い認証方法となります。主に、決済情報や個人情報を扱う法人サイトで用いられています。
3. EV認証
EV認証とは、SSLサーバ証明書の中で最も厳格な認証方法です。ドメインの所有者確認と運営組織の実在性を確認しますが、企業実在認証よりも厳しく実在性をチェックされます。第三者機関に法人情報があるだけでは、審査は通りません。企業の活動実績も評価対象にされます。最も厳格な認証であるため、大手企業や公的機関などのホームページに利用されています。
SSLサーバ証明書導入の必要性
もうひとつ、SSL証明書の重要な役割として、データの改ざんとなりすましの防止という機能があります。まずは、データの改ざんについて見ていきましょう。
改ざん防止機能
WebサイトをSSL化すると、ブラウザとサーバーとの通信が暗号化(https化)されるほか、誰かが通信途中でデータを書き換えると、「データが改ざんされている」ことが分かるようになります。データが改ざんされた可能性を検知した場合は、信用できないデータを破棄して送り主に再度データを送るように依頼する動きが、SSL証明書の改ざん防止機能です。
なりすまし防止機能
SSL通信の際に必要な秘密鍵は、当然コピーすることはできません。秘密鍵がない状態でSSL通信を試みてもSSL通信は実現できず、ドメインの正当性も保証されません。そのため、ブラウザ側では「このページは○○.jpと名乗っているけど実際には違うサイト」というように、なりすましであることを教えてくれます。現在、多くのブラウザではページが表示されない仕様になっているため、なりすましの被害を防止することができます。
認証局
改ざん防止となりすましの防止については、SSL証明書を発行する「認証局」という組織の存在が重要です。認証局は、信頼された第三者機関であり「○○.jpのドメインを保有している人にSSL証明書を発行した」と保証してくれる組織です。
また、認証局は失効の依頼を受けた電子証明書や秘密鍵の危殆化の可能性のある証明書を失効させる役割も担っています。電子証明書の所有者が自分の秘密鍵を紛失したり盗まれてしまった場合、悪意のある者によって、本来の所有者になりすますことができてしまいます。
電子署名
ドメインの認証は、「電子署名」という技術を使用しています。秘密鍵によって署名されたデータは、公開鍵によって秘密鍵で署名されているかどうか検証します。ドメインの認証は、この検証に使われる電子署名アルゴリズムを利用して「サーバー証明書を送ってきたサーバーのドメイン」が「送られてきたサーバー証明書に記載されているドメイン」と同じであることを確認します。これらの流れによって、ブラウザのアドレスバーに表示されているドメインに正確にアクセスしていることが確認でき、なりすましの防止が可能となります。
盗聴
ウェブサイトにSSL証明書を導入すると、盗聴防止にもなります。インターネットセキュリティにおける「盗聴」とは、ネットワーク上の情報を盗み見る行為です。送受信されたデータから、個人情報や企業の機密情報を盗むことを目的としています。クレジットカードなどの決済情報が盗聴されれば、不正利用被害に遭いかねません。
SSLによって暗号化されたウェブサイトは、盗聴のリスクが格段に減ります。ウェブサイトに個人情報を入力する場合、アドレスバーの鍵マークを確認しましょう。常時SSL化されているウェブサイトであれば、緑色の鍵マークが表示されています。鍵マークがない場合、そのウェブサイトは常時SSL化されていません。個人情報の入力は避けたほうが良いでしょう。
SSL化されているサイトでも注意が必要!
SSL通信は通信の暗号化を行っていますが、全ての通信を秘匿できるわけではありません。ネットワーク管理者であれば、通信先のIPアドレスやデータ量を見ることができます。SSL化されているとはいえ、すべてが暗号化されていて誰にも通信の内容が見られないわけではないことを念頭に置いておきましょう。
よくある質問
SSLインスペクションとは?
SSLインスペクションとは、暗号化された通信内容の複合化方法を意味します。UTMや次世代ファイアウォールなどのセキュリティシステムに採用されている手法です。少し分かりづらいので、丁寧に解説していきます。
まず、通常のhttps通信(SSL暗号化通信)では、サーバーとクライアント間の通信内容が全て暗号化されています。簡単に言うと、ウェブサイトからPC間の通信内容が外部から見えなくなっている状態です。
通信内容の盗聴防止にはなりますが、セキュリティシステムからもhttps通信の内容が見えません。つまり、https通信を使った不正アクセスや悪意あるウェブサイトへの情報送信が見抜けないわけです。
そこで役立つのが、SSLインスペクションです。SSLインスペクションは、暗号化された通信内容を一旦復号化します。復号化とは、暗号化された通信内容を元の状態に戻すことです。通信内容をチェックできるため、セキュリティシステムによる不正通信の検知が可能になります。チェックを通った通信のみが再度暗号化され、ウェブサイトへ送られます。
SSLインスペクションは、https通信の「不正通信も暗号化してしまう」弱点のカバーが可能です。通常のhttps通信では見逃してしまう脅威も検知するため、より堅牢なセキュリティ対策を実現できるでしょう。
SSL/httpsを導入するには?
WebサイトでSSL(https)を導入する場合は、通信の暗号化に必要な鍵とWebサイトの運営者の情報が含まれた「SSLサーバ証明書」をサーバーにインストールする必要があります。
SSLサーバ証明書は、信頼のおける第三者機関(認証局)でWebサイトの運営者が正しい運営者であるかどうかの審査を行い、通過すれば発行されます。
詳しくは下記コラムをご覧ください。
メールをSSL化する方法は?
SSL化はウェブサイト以外に、電子メールでもおこなえます。電子メールのSSL化は、メール内容の改ざんや盗聴などの被害防止に重要です。ビジネスのやりとりに電子メールを用いている場合、積極的に取り入れたほうが良いでしょう。
メールをSSL化する方法は、以下の3通りです。
- メール配信サービスのSSL機能を使う
- SSL証明書導入済みのメールサーバーをレンタルする
- 自社メールサーバーにSSL証明書を導入する
最も簡単な方法は「メール配信サービスの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は複雑で難しい技術ですが、Webサイトを運営する上では必須の導入技術です。SSLを知り「出来ること」と「出来ないこと」を把握し、必要なセキュリティ対策を行い安全な運営を行っていきましょう。