クライアント証明書 くらいあんとしょうめいしょ
クライアント証明書相互認証mTLSデバイス認証PKIゼロトラスト
クライアント証明書について教えて
簡単に言うとこんな感じ!
サーバーが「あなたは誰?」とクライアント側にも証明を求める仕組みだよ。通常のHTTPSはサーバーだけが証明書を持つけど、クライアント証明書を使うとユーザー・デバイスの本人確認もできるんだ。社員証みたいなものだよ!
クライアント証明書とは
クライアント証明書 とは、TLS通信でサーバー側ではなくクライアント(ユーザーやデバイス)の身元をサーバーに証明するためのデジタル証明書です。
通常のHTTPS接続では、サーバーのみが証明書を提示して「このサーバーは本物です」と証明します(片方向認証)。クライアント証明書を使うと、クライアント側も「このデバイス・ユーザーは正規のものです」と証明でき、相互TLS認証(mTLS) が成立します。
主な用途:
- 社内システムへのアクセス制限:証明書を持つデバイスのみ接続許可
- VPN認証:パスワードに加えた強力な多要素認証として
- API認証:マイクロサービス間の認証(mTLS)
- マイナンバーカード:個人番号カードに格納されたクライアント証明書
- IoTデバイス認証:デバイスが正規品かどうかの確認
クライアント証明書の主な発行・管理方式
| 方式 | 特徴 | 適用例 |
|---|---|---|
| プライベートCA | 自社CAで発行・管理 | 社内システム・VPN |
| MDM(モバイルデバイス管理) | 端末に自動配布 | スマートフォン・PC管理 |
| SCEP | 証明書の自動プロビジョニング | ネットワーク機器・IoT |
| ICカード/スマートカード | 物理媒体に格納 | マイナンバーカード・社員証 |
| ソフトウェアキーストア | OS証明書ストアに保管 | Windows/macOSの証明書管理 |
歴史と背景
- 1990年代:SSL/TLS設計当初からクライアント証明書の相互認証機能は存在
- 2000年代:VPN認証でクライアント証明書の利用が広がる
- 2003年:日本で電子署名法施行、ICカードへの証明書格納が普及
- 2016年:マイナンバーカードへの電子証明書搭載開始(住民基本台帳ネットワーク向け)
- 2020年代:ゼロトラストネットワーク移行に伴い、デバイス証明書による認証が再注目
サーバー証明書との違い
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 8446 | TLS 1.3(クライアント証明書の要求・提示フロー) |
| RFC 5280 | X.509証明書フォーマット |
| RFC 8894 | Simple Certificate Enrollment Protocol (SCEP) |