Re: [pkix] Gen-ART review of draft-ietf-pkix-rfc2560bis-15

Stefan Santesson <stefan@aaa-sec.com> Wed, 27 March 2013 15:39 UTC

Return-Path: <stefan@aaa-sec.com>
X-Original-To: pkix@ietfa.amsl.com
Delivered-To: pkix@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6FCEE21F91E5 for <pkix@ietfa.amsl.com>; Wed, 27 Mar 2013 08:39:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.249
X-Spam-Level:
X-Spam-Status: No, score=-102.249 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_SE=0.35, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PSCKGrTm1bUk for <pkix@ietfa.amsl.com>; Wed, 27 Mar 2013 08:39:27 -0700 (PDT)
Received: from s87.loopia.se (s87.loopia.se [194.9.95.113]) by ietfa.amsl.com (Postfix) with ESMTP id 40A7E21F9141 for <pkix@ietf.org>; Wed, 27 Mar 2013 08:39:26 -0700 (PDT)
Received: from s87.loopia.se (localhost [127.0.0.1]) by s87.loopia.se (Postfix) with ESMTP id 2885D53358E for <pkix@ietf.org>; Wed, 27 Mar 2013 16:39:25 +0100 (CET)
X-Virus-Scanned: amavisd-new at outgoing-smtp.loopia.se
Received: from s87.loopia.se ([127.0.0.1]) by s87.loopia.se (s87.loopia.se [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 4f1y9XEdjTIq for <pkix@ietf.org>; Wed, 27 Mar 2013 16:39:21 +0100 (CET)
Received: from s327.loopia.se (s34.loopia.se [194.9.94.70]) by s87.loopia.se (Postfix) with ESMTP id DCECF533E2A for <pkix@ietf.org>; Wed, 27 Mar 2013 16:37:51 +0100 (CET)
Received: (qmail 98137 invoked from network); 27 Mar 2013 15:37:51 -0000
Received: from 81-232-51-61-no39.business.telia.com (HELO [192.168.0.104]) (stefan@fiddler.nu@[81.232.51.61]) (envelope-sender <stefan@aaa-sec.com>) by s327.loopia.se (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for <david.black@emc.com>; 27 Mar 2013 15:37:51 -0000
User-Agent: Microsoft-MacOutlook/14.3.2.130206
Date: Wed, 27 Mar 2013 16:37:45 +0100
From: Stefan Santesson <stefan@aaa-sec.com>
To: "Black, David" <david.black@emc.com>, "sts@aaa-sec.com" <sts@aaa-sec.com>, "mmyers@fastq.com" <mmyers@fastq.com>, "ambarish@gmail.com" <ambarish@gmail.com>, "slava.galperin@gmail.com" <slava.galperin@gmail.com>, "cadams@eecs.uottawa.ca" <cadams@eecs.uottawa.ca>, "gen-art@ietf.org" <gen-art@ietf.org>
Message-ID: <CD78CFF3.5ED32%stefan@aaa-sec.com>
Thread-Topic: Gen-ART review of draft-ietf-pkix-rfc2560bis-15
In-Reply-To: <8D3D17ACE214DC429325B2B98F3AE71293D36628@MX15A.corp.emc.com>
Mime-version: 1.0
Content-type: text/plain; charset="US-ASCII"
Content-transfer-encoding: 7bit
X-Mailman-Approved-At: Thu, 28 Mar 2013 07:33:38 -0700
Cc: "pkix@ietf.org" <pkix@ietf.org>, "ietf@ietf.org" <ietf@ietf.org>
Subject: Re: [pkix] Gen-ART review of draft-ietf-pkix-rfc2560bis-15
X-BeenThere: pkix@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: PKIX Working Group <pkix.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pkix>, <mailto:pkix-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/pkix>
List-Post: <mailto:pkix@ietf.org>
List-Help: <mailto:pkix-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pkix>, <mailto:pkix-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Mar 2013 15:39:27 -0000

I could.

My worry is just that this is such a contentious subject and it took us x
hundreds of emails to reach this state, that if I add more explanations,
people will start disagreeing with it and that we end up in a long debate
on how to correctly express this.

Is this important enough to do that?

/Stefan


On 3/27/13 3:30 PM, "Black, David" <david.black@emc.com> wrote:

>Hi Stefan,
>
>> Does this answer your question?
>
>Yes, please add some of that explanation to the next version of the draft
>;-).
>Coverage of existing responder behavior/limitations (important "running
>code"
>concerns, IMHO) and alternatives to using "revoked" ("have a number of
>tools
>to prevent the client from accepting a bad certificate") seem particularly
>relevant.
>
>Thanks,
>--David
>
>> -----Original Message-----
>> From: Stefan Santesson [mailto:stefan@aaa-sec.com]
>> Sent: Wednesday, March 27, 2013 7:44 AM
>> To: Black, David; sts@aaa-sec.com; mmyers@fastq.com; ambarish@gmail.com;
>> slava.galperin@gmail.com; cadams@eecs.uottawa.ca; gen-art@ietf.org
>> Cc: pkix@ietf.org; Sean Turner; ietf@ietf.org
>> Subject: Re: Gen-ART review of draft-ietf-pkix-rfc2560bis-15
>> 
>> Hi David,
>> 
>> Yes I missed to respond to that aspect.
>> 
>> This is a bit complicated, but we have a large legacy to take into
>>account
>> where some responders implements just RFC 2560, while some deliver
>> pre-generated responses according to RFC 5019 (Light-weight OCSP). LW
>> responders are not capable of producing a signed response at the time of
>> responding and in case such responder finds a request for a certificate
>> where no pre-produced response exists, it will reply with an unsigned
>> error response "unauthorized", which also is a legitimate way to
>>respond.
>> So the actual OCSP responder may actually know that the certificate was
>> never issued, but since it delivers pre-produced responder through a
>>CDN,
>> it can not provide a revoked response in real time.
>> 
>> So the major aim with the current writing is to declare that the revoked
>> response is a MAY because there are other valid alternatives.
>> 
>> We also want to avoid putting down a SHOULD respond revoked if a
>> certificate is known to be not-issued, because that would require us to
>> define what "known to be non-issued" actually means. And that could be
>> quite tricky as OCSP responders by no means are required to have this
>> knowledge.
>> 
>> The OCSP responder simply have a number of tools to prevent the client
>> from accepting a bad certificate.
>> This update of OCSP simply allows responders to use the "revoked"
>>response
>> as a preventive measure, without mandating it.
>> 
>> This is also related to activities in the CA Browser Forum where they
>>put
>> down requirements on responders complying with CAB rules to not respond
>> "good" to certificates that were never issued.
>> With this update in OCSP, they can now mandate in their policies both
>>the
>> fact that their responders MUST know if a certificate was never issued
>>and
>> MUST respond "revoked".
>> 
>> So we allow other communities to raise the bar even if the base standard
>> defines the response as optional.
>> 
>> In theory we could possibly say that responding revoked is optional, but
>> if you choose between revoked and unknown then you SHOULD favour revoked
>> over unknown. But such nested requirements just feels bad and impossible
>> to test compliance against. I'd much rather just leave it optional. I
>> think the Note gives a clear recommendation on this and the rationale
>> without spelling it out as a requirement.
>> 
>> Does this answer your question?
>> 
>> 
>> On 3/27/13 12:51 AM, "Black, David" <david.black@emc.com> wrote:
>> 
>> >Hi Stefan,
>> >
>> >This looks good - thank you for the prompt response.
>> >
>> >It looks like my speculation on item [1] was wrong, so could you
>>respond
>> >to the question below, please?:
>> >
>> >> >[1] Section 2.2:
>> >> >
>> >> >	NOTE: The "revoked" state for known non-issued certificate serial
>> >> >		numbers is allowed in order to reduce the risk of relying
>> >> >		parties using CRLs as a fall back mechanism, which would be
>> >> >		considerably higher if an "unknown" response was returned.
>> >> >
>> >> >Given this explanation, I'm surprised that the use of "revoked"
>> >>instead of
>> >> >"unknown" for a known non-issued certificate is a "MAY" requirement
>>and
>> >> >not a "SHOULD" requirement.  Why is that the case?
>> >
>> >--------------
>> >
>> >Beyond that, the proposed actions (or proposed non-actions) on items
>> >[2]-[5]
>> >are fine with me, Sean's taken care of the author permissions item from
>> >idnits, and I assume someone has or will check the ASN.1 .
>> >
>> >Thanks,
>> >--David
>> >
>> >> -----Original Message-----
>> >> From: Stefan Santesson [mailto:stefan@aaa-sec.com]
>> >> Sent: Monday, March 25, 2013 10:21 PM
>> >> To: Black, David; sts@aaa-sec.com; mmyers@fastq.com;
>>ambarish@gmail.com;
>> >> slava.galperin@gmail.com; cadams@eecs.uottawa.ca; gen-art@ietf.org
>> >> Cc: pkix@ietf.org; Sean Turner; ietf@ietf.org
>> >> Subject: Re: Gen-ART review of draft-ietf-pkix-rfc2560bis-15
>> >>
>> >> Hi David,
>> >>
>> >> Thanks for the review.
>> >> My reply in line.
>> >>
>> >> On 3/26/13 1:25 AM, "Black, David" <david.black@emc.com> wrote:
>> >>
>> >> >Authors,
>> >> >
>> >> >I am the assigned Gen-ART reviewer for this draft. For background on
>> >> >Gen-ART, please
>> >> >see the FAQ at
>> >><http://wiki.tools.ietf.org/area/gen/trac/wiki/GenArtfaq>.
>> >> >
>> >> >Please resolve these comments along with any other Last Call
>>comments
>> >>you
>> >> >may receive.
>> >> >
>> >> >Document: draft-ietf-pkix-rfc2560bis-15
>> >> >Reviewer: David L. Black
>> >> >Review Date: March 25, 2013
>> >> >IETF LC End Date: March 27, 2013
>> >> >
>> >> >Summary:
>> >> >This draft is on the right track but has open issues, described in
>>the
>> >> >review.
>> >> >
>> >> >This draft updates the OCSP protocol for obtaining certificate
>>status
>> >> >with some minor extensions.
>> >> >
>> >> >Because this is a "bis" draft, I reviewed the diffs against RFC
>>2560.
>> >> >
>> >> >I did not check the ASN.1.  I also did not see a writeup for this
>>draft
>> >> >in the data tracker, and so will rely on the document shepherd to
>> >> >ensure that the ASN.1 has been checked when the writeup is prepared.
>> >> >
>> >> >I found five open issues, all of which are minor, plus one idnits
>>item
>> >> >that is probably ok, but should be double-checked.
>> >> >
>> >> >Minor issues:
>> >> >
>> >> >[1] Section 2.2:
>> >> >
>> >> >	NOTE: The "revoked" state for known non-issued certificate serial
>> >> >		numbers is allowed in order to reduce the risk of relying
>> >> >		parties using CRLs as a fall back mechanism, which would be
>> >> >		considerably higher if an "unknown" response was returned.
>> >> >
>> >> >Given this explanation, I'm surprised that the use of "revoked"
>> >>instead of
>> >> >"unknown" for a known non-issued certificate is a "MAY" requirement
>>and
>> >> >not a "SHOULD" requirement.  Why is that the case?
>> >> >
>> >> >It appears that the reason is that the use of "revoked" in this
>> >>situation
>> >> >may be dangerous when serial numbers can be predicted for
>>certificates
>> >> >that
>> >> >will be issued in the future.  If that's what's going on, this
>>concern
>> >>is
>> >> >already explained in the security considerations section, but it
>>should
>> >> >also be mentioned here for completeness.
>> >>
>> >> No, this is not the main reason. The main reason is the one stated
>>as a
>> >> Note: in this section:
>> >>
>> >> NOTE: The "revoked" state for known non-issued certificate serial
>> >>numbers
>> >> is allowed in order to reduce the risk of relying parties using CRLs
>>as
>> >>a
>> >> fall back mechanism, which would be considerably higher if an
>>"unknown"
>> >> response was returned.
>> >>
>> >>
>> >> >
>> >> >[2] Section 4.2.2.2:
>> >> >
>> >> >	The key that signs a certificate's status information need not be
>>the
>> >> >	same key that signed the certificate. It is necessary however to
>> >> >	ensure that the entity signing this information is authorized to do
>> >> >	so.  Therefore, a certificate's issuer MAY either sign the OCSP
>> >> >	responses itself or it MAY explicitly designate this authority to
>> >> >	another entity.
>> >> >
>> >> >The two instances of "MAY" in the above text were both "MUST" in RFC
>> >>2560.
>> >> >
>> >> >The RFC 2560 text construction of "MUST" or "MUST" is a bit odd, but
>> >>the two
>> >> >"MAY"s in this draft are even worse, as they allow "MAY do something
>> >>else
>> >> >entirely", despite being enclosed in an either-or construct.  I
>> >>strongly
>> >> >suspect that the latter was not intended, so the following would be
>> >> >clearer:
>> >> >
>> >> >	The key that signs a certificate's status information need not be
>>the
>> >> >	same key that signed the certificate. It is necessary however to
>> >> >	ensure that the entity signing this information is authorized to do
>> >> >	so.  Therefore, a certificate's issuer MUST do one of the
>>following:
>> >> >		- sign the OCSP responses itself, or
>> >> >		- explicitly designate this authority to another entity.
>> >>
>> >>
>> >> I Agree. I will adopt your text.
>> >>
>> >> >
>> >> >[3] Section 4.3:
>> >> >
>> >> >Is the "SHOULD" requirement still appropriate for the DSA with SHA-1
>> >>combo
>> >> >(vs. a "MAY" requirement)?  This requirement was a "MUST" in RFC
>>2560,
>> >>but
>> >> >I wonder about actual usage of DSA in practice.
>> >>
>> >> The change in algorithm requirements was provided by RFC 6277, and
>> >>further
>> >> refined in this draft in accordance with requests from Sean Turner.
>> >>
>> >> >
>> >> >[4] Section 5, last paragraph:
>> >> >
>> >> >	Responding a "revoked" state to certificate that has never been
>> >> >	issued may enable someone to obtain a revocation response for a
>> >> >	certificate that is not yet issued, but soon will be issued, if the
>> >> >	CA issues certificates using sequential certificate serial number
>> >> >	assignment.
>> >> >
>> >> >The above text after starting with the "if" is too narrow - it
>>should
>> >>say:
>> >> >
>> >> >	if the certificate serial number of the certificate that
>> >> >	will be issued can be predicted or guessed by the requester.
>> >> >	Such prediction is easy for a CA that issues certificates
>> >> >	using sequential certificate serial number assignment.
>> >> >
>> >> >There's also a nit in original text - its first line should be:
>> >> >
>> >> >	Responding with a "revoked" state for a certificate that has never
>> >>been
>> >>
>> >> Good suggestions. I will update accordingly.
>> >>
>> >> >
>> >> >[5] Section 5.1.1:
>> >> >
>> >> >	In archival applications it is quite possible that an OCSP
>>responder
>> >> >	might be asked to report the validity of a certificate on a date in
>> >> >	the distant past. Such a certificate might employ a signing method
>> >> >	that is no longer considered acceptably secure. In such
>> >> >	circumstances the responder MUST NOT generate a signature using a
>> >> >	signing mechanism that is not considered acceptably secure.
>> >> >
>> >> >This could use an additional warning that certificate archival
>>should
>> >> >not rely solely on signatures in archived certificates for ensuring
>>the
>> >> >validity and integrity of the archived certificates because the
>> >>signature
>> >> >algorithm(s) may transition to no longer being considered acceptably
>> >> >secure at some point after the certificates are archived.
>> >>
>> >> This note if I remember correctly is imported from RFC 6277, which is
>> >> incorporated into this document. The reason behind the text is only
>>to
>> >> avoid usages of insecure algorithms.
>> >> Historical validation is a real can of worms that I really would
>>like to
>> >> keep a tight lid on. I really want to avoid doing recommendations in
>> >>this
>> >> space as it may trigger a whole flood of things that could be equally
>> >> important to say about this subject.
>> >>
>> >> >
>> >> >Nits:
>> >> >
>> >> >idnits 2.12.15 said:
>> >> >
>> >> >  -- The document seems to lack a disclaimer for pre-RFC5378 work,
>>but
>> >>may
>> >> >     have content which was first submitted before 10 November 2008.
>> >>If
>> >> >you
>> >> >     have contacted all the original authors and they are all
>>willing
>> >>to
>> >> >grant
>> >> >     the BCP78 rights to the IETF Trust, then this is fine, and you
>>can
>> >> >ignore
>> >> >     this comment.  If not, you may need to add the pre-RFC5378
>> >> >disclaimer.
>> >> >     (See the Legal Provisions document at
>> >> >     http://trustee.ietf.org/license-info for more information.)
>> >> >
>> >> >This looks like it's ok because all the authors of RFC 2560 are also
>> >> >authors of
>> >> >this draft, but it should be double-checked.
>> >>
>> >>
>> >> I defer this one to Sean. I think he has this one under control.
>> >>
>> >>
>> >> Thanks again for the review.
>> >>
>> >> /Stefan
>> >>
>> >>
>> >> >
>> >> >Thanks,
>> >> >--David
>> >> >----------------------------------------------------
>> >> >David L. Black, Distinguished Engineer
>> >> >EMC Corporation, 176 South St., Hopkinton, MA  01748
>> >> >+1 (508) 293-7953             FAX: +1 (508) 293-7786
>> >> >david.black@emc.com        Mobile: +1 (978) 394-7754
>> >> >----------------------------------------------------
>> >> >
>> >> >
>> >>
>> >>
>> >
>> 
>> 
>