tencent cloud

Tencent Cloud EdgeOne

一方向認証と双方向認証の違い

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-15 17:29:14
AI翻訳
一方向認証ではサーバー側のみ証明書が必要で、クライアント側は証明書が不要です。双方向認証ではクライアント側とサーバー側の双方に証明書が必要であり、双方が相互に検証を通過して初めてSSLハンドシェイクを完了できます。

SSL一方向認証

SSL一方向認証ではサーバー側の身元のみを検証し、クライアント側の身元を検証する必要はありません。SSL一方向認証のフローは下図の通りです:



1. クライアントはHTTPS接続確立リクエストを開始し、クライアントがサポートするSSLプロトコルバージョン番号、暗号化アルゴリズムの種類、生成された乱数などの情報をサーバーに送信します。
2. サーバーはクライアントにSSLプロトコルバージョン番号、暗号化アルゴリズムの種類、生成された乱数などの情報、およびサーバーの証明書(server.crt)を返します。
3. クライアントは証明書(server.crt)が有効かどうかを検証し、この証明書からサーバーの公開鍵を取得します。
4. 証明書の検証が完了すると、クライアントは乱数(鍵K)を生成します。これは通信プロセスにおける対称暗号化の鍵として使用され、サーバー証明書の公開鍵で暗号化された後、サーバーに送信されます。
5. サーバーはクライアントから送信された暗号化情報を受信した後、秘密鍵(server.key)を使用して復号し、対称暗号化鍵(鍵K)を取得します。以降のセッションでは、クライアントとサーバーはこの対称暗号化鍵(鍵K)を使用して通信し、通信プロセスにおける情報の安全性を確保します。

SSL双方向認証

SSL双方向認証では、クライアント側とサーバー側の身元を検証する必要があります。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)を使用して通信し、通信プロセスにおける情報の安全性を確保します。

ヘルプとサポート

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

フィードバック