「共通名(CN)」は、X.509証明書のサブジェクトに含まれるフィールドであり、また、LDAPディレクトリエントリの属性としても存在します。これは、サーバーのホスト名やユーザーのアカウント名など、従来から証明書の保有者を識別するために用いられてきました。これは、証明書署名要求(CSR)の生成時に設定され、相手側の証明書を検証する際に確認されます。
主なポイント
- CNは、証明書のサブジェクト(ホスト名またはユーザーID)を識別します。
- 最新のTLS検証では、ホスト名の照合に際して、CNではなくSANエントリがチェックされます。
- CNには、証明書とは関係のないLDAP/Active Directoryのエントリ名も含まれます。
- Directorノードを正常にインストールするには、そのCNがホスト名と完全に一致している必要があります。
- Versa デバイス認証またはユーザー証明書認証において、CNをユーザー名にマッピングすることができます。
このページの内容: その重要性仕組み一般名はどこに表示されるのか?一般名とVersaよくある質問
一般名(コモンネーム)はなぜ重要なのでしょうか?
「共通名(Common Name)」とは、クライアントやブラウザが従来、基本的なセキュリティ上の確認を行うために参照してきたフィールドであり、「これが、アクセスしようとしたサーバーまたは人物であるか」という問いに対する答えとなるものです。 TLSハンドシェイク中、クライアントは従来、要求されたホスト名と証明書のCN(共通名)を照合していました。不一致が生じると、なりすましや設定ミスの可能性を示すものとして、信頼性に関する警告が表示されていました。この文字列は、証明書の秘密鍵と証明書署名要求(CSR)が生成される際に指定されるもので、暗号化された接続の両端が、それぞれが主張する通りの相手であることを確認する上で中心的な役割を果たしています。
その重要性は単なる見栄えの問題にとどまりません。誤ったCNや有効期限が切れたCNがあると、APIクライアントやノード間レプリケーションなどの自動化システムが機能しなくなります。これらのシステムは、検証されていないピアに接続するのではなく、接続を断つように設計されているからです。ディレクトリサービスにおいても、CNは別の観点から同様の重要性を持ちます。CNは、LDAPやActive Directoryツリー内の個人、サービスアカウント、またはコンテナを一意に識別する名前であり、管理者は正しいバインドや検索クエリを行うためにこれに依存しています。 いずれの文脈においても、CNを正しく設定することは、認証が機能するための前提条件となります。
「一般名」とは何ですか?
X.509証明書において、「共通名(Common Name)」は、組織(O)、組織単位(OU)、地域(L)、国(C)などのフィールドとともに、証明書の「サブジェクト識別名(Subject Distinguished Name)」を構成するいくつかの属性の1つです。 サーバー証明書の場合、CNには従来、その証明書が発行された完全修飾ドメイン名(FQDN)が格納されていました。一方、クライアントまたはユーザー証明書の場合、通常は個人の名前やアカウント識別子が格納されます。この値は、証明書署名要求(CSR)を生成する際に指定されます。CSRとは、公開鍵とこれらのサブジェクトフィールドを含むファイルであり、署名のために認証局(CA)に提出されるものです。
この同じ3文字は、ディレクトリサービスにおいて、名称は似ているが別の概念を表す場合もあります。LDAPやActive Directoryにおいて、「Common Name」とは、ディレクトリツリー内の特定の位置にある単一のエントリ(ユーザー、サービスアカウント、またはコンテナ)を識別する相対識別名(RDN)属性であり、次のように記述されます。 cn=value そして、他のRDNと組み合わせて完全な識別名(Distinguished Name)を構成します。
一般名はどこに記載されていますか?
サーバー(リーフ)証明書。従来、CN には、TLS サーバー証明書が発行されたホスト名が記載されており、CSR 作成時に秘密鍵とともに指定され、証明書の有効期間中は変更されませんでした。
クライアント証明書およびユーザー証明書。相互TLSやデバイス証明書・ユーザー証明書による認証では、証明書の役割はネットワークアドレスではなく身元を証明することであるため、CNには通常、ホスト名ではなく、ユーザー名、デバイス識別子、またはフルネームが記載されます。
自己署名証明書。実験、概念実証、または初期導入を目的として自己署名証明書を生成するツールでは、外部CAが関与していない場合でも、X.509サブジェクトにおいてそのフィールドが必須であるため、依然としてCN(通常はローカルホスト名)の入力を求められます。
LDAP および Active Directory のエントリ。 PKIの枠組みを完全に離れて言えば、CNはディレクトリオブジェクトを識別するRDNであり、次のような識別名(Distinguished Name)の中に現れます。 cn=Administrator,cn=Users,dc=example,dc=com。この用法は、証明書における役割よりも以前から存在しており、それとは無関係であるが、どちらも同じX.500の命名規則に由来している。
一般名 &Versa
ある Versa Director
node、CNは証明書作成時に2か所に表示されます。自己署名証明書のスクリプトでは、 cn value – Director ノードのホスト名 – であり、CSR 生成スクリプトは domain 「アクティブなDirectorノードの一般名」として記載されたフィールドは、CA署名付き証明書が正しくインストールされ、検証されるためには、ノードのホスト名と「完全に一致している」必要があります。
SSE Gateway では、 認証プロファイル CN の使い方を変える:デバイス認証プロファイルおよびユーザー認証プロファイルでは、管理者が、接続するユーザーを識別するフィールド(CN、ユーザープリンシパル名、またはサブジェクト代替名)を選択できます。また、証明書の CN を LDAP または SAML で定義されたユーザー名と照合することは、共有デバイスが複数の ID としてなりすまされるのを防ぐ方法として文書化されています。同じ文字列は、ディレクトリ認証に使用される LDAP バインド DN にも含まれています。例えば、 cn=Administrator,cn=Users,dc=versa,dc=com.
SASE のクライアントログインがユーザー証明書認証の下で失敗した場合、トラブルシューティングの手順では、証明書のCN(通常はユーザープリンシパル名または表示名)が、ユーザーが認証に使用しているユーザー名と一致しているかどうかを確認します。これらに不一致がある場合は、失敗の原因として文書化されています。
よくある質問
「一般名」と「サブジェクト・オルタナティブ・ネーム」の違いは何ですか?
「共通名(Common Name)」は、歴史的にホスト名の照合に使用されてきた単一のサブジェクトフィールドです。一方、「サブジェクト別名(Subject Alternative Name:SAN)」は、複数のホスト名、IPアドレス、または識別情報を列挙できる証明書拡張機能です。最新のブラウザやTLSライブラリは、SANのエントリに基づいて検証を行い、CNを権威ある情報ではなく、あくまで参考情報として扱います。
なぜ現代のブラウザは、ホスト名の検証において「共通名(Common Name)」を信頼しなくなったのでしょうか?
セキュリティ調査の結果、CNのみによる照合は偽装されやすく、実装ごとに一貫性がないことが明らかになりました。CA/Browser Forumおよび主要なブラウザベンダーは、CNに基づくホスト名チェックを非推奨とし、代わりにSAN拡張を採用しました。SAN拡張では、CAが証明書の対象となる各ホスト名について明示的に署名を行います。
「一般名」と「識別名」は同じものですか?
いいえ。「Distinguished Name(DN)」とは、証明書のサブジェクトまたはディレクトリエントリを表す完全な階層的識別子であり、複数の属性から構成されています。「Common Name」は、その属性の一つに過ぎず(通常は最も具体的な属性です)、これに加え、「Organization」や「Locality」などの属性と組み合わさって、完全なDNが形成されます。
証明書の「共通名(Common Name)」がサーバーのホスト名と一致しない場合はどうなりますか?
依然としてCNを確認するクライアント、あるいはSANが存在しない場合にCNにフォールバックするクライアントは、証明書の信頼性に関する警告を表示するか、接続を拒否します。Versa Directorでは、CNがノードのホスト名と完全に一致しない場合、証明書のインストールや検証が正しく行われないことがあります。
Versa は、デバイスまたはユーザー証明書の認証において、共通名をどのように使用しているのでしょうか?
VersaのSSE Gatewayでは、管理者がデバイス認証プロファイルまたはユーザー認証プロファイルにおいて、「証明書内のユーザー名識別フィールド」としてCNを選択できるようになっています。これにより、アクセスが許可される前に、提示された証明書のCNの値がLDAPまたはSAMLのユーザー名と照合されます。
「一般名」に関する詳細
さらに詳しく知りたい場合は、私たちが信頼している情報源を以下にご紹介します。
| IETF RFC 5280 | NIST CSRC 用語集 |
|---|---|
| X.509証明書およびCRLのフィールド(CNを含むサブジェクトの識別名(Distinguished Name)を含む)を定義するIETFプロファイル。 | NISTのコンピュータセキュリティリソースセンターが作成した、暗号およびPKI用語集。これには、証明書のサブジェクトフィールドも含まれています。 |
関連用語
「Common Name」についてお読みの方は、次にこれらもぜひご覧ください。
| 証明書署名要求 | 識別名 | 件名の別名 |
|---|---|---|
| 署名付き証明書を取得するためにCAに提出される、公開鍵およびCNなどのサブジェクトフィールドを含むファイル。 | CN を含む属性から構成される、証明書のサブジェクトまたは LDAP エントリの完全な階層識別子。 | 有効なホスト名とIPアドレスを記載した証明書の拡張子。最新のTLSホスト名検証においては、CNに取って代わるものとなっている。 |