この記事は機械翻訳されました。
SSLハンドシェイクは、ブラウザとアクセスしたいWebサイトをサポートするサーバーなど、2つのデバイス間の接続を定義します。
SSL ハンドシェイク中に、2 つのデバイスは次のことを決定します。
- 両当事者が使用するセキュリティバージョン
- 情報を保護する暗号化の種類
- 両者の確認方法
SSLハンドシェイクの「SSL」という言葉は誤った名称です。SSL(Secure Sockets 積み重ねる)プロトコルは古く、最近ではITをほとんど使いません。 現在、ほとんどのデバイスはトランスポート積み重ねるセキュリティ(TLS)を使用しています。
「TLSハンドシェイク」という用語の方が正確ですが、このステップを単純なSSLハンドシェイクと呼ぶのが一般的です。
SSLハンドシェイクとは何ですか?
ブラウザでウェブサイトを開くと、接続が即座にも自然発生的にも起こったと信じることができるかもしれません。実際には、2 つのデバイスは、情報の通信方法と転送方法をネゴシエートする必要があります。このネゴシエーションは、SSL ハンドシェイクを通じて行われます。
前述したように、SSLハンドシェイクはTLSハンドシェイクと呼ばれることもあります。その理由は次のとおりです。
Netscape は 1995 年に SSL プロトコルを開発しました。残念ながら、ITはセキュリティ上の欠陥だらけでした。 2000年代初頭、業界はセキュリティの向上を約束するために TLSプロトコルに移行 しました。名前が変わっても、ハンドシェイクのプロセスは変わりません。
SSLハンドシェイクは、通信セッションを開始するプロセスです。両者は、互いを認識し、情報の保護方法を決定し、互いのセキュリティプロトコルを検証し、セッションキーを設定します。
SSLハンドシェイクの手順の説明
すでに説明したように、SSLハンドシェイクは交渉です。両者はスタイルとプロトコルについて合意しています。SSLハンドシェイクの手順は、これらの契約から生じ、双方が何を望んでいるかによって異なります。
一般に、SSL ハンドシェイクは次の手順で進行します。
接触: ブラウザがサーバーに "クライアント hello" メッセージを送信します。 このメッセージには、クライアントが使用する SSL バージョン、暗号設定 (詳細は後述)、セッション固有の情報など、重要な詳細が含まれています。
最初の応答: サーバーは、セキュリティの証明 (証明書経由)、サーバーの暗号設定、およびセッション固有のデータを送り返します。
認証: ブラウザはセキュリティ証明書を検証して、IT部門が適切な機関と連絡を取ったことを確認します。
キー交換: ブラウザとサーバーはキーを交換し、交換のセキュリティを検証します。
まとめ: サーバーとブラウザの両方が作業が完了し、ハンドシェイクが完了したことを確認します。
これらの手順が複雑であるにもかかわらず、IT 部門は双方が作業を行うのにわずか数秒しかかかりません。 遅延に気付くユーザーはほとんどいません。
SSL/TLSハンドシェイクはどの程度安全ですか?
SSLハンドシェイクの手順を見ると、キー交換についての言及があることに気付くでしょう。このプロセスには暗号化が含まれ、プロセスでは 2 つのフォームが使用されます。
暗号化には、次の 2 つの形式があります。
- 非対称暗号化。 サーバーのセキュリティ証明書を介してすぐに利用できる公開鍵が説明に使用されます。秘密鍵は復号化に使用されます。
- 対称暗号化。 非対称暗号化の後、両者は共有キーを設定します。この 1 つのセッション キーにより、サーバーの負荷を抑えて安全な接続が可能になります。
また、両者は、どのような認証が必要か、どのようにデータを暗号化するかなどに関する一連のルール、いわゆる「暗号スイート」についても合意しています。
これらの手順により、データ移行中を保護する必要があります。 しかし、残念ながら、攻撃はまだ可能です。たとえば、 BREACH攻撃では、ハッカーは転送中のデータを変更することができます。ハッカーは、乗っ取って中間者攻撃を行うこともできます。問題は、ITが暗号化されているため、攻撃者が盗むデータから始まります。
多くのセキュリティ専門家が暗号化のセキュリティリスクに気づいたのは、2012年に脆弱なAndroidアプリのニュースが流れたときでした。 お話を聞き逃しましたか?ここで私たちの要約を読んでください。
参考文献
TLS(Transport 積み重ねる)とは? (2018年11月)。ネットワークワールド。
BREACH攻撃の内部:HTTPSトラフィックの悪用を回避する方法。TechTargetです。