クライアント証明書
TLSなどで、サーバがクライアント(利用者や端末)を認証するために使うデジタル証明書。正規の証明書を持つ利用者や端末だけに、接続を許可できる。
イマシルちゃんの解説
ふつうのHTTPSでは、「サーバが本物か」をブラウザが確かめるだけなんだ。
でも、社内のシステムみたいに「決まった人だけが使えるようにしたい」ときは、
逆にサーバのほうも「あなたは本当にうちの社員?」って確かめたくなるよね。
そのときにクライアントが見せる身分証明書が、クライアント証明書なんだよ!
より深い解説
定義
クライアント証明書は、クライアント側の身元を証明するデジタル証明書である。TLSでは、サーバ証明書でサーバを認証するのに加えて、クライアント証明書でクライアントも認証できる。両方向で認証することを相互認証(mutual TLS、mTLS)という。
認証の流れ(TLSの場合)
- サーバが、ハンドシェイクの中でクライアント証明書を要求する(CertificateRequest)
- クライアントが、自分の証明書を送る
- クライアントが、それまでのやり取りに自分の秘密鍵で署名し、送る(CertificateVerify)
- サーバは、証明書が信頼できるCAから発行されたものか、失効していないかを確かめ、証明書の公開鍵で署名を検証する
証明書そのものは公開されても困らない情報であり、本人であることの決め手は、対応する秘密鍵を持っていることである。
秘密鍵の保管場所
| 保管場所 | 特徴 |
|---|---|
| PCの中(ファイルやOSの証明書ストア) | 手軽だが、PCごと盗まれたり、マルウェアに盗まれたりするおそれがある |
| TPM(PCに内蔵されたセキュリティチップ) | 秘密鍵をチップの外に取り出せない。その端末でしか使えないので、端末の認証にも向く |
| ICカード、USBトークン | 秘密鍵をカードの中から取り出せない。カードを差し替えれば、どのPCからでも使える |
ICカードなどに格納すれば、利用するPCを特定の1台に限る必要はなく、カードを持っている人だけが認証を通れる。
主な利用場面
- 社内システムやクラウドサービスへのアクセスを、会社が発行した端末や利用者だけに限る
- リモートアクセスVPNの利用者認証
- 無線LANの企業向け認証(EAP-TLS)
- マイナンバーカードの電子証明書による本人確認
パスワード認証との比較
| クライアント証明書 | パスワード | |
|---|---|---|
| 盗まれやすさ | 秘密鍵をICカードなどに入れれば盗まれにくい | フィッシングなどで盗まれやすい |
| 管理の手間 | 証明書の発行、配布、失効の管理が必要 | 比較的少ない |
実際の試験ではここに出る!
- ネットワークスペシャリスト 令和7年度 春期 午前Ⅱ 問16
- ネットワークスペシャリスト 令和5年度 春期 午前Ⅱ 問19
- ネットワークスペシャリスト 平成30年度 秋期 午前Ⅱ 問17
- ネットワークスペシャリスト 平成30年度 秋期 午前Ⅱ 問20