デジタル証明書(公開鍵証明書)とは:意味・仕組み・X.509・認証局・種類まとめ
デジタル証明書(公開鍵証明書)の意味・仕組みを図解で解説。X.509規格、認証局の役割、クラス別の違いや導入メリットをわかりやすく整理。
デジタル証明書は、ウェブ上でビジネスやその他の取引を行う際に、あなたの信用を確立する電子的な「クレジットカード」のようなものです。電子証明書は、認証局(CA)によって発行されます。デジタル証明書には、氏名、シリアル番号、有効期限、証明書保有者の公開鍵のコピー(メッセージの暗号化やデジタル署名に使用)、および証明書発行機関のデジタル署名が含まれており、受信者は証明書が本物であることを確認することができます。電子証明書の中には、X.509という規格に準拠したものもあります。デジタル証明書を登録しておけば、認証したユーザーが他のユーザーの公開鍵を調べることができます。
デジタル証明書の仕組み(簡単な流れ)
- 公開鍵暗号方式では、本人が持つ秘密鍵と、それに対応する公開鍵を使います。公開鍵は証明書に含まれ、第三者がその人の公開鍵を安全に入手できます。
- 認証局(CA)は、申請者の情報を確認したうえでその公開鍵に対してデジタル署名を付け、証明書を発行します。CAの署名があれば、その証明書が改ざんされていないことや、CAが発行を認めたものであることを受信者が検証できます。
- 受信者は証明書の署名と発行元(Issuer)、有効期限、失効状況などを確認し、安全に通信(例:SSL/TLS)したり、署名の正当性を検証します。
X.509規格と主なフィールド
X.509は最も一般的に使われるデジタル証明書の形式で、以下のような情報を含みます。
- バージョン:X.509の仕様バージョン。
- シリアル番号:発行者ごとに一意の識別子(上記のシリアル番号)。
- 署名アルゴリズム:証明書を署名したアルゴリズム(例:SHA256withRSA)。
- 発行者(Issuer):証明書を発行した認証局。
- 有効期間:開始日と終了日(期限切れなら無効)。
- 被保証者(Subject):証明書の所有者に関する情報(例:氏名、組織名、ドメイン名など)。
- 公開鍵:暗号化や署名検証に使う公開鍵データ。
- 拡張(Extensions):SAN(Subject Alternative Name、複数ドメインやIPを列挙)、Key Usage(鍵の用途)、Basic Constraints(CAかどうか)など。
- デジタル署名:発行者が秘密鍵で署名した値で、証明書の正当性を保証します。
認証局(CA)と信頼の連鎖(チェーン)
ブラウザやOSにはあらかじめ信頼されたルートCAの証明書(信頼の根)が組み込まれています。実際のサーバー証明書は、通常ルートCAではなく中間CAにより発行され、中間CAがルートCAの署名を受けていることで「信頼のチェーン」が形成されます。クライアントはチェーンをたどって最終的に信頼できるルートCAに到達できるかを確認します。
証明書の種類(利用目的と検証レベル)
用途や検証の厳密さによっていくつかの種類があります。一般的な分類:
- ドメイン確認(DV: Domain Validated):ドメインの所有権確認のみで発行。ウェブサイトのHTTPSに使われる。発行が速いが組織情報はほとんど含まれない。
- 組織認証(OV: Organization Validated):申請組織の実在性を確認して発行。企業名などが証明書に含まれる。
- 拡張認証(EV: Extended Validation):より詳細な実在性の確認(書類確認など)を行い厳格に発行。企業名表示やブラウザでの視覚的な違いを提供する場合がある。
- クライアント証明書:ユーザーやデバイスを認証するための証明書(双方向TLSやVPN等)。
- コード署名証明書:ソフトウェアやドライバに署名して配布元の正当性と改ざん検出を提供。
- S/MIME証明書:メールの署名・暗号化に使用。
元の分類である「クラス1〜3」は、発行時の認証の厳格さを示す伝統的な表現でもあります。要点は:
- クラス1:検証プロセスが有効な電子メールIDのみに基づき、直接の対面確認を伴わない。法的効力が限定されることがある。
- クラス2:信頼できる事前検証済みのデータベース等に照会して、個人のアイデンティティを検証する。
- クラス3:登録機関の前で本人が提示し、身分を証明するなど、より厳密な対面確認が必要。
発行から失効まで(ライフサイクル)
- CSR(Certificate Signing Request)作成:公開鍵と識別情報を含むリクエストを作成してCAに提出。
- 認証局による確認・発行:CAが情報を検証して証明書を発行。
- インストール・利用:サーバーやクライアントに証明書をインストールし、TLS接続や署名検証に使用。
- 更新(リニューアル):有効期限到来前に更新を行う。鍵を更新することも推奨される。
- 失効(Revocation):秘密鍵漏洩や情報変更時はCAに失効を申請。CRL(Certificate Revocation List)やOCSP(Online Certificate Status Protocol)で失効情報が配信される。
検証方法と注意点
- ブラウザでの証明書表示機能で発行者、有効期限、SAN(代替名)などを確認できます。
- フィンガープリント(ハッシュ)を比較すると改ざん検出に役立ちます。
- 失効情報(CRL/OCSP)を確認して有効性を判断します。OCSPはリアルタイム性が高い方式です。
- 鍵管理が非常に重要です。秘密鍵は厳重に保護し、漏えいしたら直ちに証明書を失効させます。
- 使用する暗号アルゴリズムと鍵長(例:RSA 2048/3072、ECC 256/384など)は最新の推奨に従って更新してください。
実務での使いどころ(例)
- ウェブサイトのHTTPS(TLS/SSL)で通信の暗号化とサーバー認証。
- メールのS/MIME署名・暗号化により送信者認証と機密性の確保。
- ソフトウェアやドライバのコード署名による配布元確認と改ざん防止。
- 企業の内部システムやVPNでのクライアント証明書によるユーザー認証。
まとめると、デジタル証明書(公開鍵証明書)は公開鍵の正当性と保有者の識別情報を結びつける仕組みであり、認証局による検証と署名を通じて信頼性を提供します。用途や求められる信頼度に応じて証明書の種類や発行プロセスが異なるため、適切な証明書選択と厳格な鍵管理が安全な運用の鍵となります。
質問と回答
Q: 電子証明書とは何ですか?
A:電子証明書は、ウェブ上でビジネスやその他の取引を行う際に、あなたの信用を確立する電子的な「クレジットカード」です。
Q:電子証明書は誰が発行するのですか?
A:電子証明書は、認証局(CA)によって発行されます。
Q: 電子証明書にはどんな情報が含まれていますか?
A:電子証明書には、証明書所有者の名前、シリアル番号、有効期限、証明書所有者の公開鍵(メッセージの暗号化や電子署名に使用)のコピー、証明書発行機関の電子署名が含まれており、受信者が証明書が本物であることを確認できるようになっています。
Q: X.509とは何ですか?
A:X.509は、デジタル証明書の規格です。
Q:電子証明書にはどのような種類がありますか?
A:電子証明書のクラスは、Class1、Class2、Class3です。
Q:クラス1電子証明書とは何ですか?
A:クラス1は、有効な電子メールIDのみに基づいて検証され、直接の検証を伴わないため、法的効力を持たない証明書を定義しています。
Q:クラス3の電子証明書とは何ですか?
A:クラス3は、登録機関の前で本人を提示し、身分を証明する必要があります。
百科事典を検索する