Windows 11
 Computer >> コンピューター >  >> システム >> Windows 11

SSLエラー「このサイトは安全な接続を提供できません」をChrome・Opera・Chromiumで解決する方法

Windows 10のノートPCで、一部のHTTPSサイト(すべてではありません)が開けなくなることがあります。ブラウザでそのようなサイトを開こうとすると、「このサイトは安全な接続を提供できません(This site can't provide a secure connection)」というエラーが表示されます。この問題はGoogle Chrome、Opera、その他Chromiumベースのブラウザで発生します。HTTPSとHTTPの両方でページを公開しているサイトであれば、HTTP経由でのみ閲覧できる場合もあります。

Chromeで問題のあるHTTPSサイトを開くと、エラーは次のように表示されます。

このサイトは安全な接続を提供できません
sitename.com から無効な応答が送信されました。
ERR_SSL_PROTOCOL_ERROR

または、次のようなパターンもあります。

このサイトは安全な接続を提供できません
sitename.com ではサポートされていないプロトコルが使用されています。
ERR_SSL_VERSION_OR_CIPHER_MISMATCH
クライアントとサーバーが共通のSSLプロトコルバージョンまたは暗号スイートをサポートしていません。これは、現在安全性が認められていないRC4がサーバー側で必要とされている場合に発生することが多いです。

Mozilla Firefoxでは「安全な接続が確保できませんでした(Secure Connection Failed)」と表示されます。OperaやChromiumベースのブラウザでもほぼ同様のエラーが出ます。これらのHTTPSサイトを開くにはどうすればよいのでしょうか。

エラーの原因と対処の考え方

お気づきのとおり、この問題はブラウザとHTTPS対応サイト間のSSL接続に起因します。原因はさまざまですが、この記事では主要ブラウザで「This site can't provide a secure connection / ERR_SSL_PROTOCOL_ERROR」エラーを解消するための方法を網羅的にまとめました。

なお、Google Chrome、Opera、Chromiumベースのブラウザは開発元こそ異なるものの、いずれも同じWebKit(Chromium)エンジンを使用しているため、HTTPSサイトを開けない問題の解決方法も共通しています。

まず最初に、問題がサイト側にあるのではないかを確認しましょう。スマートフォン、タブレット、自宅や職場のPCなど、別のデバイスから対象サイトを開いてみてください。また、IE/EdgeやMozilla Firefoxなど、別のブラウザでも開けるかどうかを確認すると切り分けに役立ちます。

ブラウザのキャッシュ・Cookieの削除とSSLキャッシュのリセット

ブラウザのキャッシュやCookieは、SSL証明書の問題を引き起こすことがよくあります。まずはブラウザのキャッシュとCookieを削除することをおすすめします。Chromeの場合、Ctrl + Shift + Deleteキーを押すか、アドレスバーにchrome://settings/clearBrowserDataと入力し、期間を「全期間」に設定して「データを削除」をクリックします。

Windows 10または11でSSLキャッシュをクリアする手順は以下のとおりです。

  1. コントロールパネルインターネットオプションを開きます。
  2. コンテンツタブをクリックします。
  3. SSL状態の消去ボタンをクリックします。
  4. SSL キャッシュは正常に消去されました」というメッセージが表示されます。
  5. ブラウザを再起動し、ERR_SSL_PROTOCOL_ERRORエラーが解消されたか確認します。

サードパーティ製ブラウザ拡張機能を無効化する

匿名化ツール、プロキシ、VPN、ウイルス対策系の拡張機能など、対象サイトへの通信に干渉しうるサードパーティ製の拡張機能は、無効化(または削除)することをおすすめします。有効になっている拡張機能の一覧は、Chromeの「設定」→「その他のツール」→「拡張機能」から確認できます。chrome://extensions/に直接アクセスしても構いません。不審な拡張機能をすべて無効にしてみてください。

ウイルス対策ソフトとファイアウォールの設定を確認する

PCにウイルス対策ソフトやファイアウォール(多くはウイルス対策ソフトに組み込まれています)がインストールされている場合、それらがサイトへのアクセスをブロックしている可能性があります。原因を特定するには、一時的にこれらを一時停止してサイトが開けるか試してみましょう。

多くのウイルス対策ソフトには、WebサイトのSSL/TLS証明書を検査するモジュールが搭載されています。サイトが安全でない(自己署名の)証明書や旧式のSSLプロトコルバージョン(SSL 3.0やTLS 1.0)を使用していると検出した場合、アクセスをブロックすることがあります。HTTP/HTTPSトラフィックおよびSSL証明書の検査を無効化してみてください。設定項目の名称は製品によって異なります。例えば:

  • ESET NOD32アンチウイルス:「SSL/TLSプロトコルフィルタリングを有効にする」オプションを無効にします。
  • Avast:「HTTPSスキャンを有効にする」(設定 → プロテクション → コアシールド → Webシールド → カスタマイズ → メイン設定)を無効にします。
  • Dr.Web:内蔵ファイアウォール(Spider Gate)がサイトをブロックしている場合があります。
  • Kaspersky Internet Security:設定 → 詳細 → ネットワークから、対象サイトを除外リストに追加するか、「暗号化された接続をスキャンしない」オプションを選択します。

日付と時刻の設定を確認する

PCの日付、時刻(またはタイムゾーン)が正しくない場合も、HTTPSサイトで安全な接続エラーが発生することがあります。認証時、OSはサイト証明書の発行日、有効期限、そして認証局の証明書の有効期限をチェックするためです。

正しい時刻とタイムゾーンが設定されていることを確認してください。再起動のたびに時刻がリセットされる場合は、CMOS電池の消耗などハードウェア側の問題も疑ってみましょう。

Windowsのルート証明書を更新する

PCが隔離されたネットワークセグメントにあり、長期間更新されていない場合や、自動更新が無効になっている場合は、新しい信頼されたルート証明書(TrustedRootCA)が存在しない可能性があります。Windowsには常に最新のセキュリティ更新プログラムを適用することをおすすめします。

信頼されたルート証明書は手動で更新することも可能です。また、SigCheckなどのツールを使って、PCに不審な証明書や信頼できない証明書がインストールされていないか確認することをおすすめします。これにより、HTTPSトラフィックの傍受(中間者攻撃)などの問題を未然に防げます。

QUICプロトコルのサポートを無効化する

ChromeでQUIC(Quick UDP Internet Connections)プロトコルのサポートが有効になっているか確認してください。QUICは接続の確立を高速化し、サイトへの接続時にすべてのTLS(HTTPS)パラメータをネゴシエートします。しかし、場合によってはSSL接続の問題を引き起こすことがあります。QUICを無効化して試してみましょう:

  1. chrome://flags/#enable-quicにアクセスします。
  2. Experimental QUIC protocolオプションを見つけます。
  3. 値をDefaultからDisabledに変更します。
  4. Chromeを再起動します。

ブラウザとWebサーバーが対応するTLS/SSLプロトコルを確認する

使用しているブラウザがどのTLS/SSLプロトコルバージョンと暗号方式(暗号スイート)に対応しているかを確認しましょう。これには、https://clienttest.ssllabs.com:8443/ssltest/viewMyClient.html にアクセスするだけです。

SSL Labsのオンラインサービスが、ブラウザがサポートするプロトコルと暗号スイートの一覧を返します。筆者の環境では、ChromeはTLS 1.3TLS 1.2のみをサポートしており、それ以外のプロトコル(TLS 1.1、TLS 1.0、SSL 3、SSL 2)はすべて無効化されていました。以下はサポートされる暗号方式の一覧です。

Cipher Suites(優先順)

  • TLS_AES_128_GCM_SHA256
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA

Windowsで有効になっている暗号スイートの完全な一覧は、PowerShellで次のコマンドを実行して確認できます。

Get-TlsCipherSuite | Format-Table -Property CipherSuite, Name

次に、サイト側がサポートするTLS/SSLプロトコルの一覧を確認します。オンラインのSSLチェッカーサービス https://www.ssllabs.com/ssltest/analyze.html?d=domain.com を利用してください(domain.comを調査したいサイトのアドレスに置き換えます)。

サイトがサポートするすべてのTLS/SSLバージョンが、自分のブラウザでも利用可能かどうかを確認してください。この例では、サイトはTLS 1.1、SSL 3.0、SSL 2.0をサポートしていません。Cipher Suiteの一覧も比較してみましょう。

暗号方式がブラウザでサポートされていない場合は、Windows側で有効化する必要があるかもしれません。

一方、Webサーバー(サイト)がクライアントが必要とするSSLプロトコルをサポートしていない場合も、HTTPSサイトへの接続時に「このサイトは安全な接続を提供できません」というエラーが表示されます。

旧式TLS/SSLプロトコルのサポートを有効化する(非推奨)

最後に、旧式のTLSおよびSSLプロトコルのサポートを有効化するだけで問題が解決するケースがあります。多くの場合、これが最も効果的ですが、あえて記事の最後に配置しました。その理由を説明します。

旧式のTLS/SSLプロトコルバージョンが無効化されているのは、単に開発者の意向によるものではありません。HTTPSトラフィック内のデータを攻撃者が傍受したり、改ざんしたりすることを許してしまう多数の脆弱性が存在するためです。これらの旧式プロトコルを安易に有効化すると、インターネット上のセキュリティが損なわれるため、他の方法がすべて失敗した場合にのみ使うべきです。

最新のブラウザやOSでは、脆弱性のある旧式SSL/TLSプロトコル(SSL 2.0、SSL 3.0、TLS 1.1)はデフォルトで無効化されています。現在、SSL接続にはTLS 1.2またはTLS 1.3のみを使用することが推奨されています。

Webサーバー(サイト)が、クライアント(ブラウザ)より古いバージョンのSSL/TLSプロトコルを使用している場合、安全な接続の確立時にERR_SSL_VERSION_OR_CIPHER_MISMATCHエラーが表示されます。このエラーは、TLSハンドシェイク段階で、サイトがブラウザのサポートしない暗号プロトコルや鍵長を使用していることが検出されると発生します。前述の方法でサーバーがサポートするプロトコルと暗号のセットを特定できます。

Windowsで旧バージョンのSSL/TLSプロトコルの使用を許可するには(繰り返しますが、これは安全ではありません!):

  1. コントロールパネルインターネットオプションを開きます。
  2. 詳細設定タブに移動します。
  3. TLS 1.0TLS 1.1TLS 1.2を有効にします(効果がない場合はSSL 3.0SSL 2.0も有効にします)。
  4. ブラウザを再起動します。

それでも解決しない場合の追加の対処法

以上の方法でも「このサイトは安全な接続を提供できません」というエラーが解消しない場合は、以下を順番に試してみてください。

  • C:\Windows\System32\drivers\etc\hostsファイルに静的なエントリが残っていないか確認します。hostsファイルはドメインやサイトへのアクセス遮断にも使われます:Get-Content $env:SystemRoot\System32\Drivers\etc\hosts
  • Google DNS(8.8.8.8)などのパブリックDNSサーバーを試します。ネットワーク接続の設定で、優先DNSサーバーのIPアドレスとして指定してください。
  • コントロールパネル → インターネットオプションで、インターネットゾーンのセキュリティレベルが「中高」または「」になっていることを確認します。「」が選択されていると、一部のSSL接続がブラウザによってブロックされることがあります。
  • サイトの証明書自体に問題がある可能性もあります。オンラインのSSLチェッカーで証明書を検証してみましょう。
  • VPNを使用している場合や、Windowsの設定でプロキシサーバーが構成されている場合は、それらを無効化して試します。
  • ChromeでTLS 1.3が有効になっているか確認します。アドレスバーにchrome://flagsと入力し、「TLS 1.3」を検索します。「Enabled」または「Default」に設定されていることを確認し、無効になっている場合は有効化します。
  • 古いOS(Windows XPやWindows 7)を使用している場合は、Chromeの代わりにMozilla Firefoxをインストールしてみてください。Chromiumベースのエンジンとは異なり、FirefoxはWindowsに組み込まれたモジュールではなく、独自実装のSSL/TLS暗号化モジュールを使用しています。
  1. Netflixで「サイトエラー」が表示されたときの原因と解決方法を徹底解説

    Netflixは、コロナ禍以前から私たちに「おうち時間」の楽しみ方を教えてくれる最高の相棒でした。正直に言えば、そう感じている方も多いのではないでしょうか。特に自宅で過ごす時間が増えた今、Netflixは大変な時代を楽しく乗り切るための心強い味方となっています。お気に入りのドラマや映画を一気見できる喜びは、何ものにも代えがたいですよね。 Netflixは、オンライン動画配信サービス業界に革命をもたらした存在です。世界で1億5,800万人以上の有料会員を抱え、最も人気のあるエンターテインメントサービスの一つとして確固たる地位を築いています。 私たちがNetflixに夢中になっているのは、もはや疑

  2. ChromeでERR_SSL_VERSION_OR_CIPHER_MISMATCHエラーが出たときの解決方法【原因と対策を徹底解説】

    ERR_SSL_VERSION_OR_CIPHER_MISMATCHのようなブラウザエラーは、近年多くのインターネットユーザーが直面する最も一般的な問題のひとつです。理由のわからないエラーメッセージが突然表示されると苛立ってしまいますが、実は比較的簡単に解決できます。正しいトラブルシューティングの手順に従うだけでOKです。このエラーは主に、WebブラウザがWebサイトのSSL証明書のバージョンに問題を検出した際に発生します。この記事では、初心者の方でもすぐに実践できる、ERR_SSL_VERSION_OR_CIPHER_MISMATCHエラーの解決方法をわかりやすく解説します。ERR_SSL_