SSL クライアント認証

クライアント認証は、サーバー認証と似ていますが、サーバー認証と異なる点は、クライアントが表明する識別情報が適正であることを確認するために、サーバーがクライアントからの証明書を要求するという点です。 証明書は、X.509 証明書でなければならず、サーバーによって信頼された認証局によって署名されなければなりません。 クライアント認証を使用できるのは、サーバーがクライアントからの証明書を要求する場合だけです。 すべてのサーバーがクライアント認証をサポートするわけではありません。

サーバーが証明書を要求した場合、クライアントは、証明書を送信するか、証明書なしで接続を試行するかを選択できます。 サーバーは、クライアントの証明書が信頼できる場合、接続を許可します。 クライアントが証明書なしで接続を試行したときには、サーバーは、より低いセキュリティー・レベルでクライアント・アクセスを許可することがあります。以下にイベントの手順を示します。
  1. クライアントが SSL セッションの要求をサーバーに送信します。
  2. クライアントは、サーバーの証明書を受信し、トラステッド CA のリストと証明書を照合して検査します。 サーバーの証明書はトラステッド認証局によって署名されているため、クライアントはこの証明書を受け入れます。 次に、サーバーは、クライアントを識別する証明書を送信するようにクライアントに要求します。
  3. クライアントは、応答として、証明書を送信するか、証明書なしでセッションの確立を試行します。
  4. クライアントが証明書を送信した場合、サーバーは、信頼できる証明書のリストと証明書を照合して検査します。 クライアントを信頼できる場合は、セキュア・セッションが確立されます。 クライアントが証明書を送信しなかった場合、通常、サーバーはセッションを終了します。