250 likes | 338 Vues
The initial report by the ECC Design Team outlines possible ways forward regarding specifying ECC public keys, including detailing the RFC 4055 style solution and the ANSI X9.62-2005 based solution with added improvements. It suggests certificate extensions, algorithm OIDs, and additional controls for fine-grained operations. Security, interoperability, cryptographic agility, simplicity, and decision criteria are crucial aspects analyzed in this report.
E N D
ECC Design Team:Initial Report Brian Minard, Tolga Acar, Tim Polk November 8, 2006
Specifying ECC Public Keys • RFC 3279 • Algorithm OID indicates elliptic curve, and includes algorithm parameters • In conjunction with key usage extension, can restrict a key to signatures or key agreement • Cannot differentiate a key intended for DH from an MQV key
Possible Ways Forward • Two Very Different Proposals Circulate on list • RFC 4055 style solution • ANSI X9.62-2005 based solution • Design team added a third • Certificate extension • In conjunction with current RFC 3279 or RFC 4055 style solution
RFC 4055 Style Solution • Described in emails to PKIX list • Specify three new algorithm OIDS to specify restrictions to the common families of operations (ECDSA, ECDH, and ECMQV) • Parameters are the same as RFC 3279
ANSI X9.62-2005 based solution • Documented in Dan Brown’s ecc-pkalgs-03 ID (on PKIX WG page) • Introduces a new Algorithm OID, id-ecPublicKeyRestricted • Parameters field includes algorithm parameters and a sequence of algorithm identifiers representing the set of ECC algorithms associated with the public key
ECC Algorithm Identifiers in ecPublicKeyrestricted • Fine grained control • 6 DH OIDs, 6 MQV OIDs, 9 ECDSA OIDs • Differentiates one-pass from full mode, hash algorithms for signatures • No “family” OIDs (e.g., any MQV mode) • Algorithm identifiers may be associated with additional parameters to specify auxiliary cryptographic functions • Can specify hash algorithms in kdfs, etc. • Includes “with recommended” feature
Certificate Extension, I • Not currently documented • Retain current algorithm OID and parameter specification • Define an optionally critical certificate extension • Sequence of Algorithm Identifiers, as in X9.62 parameters • Reuse X9 algorithm Identifiers • Deprecating “with recommended”? • Add three “family” OIDs (ECDSA, ECDH, ECMQV)
Certificate Extension, II • Where noncritical, compatible with vanilla 3279 systems but may be used in less desirable modes • Where critical, interoperability sacrificed for control
Decision Criteria • Security • Interoperability & Ease of Deployment • Cryptographic Agility • Simplicity • Red Herring - CMVP process impact
Security • Security of the key pair • Performing both Diffie-Hellman and MQV does not impact the security of the key pair. • Use of a key pair in both full and one-pass modes (for MQV or DH) does not impact the security of the key pair. • Security of the protected data: ECDH/ECMQV • Recipient may wish to ensure that data is always protected with their chosen algorithm family or mode. • Security of the protected data: ECDSA • Specification of the hash algorithm avoids message substitution attacks using weak hash algorithms
Interoperability & Ease of Deployment • Interoperability with installed base • Interoperability with IETF protocols • Communicating Limitations in Cryptographic Support
Interoperability with Installed Base • Installed base conforms to RFC 3279 • Will be significantly augmented by Vista • Preferably, solution would opt-in/opt-out for compatibility with “legacy” implementations
Interoperability with IETF Protocols, I • New algorithm OIDs or critical extensions are inherently incompatible with current protocols/implementations • Limitations on ancillary cryptographic algorithms may be incompatible with protocol details • For DH/MQV, kdfs tend to be unique to protocols • For ECDSA, hash algorithm is already specified in the protocol stream. Specification in cert creates new verification steps.
Interoperability with IETF Protocols, II • Restrictions on modes may impact protocols • number of round trips in a protocol may be different for DH vs. MQV, or one-pass versus full mode • Restrictions may preclude protocol designer from using other options • authenticated nature of MQV could also be satisfied by a signature over ECDH
Communicating Limitations in Cryptographic Support, I • Common restrictions are a family of operations (e.g., ECDSA, DH, MQV) • Consistent with limitations in crypto support • Cryptographers would like to specify modes and ancillary functions (kdfs and hash algorithms) • Generally represent policy requirements rather than limitations in crypto support • Application developers would like as much information as possible, to eliminate extra round trips and failed negotiations.
Cryptographic Agility • Restrictions on key use could interfere with deployment of new auxiliary functions • Changes in cryptographic suites or deployment of new protocols could force reissuance of certificates
Simplicity • Should express common limitations in a (relatively) simple form
Survey Process • Emailed prospective participants • Description of alternative proposals • Description of five criteria • Two questions: • Are additional criteria needed? • Which proposal is preferred and why • Follow up email to PKIX list requested info on implementations
Survey Responses… • Were amazingly diverse! • People from the same organizations and co-editors of RFcs gave diametrically opposed responses • Consensus was not just waiting to be discovered
Decision Time • Any of these solutions is technically feasible • Each of these solutions has advantages and disadvantages • So, by process of elimination…
Why Not 4055 Style Solution? • Incompatible with installed base, and no clear migration path • New OIDs are like unrecognized critical extensions! • Not widely implemented for RSA, so architectural changes would be required • May not provide sufficient information
Why Not X9.62-2005? • No current deployment or implementation • No clear migration path • New OID is like an unrecognized critical extension! • Inconsistent with current application/protocol expectations • Architectural changes will be required • Complex specification for most common restrictions • Potential incompatibility with protocols discourages ECC deployment
Design Team’s Proposal • Retain 3279 OID/parameters • Critical mass is finally emerging! • Specify certificate extension as SHOULD implement for CAs and clients • Criticality provides opt-in/opt-out mechanism to select interoperability or control • Applications can take advantage of hints in noncritical extension, even where unrecognized by the path validation module • Consistent with current application/protocol expectations (Alg OID plus extensions)
However… • X9.62-2005 restricted the use of ECDSA keys specified using id-ecPublicKey OID to SHA-1. • Without change, implementations will not be able to conform to both the IETF and ANSI specifications! • Fortunately, X9.63-2001 has not been updated to reflect the new syntax, so ANSI could remove the restriction.