ecc design team: initial report

25
ECC Design Team: Initial Report Brian Minard, Tolga Acar, Tim Polk November 8, 2006

Upload: mira-dillon

Post on 02-Jan-2016

21 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ECC Design Team: Initial Report

ECC Design Team:Initial Report

Brian Minard, Tolga Acar, Tim Polk

November 8, 2006

Page 2: ECC Design Team: Initial Report

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

Page 3: ECC Design Team: Initial Report

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

Page 4: ECC Design Team: Initial Report

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

Page 5: ECC Design Team: Initial Report

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

Page 6: ECC Design Team: Initial Report

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

Page 7: ECC Design Team: Initial Report

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)

Page 8: ECC Design Team: Initial Report

Certificate Extension, II

• Where noncritical, compatible with vanilla 3279 systems but may be used in less desirable modes

• Where critical, interoperability sacrificed for control

Page 9: ECC Design Team: Initial Report

Decision Criteria

• Security

• Interoperability & Ease of Deployment

• Cryptographic Agility

• Simplicity

• Red Herring - CMVP process impact

Page 10: ECC Design Team: Initial Report

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

Page 11: ECC Design Team: Initial Report

Interoperability & Ease of Deployment

• Interoperability with installed base

• Interoperability with IETF protocols

• Communicating Limitations in Cryptographic Support

Page 12: ECC Design Team: Initial Report

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

Page 13: ECC Design Team: Initial Report

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.

Page 14: ECC Design Team: Initial Report

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

Page 15: ECC Design Team: Initial Report

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.

Page 16: ECC Design Team: Initial Report

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

Page 17: ECC Design Team: Initial Report

Simplicity

• Should express common limitations in a (relatively) simple form

Page 18: ECC Design Team: Initial Report

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

Page 19: ECC Design Team: Initial Report

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

Page 20: ECC Design Team: Initial Report

Decision Time

• Any of these solutions is technically feasible

• Each of these solutions has advantages and disadvantages

• So, by process of elimination…

Page 21: ECC Design Team: Initial Report

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

Page 22: ECC Design Team: Initial Report

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

Page 23: ECC Design Team: Initial Report

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)

Page 24: ECC Design Team: Initial Report

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.

Page 25: ECC Design Team: Initial Report

Questions?