Re: [pkix] Proposed resolution to non-issued certificates - 2560bis

"Piyush Jain" <piyush@ditenity.com> Thu, 01 November 2012 16:37 UTC

Return-Path: <piyush@ditenity.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 5C57E21F8FE4 for <pkix@ietfa.amsl.com>; Thu, 1 Nov 2012 09:37:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fJo1HGWiTSfS for <pkix@ietfa.amsl.com>; Thu, 1 Nov 2012 09:37:25 -0700 (PDT)
Received: from mail-ie0-f172.google.com (mail-ie0-f172.google.com [209.85.223.172]) by ietfa.amsl.com (Postfix) with ESMTP id 439F121F8FCA for <pkix@ietf.org>; Thu, 1 Nov 2012 09:37:25 -0700 (PDT)
Received: by mail-ie0-f172.google.com with SMTP id 9so4362343iec.31 for <pkix@ietf.org>; Thu, 01 Nov 2012 09:37:24 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:references:in-reply-to:subject:date:message-id:mime-version :content-type:content-transfer-encoding:x-mailer:thread-index :content-language:x-gm-message-state; bh=rPGuEptrB79slPdgkJ2zWXWlLbKNH6zRk4LUt2d2svw=; b=ZozaDX/yRXG+HFw/slJmNqMj0BXBlSDaJtJH/ehoQNaL65hI7fsuU3LOlXIuJGLG+f H8vNj85ytsxtAe7Ic++geTvvlZ9Yp8jP9LfhjwRxaxvb8x+0Qa9wHrukIskUDb2Z1rtI Fq0aCHj09dCJnLtaLuxKRuJVaBENo0HLkEjSmUB4Sxbjyrgii3GyyQhtp2uwbA83Xgdq 9rpPkqKNu+k3bBPoqVUGvgSF3UjCjJ9iOG+t1dAAE5OfHv63Vl7drfOKoKuBxXQYM2OM 6VEJ/eaN2qoKfXCfXuW+BXModDFs06a2wukZyZ1S4aFZe83pNm5VeAnTn/oIG+2tIve6 7+XA==
Received: by 10.50.237.70 with SMTP id va6mr1861692igc.8.1351787844645; Thu, 01 Nov 2012 09:37:24 -0700 (PDT)
Received: from hp13 (75-25-128-241.lightspeed.sjcpca.sbcglobal.net. [75.25.128.241]) by mx.google.com with ESMTPS id ez8sm6137854igb.17.2012.11.01.09.37.22 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 01 Nov 2012 09:37:23 -0700 (PDT)
From: Piyush Jain <piyush@ditenity.com>
To: 'Stefan Santesson' <stefan@aaa-sec.com>, pkix@ietf.org
References: <028f01cdb844$ca049fc0$5e0ddf40$@ditenity.com> <CCB85537.52953%stefan@aaa-sec.com>
In-Reply-To: <CCB85537.52953%stefan@aaa-sec.com>
Date: Thu, 01 Nov 2012 09:37:19 -0700
Message-ID: <02a301cdb84f$2a685460$7f38fd20$@ditenity.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
Thread-index: AQITRFpf3TX/lIOcXMxLIF3O5LbkCpdKDVqw
Content-Language: en-us
X-Gm-Message-State: ALoCoQkPF6VskyoI7n1YnzqUKPJN8mIA819z3A9CJhw1R7nPio7DMie5zCLql6GZlDg01v+biZya
Subject: Re: [pkix] Proposed resolution to non-issued certificates - 2560bis
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: Thu, 01 Nov 2012 16:37:26 -0000

> -----Original Message-----
> From: Stefan Santesson [mailto:stefan@aaa-sec.com]
> Sent: Thursday, November 01, 2012 8:40 AM
> To: Piyush Jain; pkix@ietf.org
> Subject: Re: [pkix] Proposed resolution to non-issued certificates -
2560bis
> 
> As a short reply.
> 
> No, the good response is still true from a very practical perspective.
> It is exactly as written.
[Piyush] I'm sure you have your reasons. But the obvious question that comes
to my mind is that if a responder returns revoked for non-issued, than why
can't good be considered a proof of issuance. The current text fails to
capture this.
> 
> Secondly,
> Even if the major reason for allowing revoked for non-ussued certs is to
> detect/react to compromised CA situations, 
[Piyush] That is the reason that has been cited. The way I see it is to
allow CAs to continue operations even after the compromise. I have not seen
a single discussion on how CA would react if starts getting such requests.
It does give the CAs the tool to advertise the security of their systems to
unsuspecting customers who do not understand the OCSP trust model.

>this does NOT mean that any
> request for a non-issued cert is caused by a compromised CA.

