WebサイトのSSL証明書が無効である場合または見当たらない場合、ユーザーがWebサイトを読み込もうとするとエラーメッセージが表示されることがあります。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!
記事のリンクをコピーする
「接続はプライベートではありません」というメッセージが表示されて、Webサイトを表示できないという経験をした方は結構いると思います。このエラーは、暗号化されているというクライアントデバイス側の予想に反して、クライアント(ノートパソコンやタブレットのようなユーザーのデバイス)とサーバー(Webサイトのホスト)間の接続が暗号化されていないことを意味します。
その結果、攻撃者は、ユーザーがWebサイト上で行うことを見ることができてしまいます。クライアントとサーバー間のメッセージは、暗号化によってスクランブルをかけられることなく、平文で送信されます。また、クライアントは、正しいサーバーに接続していることを検証できません。
ブラウザーが「接続はプライベートではありません」または「接続は安全ではありません」というメッセージを表示するのはこのためです。ブラウザーはWebサーバーを検証できないうえ、メッセージを暗号化して攻撃者がメッセージを読み取るのを阻止することができません。
このエラーは、WebサイトのSSL証明書に関する問題によって引き起こされます。SSL証明書がない、期限が切れている、または正当な認証局によって発行されていない、あるいは何らかの理由でクライアントがアクセスできない、といった問題です。SSL証明書は、セキュアなHTTPS接続を介してWebサイトを提供するのに必要です。
SSL証明書が無効である、またはSSL証明書が見当たらないという状況は、たとえるなら店のレジ係がアルコール飲料を購入できる飲酒年齢に達しているかどうかを確認した際に、客が政府発行の身分証を提示する代わりに、「この人の名前はジェフで、年齢は22才です」と書かれた手書きのメモを提示するようなものです。もちろん、その紙切れは有効な身分証ではありません。その客は22才でないかもしれないのとジェフという名前でないかもしれません。レジ係が不審だと思って取引を中止しても致し方ありません。
その客のように、SSL証明書のないWebサイトは身元を証明できません。そのうえ、SSL証明書のないWebサイトは通信を暗号化できません。身分証を持参していないことで、世界中の人がその客とレジ係の会話を聞くことができてしまうのです。
これはお勧めしませんが、多くの場合、ユーザーはこのメッセージが表示されてもページにアクセスします。HTTPSがなければ、さまざまなサイバー攻撃が可能になってしまいます。
SSL証明書は、Webサイトの所有権を確認し、暗号化された安全な接続を可能にします。次のような情報を使用してWebサーバーにインストールされたテキストファイルです。
SSL証明書は、SSL暗号化またはTLS暗号化を使用してWebサイトとの間の通信を暗号化するのに必要です。これはHTTPSとしても知られています。
TLS/SSLを使用してデータが暗号化されている場合、クライアントとサーバー間でやり取りされるデータを誰かが傍受しても、意味をなさないランダムなデータにしか見えません。データが暗号化されていないと、誰かが傍受して簡単に読めてしまいます。暗号化は個人的な手紙を郵送するときに内容を保護する封筒のようなものです。
SSL証明書に関する多くの問題が原因で「接続はプライベートではありません」エラーが発生します:
WebサイトのSSL証明書が無効である、または見当たらない。これには、いくつかの理由が考えられます。提示されたSSL証明書に掲載されているWebサイトが間違っている、SSL証明書の期限が切れている、あるいはSSL証明書そのものが存在しない、といったことが考えられます。たとえば、ユーザーがhttps://www.example.comとブラウザーに入力したが、example.comにはHTTPSのURLが存在しないというケースです。
SSL証明書に、ドメイン名の種類が含まれていない。たとえば、SSL証明書にwww.example.comが記載されているが、example.com(「www」がない)が記載されていない場合です。この状況が起きるのは、SSL証明書のSubject Alternative Name(SAN)セクションの情報が正しく入力されていないためです。その結果、Webサイトには機能しているSSL証明はあるものの、ユーザーが入力したURLと証明書に記載されているものが一致しないことになります。したがって、ブラウザーは証明書が無効だとみなすのです。
Webサーバーが間違ったWebサイトのSSL証明書を提示した。この状況が発生するのは、複数のWebサイトが1つのIPアドレスでホストされたときです。それぞれのWebサイトは独自のSSL証明書を持つため、クライアントデバイスがいずれか1つのWebサイトに安全に接続しようとすると、サーバーはどのSSL証明書を提示すべきかわかりません。たとえるなら、郵便物をマンションに配達するときに、住所に部屋番号がないために配達できないという状況です。TLSの拡張仕様であるSNIがこのエラーの防止に役立ちます。
ほかの考えられる原因:
Chromeでは、このメッセージはHTTPサイトの閲覧時にアドレスバーの「Not Secure(安全でない)」をクリックすると表示されます。これは、WebサイトにSSL証明書が設定されていなくて、サイトとの間のトラフィックの暗号化にSSL/TLSを使用していないことを意味します。通常、ブラウザーは、HTTPS化をしていないWebサイトをブロックしませんが、ユーザーはログイン認証情報、クレジットカード情報、政府発行のID番号などをHTTPS未対応のWebサイトに入力しないようにしてください。
Cloudflareは、すべてのWebサイトに無償のSSL/TLS暗号化を提供します。CloudflareのTLS暗号を使用するWebサイトでは、こうしたエラーのほとんどが発生しませんが、クライアントデバイスが適切に設定されていないとエラーが表示されることがたまにあります。Cloudflareが提供する無償のSSL証明書の詳細については、こちらをご覧ください。