セキュリティ


キー使用拡張と拡張キー使用
キー使用拡張
キー使用拡張では、証明書に含まれるパブリックキーの目的を定義します。キー使用拡張によって、パブリックキーの使用対象を必要な操作に制限できます。たとえば、パブリックキーを署名でのみ使用する場合は、Digital signature や Non-repudiation の拡張を有効にします。また、キー管理専用に使用する場合は、Key encipherment を有効にします。

CA プロセスを使って作成されたキーで使用できるキー使用拡張を次の表に示します。

メモ デフォルトでは、Digital signature と Data encipherment のキー使用拡張は、すべてのインターネット証明書で有効になっています。
キー使用拡張説明
Digital signatureパブリックキーをデジタル署名機構で使用して、Non-repudiation、Certificate signing、CRL signing 以外のセキュリティサービスをサポートする場合に有効にします。Digital signature は、多くの場合、エンティティ認証やデータ送信元認証で整合性を保つために使用されます。
Non-repudiationパブリックキーを使用して、Non-repudiation サービスを提供するために使用するデジタル署名を検証する場合に有効にします。Non-repudiation を指定すると、署名エンティティが何らかのアクション (Certificate signing および CRL signing を除く) を間違って拒否しないように保護できます。
Key enciphermentキーを暗号化するプロトコルと証明書を併用する場合に有効にします。一例である S/MIME エンベロープでは、証明書のパブリックキーを使って高速 (対称) キーが暗号化されます。SSL プロトコルでも、キー暗号化が実行されます。
Data encipherment暗号化キーではなくパブリックキーを使ってユーザーデータを暗号化する場合に有効にします。
Key agreementパブリックキーの送信者と受信者が、暗号化を使用しないでパブリックキーを抽出する必要がある場合に有効にします。このキーを使用すると、送信者と受信者の間でやり取りするメッセージを暗号化できます。これは通常、Diffie-Hellman 暗号化方式と併用します。
Certificate signing対象者のパブリックキーを使用して、証明書の署名を検証する場合に有効にします。この拡張は、CA 証明書でのみ使用できます。
CRL signing対象者のパブリックキーを使用して、失効情報 (CRL など) について署名を検証する場合に有効にします。
Encipher onlyKey agreement も有効にする場合のみ有効にします。Key agreement を実行しながら、パブリックキーをデータの暗号化のみに使用できます。
Decipher onlyKey agreement も有効にする場合のみ有効にします。Key agreement を実行しながら、パブリックキーをデータの暗号化解除のみに使用できます。
拡張キー使用
拡張キー使用によって、キー使用拡張をさらに微調整できます。拡張キーには、critical と non-critical があります。拡張が critical の場合、証明書は指定された目的 (複数可) のためだけに使用する必要があります。証明書を他の目的で使用すると、CA のポリシーに違反することになります。

non-critical の場合、該当キーの使用目的 (複数可) を示し、キーまたは証明書が複数個あるエンティティの正確なキーまたは証明書を検索する際に使用できます。その場合、拡張は、単なる情報フィールドになり、CA がキーの使用を特定の目的に制限していることを意味しません。ただし、証明書を使用するアプリケーションでは、証明書を受け入れることができるように、特定の目的を指定するよう要求する場合もあります。

1 つの証明書に critical なキー使用フィールドと critical な拡張キー使用フィールドが含まれる場合、それらのどちらのフィールドも別々に処理する必要があります。また、証明書は、両方のフィールドと一致する目的でのみ使用しなければなりません。両方のフィールドで一貫性のある目的が存在しない場合、証明書はいかなる目的でも使用してはいけません。
拡張キー対応するキー使用拡張
TLS Web server authenticationDigital signature、Key encipherment、Key agreement
TLS Web client authenticationDigital signature や Key agreement
Sign (downloadable) executable codeDigital signature
Email protectionDigital signature、Non-repudiation、Key encipherment、Key agreement
IPSEC End System (host or router)Digital signature、Key encipherment、Key agreement
IPSEC TunnelDigital signature、Key encipherment、Key agreement
IPSEC UserDigital signature、Key encipherment、Key agreement
TimestampingDigital signature、Non-repudiation
必須のキー使用拡張の例
アプリケーション必須のキー使用拡張
SSL クライアントDigital signature
SSL サーバーKey encipherment
S/MIME の署名Digital signature
S/MIME の暗号化Key encipherment
証明書への署名Certificate signing
オブジェクト署名Digital signature
関連項目