[Piyush]Nor does it mean that certificate was issued and put on hold, which
is what certifcateOnHold implies.

> 
> It can simply be caused by a bug in the requesting client or a deliberate
false
> request.
[Piyush] In either of these cases, what the responder returns has no value.
The best response in such cases is to return transport level error (HTTP
422). 
I hope that the expectation here is not that this response will help RPs to
recover from software bugs or that it will teach malicious clients to play
nice.

> It's therefore wrong to reply that the CA is compromised, unless you know
> that the CA is compromised.
[Piyush] Only scenario that matters is the one in which CA is compromised.
In every other scenario the content of the response is irrelevant.
> 
> /Stefan
> 
> 
> On 11/1/12 4:23 PM, "Piyush Jain" <piyush@ditenity.com> wrote:
> 
> >
> >
> >> -----Original Message-----
> >> From: Stefan Santesson [mailto:stefan@aaa-sec.com]
> >> Sent: Thursday, November 01, 2012 6:11 AM
> >> To: Piyush Jain; pkix@ietf.org
> >> Subject: Re: [pkix] Proposed resolution to non-issued certificates -
> >2560bis
> >>
> >> In-line;
> >>
> >> On 11/1/12 12:12 AM, "Piyush Jain" <piyush@ditenity.com> wrote:
> >>
> >> >
> >> >
> >> >> -----Original Message-----
> >> >> From: pkix-bounces@ietf.org [mailto:pkix-bounces@ietf.org] On
> >> >> Behalf Of Stefan Santesson
> >> >> Sent: Wednesday, October 31, 2012 11:47 AM
> >> >> To: pkix@ietf.org
> >> >> Subject: [pkix] Proposed resolution to non-issued certificates -
> >> >> 2560bis
> >> >>
> >> >> I didn't put up an end date for the straw-poll, but the trend
> >> >>seems clear.
> >> >>
> >> >> The results so far (if I counted right)
> >> >>
> >> >> Supporting #1: 22
> >> >> Supporting #2: 0
> >> >> Supporting #3 using "unknown": 6
> >> >> Supporting #3 using "unauthorised: 2
> >> >>
> >> >> 6 persons supporting #1 has expressed various levels of
> >> >>support/demand for  an explicit declaration that the OCSP responder
> >> >>supports the enhanced  definition of "revoked" to include "no
issued".
> >> >>
> >> >> 1 person responded off-line supporting #1.
> >> >>
> >> >>
> >> >> If the trend reflects the opinion of the WG. This is my proposed
> >> >> resolution:
> >> >>
> >> >>
> >> >> 1) Extend the "revoked" response to also be allowed for non-issued
> >> >> certificates. Clearly stating that this is optional if and only if
> >> >> the
> >> >OCSP
> >> >> responder knows that the requested serial number has never been
> >> issued.
> >> >[Piyush] This requires changing the current text for 'good'. Pasted
> >> >for your reference
> >> >
> >> >The "good" state indicates a positive response to the status inquiry.
> >> >   At a minimum, this positive response indicates that the certificate
> >> >   is not revoked, but does not necessarily mean that the certificate
> >> >   was ever issued or that the time at which the response was produced
> >> >   is within the certificate's validity interval. Response extensions
> >> >   may be used to convey additional information on assertions made by
> >> >   the responder regarding the status of the certificate such as
> >> >   positive statement about issuance, validity, etc.
> >>
> >> This is still true.
> >[Piyush]It is tree in theoretical sense, but incomplete and confusing.
> >The meaning of 'good' changes, if the responder returns revoked for
> >'fraudulently-issued' certificates.
> > In such cases, a positive proof implies that the certificate was issued.
> >Also, the last sentence in the above paragraph does not apply for such
> >responders.
> >>
> >> >
> >> >> 2) Specify that a "revoked" status for a non-issued certificate
> >> >> serial
> >> >number
> >> >> MUST have revocationTime set to Jan 1, 1970 and MUST set the
> >> >> revocationReason to certificateHold (6).
> >> >[Piyush] There were some objections on using certificateHold as
> >> >revocationReason for this purpose. CA compromise would be more
> >> >appropriate because the only scenario where this is beneficial is
> >> >when the CA is compromised.
> >>
> >> Absolutely not. The CA is not compromised just because I ask for a
> >>serial  number that was never issued.
> >
> >[Piyush] All this time, the reason to propose this change has been that
> >it helps the situation where certificates are fraudulently issued. If
> >the RP is not doing signature checking than this discussion is moot. If
> >RP has verified that signature is correct and CA thinks it is not
> >issued, it is caCompromise.
> >CA may be compromised or not. But this response is telling the RP that
> >if he thinks that certificate is signed by the CA, then it implies that
> >CA is compromised.
> >>
> >>
> >> >
> >> >> 2) Define a new optional non-critical extension declaring that
> >> >> OCSP responder returns "revoked" for non-issued certificates
> >> >> according to the updated standard. This extension MUST be present
> >> >> in all responses where the "revoked" response is returned as a
> >> >> result of a status request for a
> >> >non-
> >> >> issued certificate.
> >> >[Piyush] Are you proposing that the specification of this extension
> >> >would be part of OCSP or it would be published as a separate
> >> >specification?
> >> >I think that it should not be part of main OCSP specification, given
> >> >that it is useful only in the exceptional scenario where CA gets
> >> >compromised.
> >>
> >> Proposing to include it in the base standard. It can also be used to
> >measure
> >> whether an OCSP responder adopts this response behaviour even if the
> >>CA is  not compromised.
> >>
> >[Piyush] This is something new. So what are the benefits of this if the
> >CA is not compromised? What value does it add over signature checking?
> >And I thought that in one of you previous emails you said that there
> >was a WG decision to limit changes to RFC 2560 to what is necessary to
> >resolve previous ambiguity. Don't know if that is still the case.
> >>
> >> >>
> >> >>
> >> >> Rationale:
> >> >> The certificateHold reason feels important for one particular
reason.
> >> >>If a
> >> >CA is
> >> >> issuing certificates with sequential serial numbers, then it could
> >> >> be
> >> >possible
> >> >> to obtain a revoked response for a certificate serial number that
> >> >> is not
> >> >yet
> >> >> issued, but soon will be issued. That the certificate serial
> >> >> number is
> >> >currently
> >> >> not issued, does not mean that it never will, thus the
> >> >> certificateHold
> >> >reason
> >> >> seems more appropriate.
> >> >>
> >> >[Piyush] Given that a fraudulent certificate has been issued with a
> >> >serial number, the CA would eventually revoke the certificate with
> >> >this serial number and would not issue any newer certificate with
> >> >the same
> >> serial.
> >> >I think the confusion arises from the fact that we've been using
> >> >'not-issued' and 'fraudulently-issued' interchangeably. All this
> >> >time I'd been thinking that we are discussing the latter. If that is
> >> >indeed the case, caCompromise seems more appropriate.
> >>
> >> No, for reason above.
> >>
> >> >
> >> >> The date 1 Jan, 1970 is appropriate since it is common in
> >> >> programming languages to express time as milliseconds since jan 1,
> 1970.
> >> >> Selecting
> >> >this
> >> >> time avoids time expression as a negative integer.
> >> >>
> >> >> This date translates to (java):
> >> >> Date revocationTime = new Date(0);  //Jan 1st, 1970
> >> >>
> >> >> The extension would be a simple OID with no data structure and
> >> >> MUST not be set to critical.
> >> >>
> >> >>
> >> >> Question:
> >> >> Would it make sense to require an OCSP responder that adopts the
> >> >>expanded use of "revoked" to always include the new extension?
> >> >> It would add the benefit that someone receiving "good" can know
> >> >>that the  OCSP responder has checked that the certificate in fact
> >> >>has been issued by  the CA.
> >> >> In such case it may be reasonable to add an optional data
> >> >>structure which  MAY contain a hash of the cert.
> >> >> Such hash would make the positive confirmation even stronger,
> >> >>adding proof  of existence of the certificate.
> >> >[Piyush] I hope that you realize that big enterprise PKI deployments
> >> >use OCSP and CRLs interchangeably. And with this proposal OCSP
> >> >becomes more authoritative than CRL.
> >> >So I guess the next step would be to change the basic path
> >> >validation algorithm to drop the use of CRLs in favor of OCSP and
> >> >also drop the signature verification (off course if the RP knows
> >> >that his OCSP responder issues stronger positive confirmations).
> >>
> >> It is not part of this work to update CRL processing or path
validation.
> >[Piyush] Are you saying that there is no need to evaluate how this work
> >affects other standards created by pkix.
> >>
> >> >>
> >> >> But perhaps this will bee too much to agree on :)
> >> >>
> >> >[Piyush] How about a thinner profile of SCVP that could address
> >> >everything you are trying to achieve in OCSP.
> >>
> >> It is neither part of this work to update SCVP. Just to update OCSP.
> >[Piyush] SCVP does not need to be updated. It already has provisions
> >for what you are trying to duplicate in OCSP.
> >>
> >> /Stefan
> >>
> >
> >
> >_______________________________________________
> >pkix mailing list
> >pkix@ietf.org
> >https://www.ietf.org/mailman/listinfo/pkix
>