TLSまたはトランスポート層セキュリティは暗号化プロトコルです。TLSによる通信は安全でプライベートな状態を維持するように設計されています。この投稿では、TLSハンドシェイクとは何か、問題が発生した場合にTLSハンドシェイクを修正する方法について説明します。
TLSハンドシェイクについて説明する前に、TLSが発生する時期を理解しましょう。HTTPSでウェブサイトやアプリケーションにアクセスするたびに、TLSが使用されます。電子メール、メッセージ、さらにはVOIPにアクセスする場合、TLSが使用されます。HTTPSはTLS暗号化の実装であることを知っておく必要があります。
TLSハンドシェイクとは
ハンドシェイクは、2つのエンドポイント間の交渉の一形態です。人と会うときのように、握手をしてから他のことを始めます。同様に、TLSハンドシェイクは、2つのサーバー間の確認の一形態です。
TLSハンドシェイクの間、サーバーは互いに確認し、暗号化を確立し、また鍵を交換します。すべてが本物で、期待どおりであれば、さらに多くのデータ交換が行われます。主な手順は4つあります。:
- 通信に使用するTLSのバージョンを指定します。
- 使用する暗号化アルゴリズムを選択します
- 公開鍵とSSL証明書認証局のデジタル署名を使用して真偽を検証します
- セッションキーを生成して交換します
一般の人には、まず挨拶をし、次にサーバーがクライアントが検証する必要がある証明書を提供します。検証が完了すると、セッションが生成されます。セッションを通じてデータが交換される鍵が作成されます。
TLSハンドシェイクに失敗した場合の対処法
サーバー側の問題がある場合は何もできませんが、ブラウザに問題がある場合は修正できます。たとえば、サーバーが認証できない証明書を提供した場合、それについて何もできません。ただし、問題がTLSプロトコルの不一致である場合は、ブラウザから変更できます。
- システム時刻が正しいことを確認する
- 中間者攻撃の問題を確認する
- WindowsでTLSプロトコルを変更する
- ブラウザのプロファイルまたは証明書データベースを削除する
- ブラウザをリセットする。
TLSハンドシェイクが失敗する理由は他にもたくさんあり、シナリオによって異なります。ここではTLSを修正する方法をいくつか紹介しますが、その前に、常にこれらのルールを使用して問題を絞り込みます。
- 別のサイトで確認し、問題が解決しない場合。
- WiFiまたは有線など、複数のネットワーク接続に切り替える
- ネットワークを変更する(つまり、モバイルホットスポットまたは別のルーターに接続するか、パブリックネットワークを試す)
1] システム時刻が正しいことを確認する
TLSハンドシェイクがほとんどの場合失敗する主な理由です。システム時刻は、証明書が有効であるか期限切れであるかをテストするために使用されます。コンピュータとサーバーの時刻に不一致があると、証明書が期限切れのように見える場合があります。時刻を自動に設定して修正します。
今すぐもう一度ウェブサイトにアクセスして、TLSハンドシェイクが修正されたかどうかを確認します。
2] 中間者攻撃の問題
1つのサイトで発生している場合はセキュリティソフトウェアの問題ですが、すべてのウェブサイトで発生している場合はシステムの問題です。
コンピュータのセキュリティソフトウェアまたはブラウザ拡張機能がTLS接続を傍受して変更を加えている可能性があり、問題のあるTSLハンドシェイクが発生します。システム上のウイルスがすべてのTLSの問題を引き起こしている可能性もあります。
一部のブラウザ拡張機能はプロキシ設定を変更するため、この問題が発生することがあります。
いずれの場合も、コンピュータまたはセキュリティソフトウェアを修正する必要があります。これをさらに確認する最善の方法は、別のコンピュータを使用して、問題を引き起こしていた同じウェブサイトまたはアプリケーションを開くことです。
3] WindowsでTLSプロトコルを変更する
Windows 10および以前のバージョンのWindowsでは、プロトコル設定がシステムで一元化されています。TLSバージョンを変更する必要がある場合は、インターネットプロパティを使用して実行できます。
- 「ファイル名を指定して実行」プロンプトに「inetcpl.cpl」と入力し、Enterキーを押します。
- インターネットプロパティウィンドウが開いたら、「詳細設定」タブに切り替えます。
- 最後までスクロールして「セキュリティ」セクションを見つけ、ここでTLSを追加または削除できます。
- ウェブサイトがTLS 1.2を探していてチェックされていない場合は、チェックする必要があります。同様に、誰かがTLS 1.3を試している場合は、チェックする必要があります。
- 適用をクリックして保存し、同じウェブサイトをもう一度開いてみます。
Chrome、IE、EdgeはWindowsの機能を使用しますが、Firefoxは証明書データベースのように独自の管理をしています。FirefoxでTLSプロトコルを変更する方法は次のとおりです:
- Firefoxを開き、「about:config」と入力してEnterキーを押します
- 検索ボックスに「TLS」と入力し、「security.tls.version.min」を探します
- 次のように変更できます:
- 1と2でTLS 1と1.1を強制する
- 3でTLS 1.2を強制する
- 4でTLS 1.3の最大プロトコルを強制する。
4] ブラウザのプロファイルまたは証明書データベースを削除する
すべてのブラウザは証明書のデータベースを維持しています。たとえば、すべてのFirefoxプロファイルにはcert8.dbファイルがあります。そのファイルを削除して再起動することで修正された場合は、問題はローカルの証明書データベースに関連しています。
同様に、Windowsでは、IEまたはEdgeを使用している場合、証明書マネージャーが責任を負うか、edge://settings/privacyに移動してHTTPS/SSL証明書と設定を管理をクリックします。証明書を削除して再試行します
データベースが見つからない場合は、プロファイルを削除して再試行します。
4] ブラウザをリセットする
ブラウザの1つで問題が発生した場合の最終手段です。完全にアンインストールしてから再インストールするか、組み込みの機能を使用してブラウザをリセットするかを選択できます。Chrome、Microsoft Edge、Firefoxをリセットするリンクをたどってください。
最後に、証明書が無効であってもウェブサイトを閲覧できますが、ウェブサイトで何らかの取引を行わないようにしてください。クレジットカードを使用したり、アカウントのパスワードを入力したりしないでください。
TLSハンドシェイクの失敗を修正するにはどうすればよいですか?
ブラウザのTLSハンドシェイクの失敗の問題を修正するには、まず日付と時刻の設定を確認する必要があります。次に、ブラウザのキャッシュをクリアし、ブラウザを最新バージョンに更新する必要がある場合があります。それとは別に、ブラウザの拡張機能を無効にして、問題が解決するかどうかを確認できます。次に、ウイルス対策とファイアウォールを一時的に無効にすることができます。
TLSハンドシェイクが失敗したらどうなりますか?
TLSハンドシェイクの失敗は、特定のウェブサイトにアクセスできないことを定義しています。コンピュータとサーバー間の接続を確立するため、TLSハンドシェイクが接続を確立できない場合はウェブサイトにアクセスできません。この問題を引き起こす理由はいくつか考えられるため、上記のヒントとコツを参照して修正する必要があります。
これらのヒントがわかりやすく、ブラウザまたはコンピュータのTLSの問題を解決できたことを願っています。十分な解決策を提供するために最善を尽くしましたが、正直なところ、TLSは非常に広大であり、さらに多くの解決策が利用可能かもしれません。
コメントする