tencent cloud

Cloud Load Balancer

動向とお知らせ
製品アップデート情報
製品に関するお知らせ
製品の説明
製品概要
製品の優位性
ユースケース
技術原理
Product Comparison
使用上の制約
Service Regions and Service Providers
購入ガイド
課金概要
課金項目
購入方法
支払い延滞の説明
製品属性の選択
クイックスタート
ドメイン名型CLBクイックスタート
CLBクイックスタート
IPv6 CLBクイックスタート
CentOSにおけるNginxのデプロイ
CentOSにおけるJava Webのデプロイ
操作ガイド
CLBインスタンス
CLBリスナー
バックエンドサーバー
ヘルスチェック
証明書管理
ログ管理
監視アラート
Cloud Access Management
従来型CLB
プラクティスチュートリアル
証明書をCLBに配置(双方向認証)
CLBのGzip有効化設定およびチェック方法の説明
HTTPS転送設定スタートガイド
クライアントリアルIPの取得方法
ロードバランサーのモニタリングアラート設定のベストプラクティス
マルチアベイラビリティーゾーンの高可用性設定の説明
バランシングアルゴリズムの選択と重みの設定の例
CLBのリスニングドメイン名に対してWebセキュリティ保護を実行するようにWAFを設定する
メンテナンスガイド
クライアントのtimewaitが多すぎる場合の対処方法
CLBのHTTPSサービスパフォーマンステスト
ストレステストに関するよくあるご質問
CLB証明書の操作権限に関するご質問
障害処理
UDPヘルスチェックの異常
API リファレンス
History
Introduction
API Category
Instance APIs
Listener APIs
Backend Service APIs
Target Group APIs
Redirection APIs
Other APIs
Classic CLB APIs
Load Balancing APIs
Making API Requests
Data Types
Error Codes
CLB API 2017
よくあるご質問
課金関連
CLB設定関連
ヘルスチェック異常調査
HTTPS関連
WS/WSSプロトコルサポート関連
HTTP/2プロトコルサポート関連
連絡先
用語集
ドキュメントCloud Load Balancer操作ガイド証明書管理SSL単方向認証および双方向認証の説明

SSL単方向認証および双方向認証の説明

PDF
フォーカスモード
フォントサイズ
最終更新日: 2024-01-04 18:36:26
Secure Sockets Layer(SSL)とは、ネットワーク通信に安全性およびデータ完全性を提供するためのセキュリティプロトコルの一種です。ここでは主にSSLの単方向認証および双方向認証についてご説明します。
説明:
CLBはTCP SSLリスナーまたはHTTPSリスナーを作成する際、SSL の解析メソッドとして単方向認証か双方向認証かを選択することができます。詳細については、TCP SSLリスナーの設定HTTPSリスナーの設定をご参照ください。

SSL単方向認証と双方向認証の違い

SSL単方向認証はクライアントが証明書を所有する必要がなく、サーバーのみ証明書が必要です。SSL双方向認証ではクライアントとサーバーの両方が証明書を所有する必要があります。
SSL単方向認証はSSL双方向認証の認証プロセスと異なり、サーバーでクライアント証明書の検証と暗号化方式のネゴシエーションを行う必要がなく、サーバーからクライアントへも暗号化されていない暗号化方式が送信されます(SSL認証プロセスの安全性に影響はありません)。
一般的に、Webアプリケーションはユーザー数が非常に多く、通信層でユーザーのID認証を行う必要がないため、SSL単方向認証の設定で十分です。ただし、一部の金融業界ユーザーのアプリケーションアクセスでは、クライアントのID認証が要求される可能性があり、この場合はSSL双方向認証が必要です。

SSL単方向認証

SSL単方向認証ではサーバーのIDのみ検証する必要があり、クライアントのIDを検証する必要はありません。SSL単方向認証のフローは次の図のとおりです。

1. クライアントがHTTPS接続確立リクエストを送信し、クライアントがサポートするSSLプロトコルバージョン番号、暗号化アルゴリズムの種類、生成する乱数などの情報をサーバーに送信します。
2. サーバーはSSLプロトコルバージョン番号、暗号化アルゴリズムの種類、生成する乱数などの情報、サーバーの証明書(server.crt)をクライアントに返します。
3. クライアントは証明書(server.crt)の有効性を検証し、この証明書からサーバーの公開鍵を取得します。
証明書が期限切れになっていないかを確認します。
証明書が取り消されていないかを確認します。
証明書が信頼できるかどうかを確認します。
受信した証明書内のドメイン名とリクエストのドメイン名が一致しているかどうかを確認します。
4. 証明書が検証に合格すると、クライアントは乱数(キーK)を生成し、通信のプロセスで共通鍵暗号化のキーとして用います。さらにサーバー証明書の公開鍵を使用して暗号化した後、サーバーに送信します。
5. サーバーはクライアントから送信された暗号化情報を受信した後、秘密鍵(server.key)を使用して復号し、共通暗号化鍵(キーK)を取得します。 それ以降のセッションでは、クライアントとサーバーはその共通暗号化鍵(キーK)を使用して通信を行うことで、通信プロセスにおける情報のセキュリティを保証します。

SSL双方向認証

SSL双方向認証ではクライアントとサーバーのIDを検証する必要があります。SSL双方向認証のフローは次の図のとおりです。

1. クライアントがHTTPS接続確立リクエストを送信し、クライアントがサポートするSSLプロトコルバージョン番号、暗号化アルゴリズムの種類、生成する乱数などの情報をサーバーに送信します。
2. サーバーはSSLプロトコルバージョン番号、暗号化アルゴリズムの種類、生成する乱数などの情報、サーバーの証明書(server.crt)をクライアントに返します。
3. クライアントは証明書(server.crt)の有効性を検証し、この証明書からサーバーの公開鍵を取得します。
証明書が期限切れになっていないかを確認します。
証明書が取り消されていないかを確認します。
証明書が信頼できるかどうかを確認します。
受信した証明書内のドメイン名とリクエストのドメイン名が一致しているかどうかを確認します。
4. サーバーがクライアントにクライアントの証明書(client.crt)を送信するよう要求し、クライアントは自身の証明書をサーバーに送信します。
5. サーバーはクライアントの証明書(client.crt)を検証し、検証に合格すると、サーバーはルート証明書(root.crt)を使用してクライアント証明書を復号し、クライアントの公開鍵を取得します。
6. クライアントはサーバーに、自身のサポートする共通鍵暗号化方式を送信します。
7. サーバーはクライアントから送信された共通鍵暗号化方式の中から、暗号化の程度が最も高い暗号化方式を選択し、クライアントの公開鍵を使用して暗号化した後、クライアントに返します。
8. クライアントはクライアントの秘密鍵(client.key)を使用して暗号化方式を復号し、乱数(キーK)を生成し、通信のプロセスで共通鍵暗号化のキーとして用います。その後、サーバー証明書の公開鍵を使用して暗号化した後、再びサーバーに送信します。
9. サーバーはクライアントから送信された暗号化情報を受信した後、サーバーの秘密鍵(server.key)を使用して復号し、共通暗号化鍵(キーK)を取得します。 それ以降のセッションでは、クライアントとサーバーはその共通暗号化鍵(キーK)を使用して通信を行うことで、通信プロセスにおける情報のセキュリティを保証します。

関連ドキュメント

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック