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