本文へスキップ
ecdsa.com

鍵用途(keyUsage)拡張

証明書の鍵で行える操作をビットで制限する X.509 拡張(OID 2.5.29.15)で、digitalSignature、contentCommitment、keyEncipherment、keyAgreement、keyCertSign、cRLSign などのビットがあります。
別表記keyUsageKUdigitalSignaturenonRepudiation

各ビットは RFC 5280 §4.2.1.3 で定義されています。digitalSignature(TLS ハンドシェイクの署名、OCSP)、contentCommitment(旧称 nonRepudiation。署名者が内容を確約する文書向け)、keyEncipherment(RSA 鍵輸送。TLS 1.3 では使われなくなりました)、dataEncipherment、keyAgreement(ECDH)、keyCertSign と cRLSign(CA 証明書)です。CA 証明書では、この拡張をクリティカルとしてマークしなければなりません。

リーフ証明書の典型的な値は次のとおりです。ECDSA の TLS 証明書は digitalSignature だけを使い、RSA の TLS 証明書は digitalSignature と、TLS 1.2 の RSA 鍵交換のための keyEncipherment を使います。ビットを強制する検証者は不一致を拒否するため、署名用に発行された証明書は鍵共有に使えず、その逆も同様です。

鍵用途は暗号操作を制限し、拡張鍵用途(EKU)はサーバー認証やコード署名などのアプリケーション上の用途を制限します。検証者がその用途を受け入れるには、両方がそれを許可していなければなりません。

規格と参考文献

すべての用語