170 likes | 673 Views
ECC X.509 Certificate Format . Discussion. Goal. Enable and standardize the use of elliptic curve keys within the X.509 framework. 2. Objectives. Specify how ECC keys and their usage are indicated within X.509 certificates Simple Flexible Generic. 3. Today’s Situation.
E N D
ECC X.509 Certificate Format Discussion Peter de Rooij Certicom Corp. pderooij@certicom.com (650) 312-7995
Goal • Enable and standardize the use of elliptic curve keys within the X.509 framework 2
Objectives • Specify how ECC keys and their usage are indicated within X.509 certificates • Simple • Flexible • Generic 3
Today’s Situation • X.509 does not discuss algorithms. • Standards building on X.509 do; e.g.: • PKIX, ECDSA extension to PKIX, • SET • Missing: general, universal way to specify ECC keys within X.509 4
What to specify • Usage of (ECC) keys requires specification of: • certificate signature format • public key format • algorithm type (ECC) • parameters, if any (field, basis, curve, generator) • algorithm (ECDSA, ECDH, MQV, …) • key usage (sign, cert sign, encrypt, …)
Certificate Signature Format • A Certificate contains a signature. • Its format is determined by the signature algorithm chosen for certificate signing. • Proposal: use whatever the standard specifying the certificate signature says. • Caveat: encoding rules
Public Key Format • Public Key format depends on public key type only; is independent of (signature) algorithm. • Proposal: use ECDSA format for any ECC key • Caveat: encoding rules
Algorithm Indicators in X.509 • Subject Public Key Type and Algorithm / Usage are indicated in: • algorithmIdentifier fields • keyUsage extension • extKeyUsage extension • supportedAlgorithms attribute
Algorithm Type and Parameters • Key type (ECC) and system parameters are indicated in algorithmIdentifier • Type: OID for ECC is available via ECDSA • 3 ways of indicating parameters: • by inheritance from CA (omission) • by explicit specification • by reference: OID for a specific parameter set 6
Algorithm Type and Parameters • Proposal: • “Borrow” the parameter specification as in ECDSA and the ECDSA extension to PKIX Certificate Format. • Add OIDs for the standard curves (for the incorporation by reference)
Key Usage • Key usage is indicated through keyUsage and extKeyUsage extensions • No impact specific to ECC • Proposal: no change
Supported Algorithms • Usage: No impact specific to ECC • Required: list of all ECC algorithms (OIDs) supported by the “SECG profile”
Proposals • Key format • As in ECDSA • Signature format • As in signature standard 7
Proposals (cont.) • Algorithm type and parameters: • Borrow algorithmIdentifier OID and specification from ECDSA • Key usage: • No change • Supported Algorithms Attribute • produce list of supported algorithms with OIDs
Summary • Proposals are the wider adoption of an existing (specialized) solutions: • no changes to existing infrastructure; • “compliance” with existing standards; • simple; • flexible.
Roadmap • Formally specify • public key format (see ECDSA) • signature format (encoding rule) • the algorithmIdentifier usage, incl. OID for ECC key type (see ECDSA) • Define OIDs for selected curves • Define OIDs for supported algorithms
Your Input! • Please let us know of any comments, additions, omissions, etc. • Contributions are welcome.