クライアント証明書【client certificate】
クライアント証明書とは?

通常のWeb通信では、接続先サーバの正当性をクライアントがサーバ証明書によって確認する。クライアント証明書はその逆方向の認証を行うためのもので、接続元の端末や利用者がサーバに対して身元を証明する。これにより、双方が相手を認証する「相互認証」を実現できる。取得した証明書はWebブラウザや電子メールソフトなどクライアント側のソフトに登録され、アクセス時に自動的に提示される。
認証は公開鍵基盤(PKI)に基づいて行われる。クライアントは端末内に秘密鍵とクライアント証明書を保持しており、通信時には秘密鍵を使った署名処理を行い、サーバ側は証明書から取り出した公開鍵を用いて正当性を確認する。公開鍵の真正性は発行元の認証局の電子署名を検証することによって行う。この過程で秘密鍵は通信相手へ送信されないため、盗聴によって認証情報が直接漏洩するリスクを抑えられる。
パスワード認証では、文字列が流出すれば任意の端末からの不正アクセスを許してしまう。クライアント証明書を用いた認証では、有効な証明書を格納した端末がなければ接続できないため、アカウント情報の悪用を防ぎやすい。ICカードやUSBトークンなどの装置に秘密鍵を格納する方式では、鍵がデバイス外へ取り出せない構造になっており、セキュリティ強度を更に高めることができる。社内システムへのリモートアクセスや金融機関の法人向けサービスなど、高い信頼性が求められる用途で採用されている。
単にクライアント証明書といった場合は利用者個人に紐付いたユーザー証明書を指すことが多いが、コンピュータの個体を識別・認証するために発行されるコンピュータ証明書を用いるシステムもある。証明書には有効期限が設定されており、失効した証明書はサーバ側で拒否されるため、端末の紛失や利用者の退職時には管理者が速やかに失効処理を行える。大規模な環境では、発行・更新・失効を一元管理する仕組みが整備されることも多い。