Signing Untrusted SCVP?

"Dave Engberg" <dengberg@corestreet.com> Fri, 02 April 2004 00:02 UTC

Received: from above.proper.com (above.proper.com [208.184.76.39]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id TAA11283 for <pkix-archive@lists.ietf.org>; Thu, 1 Apr 2004 19:02:07 -0500 (EST)
Received: from above.proper.com (localhost.vpnc.org [127.0.0.1]) by above.proper.com (8.12.11/8.12.8) with ESMTP id i31MiK3o035510; Thu, 1 Apr 2004 14:44:20 -0800 (PST) (envelope-from owner-ietf-pkix@mail.imc.org)
Received: (from majordom@localhost) by above.proper.com (8.12.11/8.12.9/Submit) id i31MiKqk035509; Thu, 1 Apr 2004 14:44:20 -0800 (PST)
X-Authentication-Warning: above.proper.com: majordom set sender to owner-ietf-pkix@mail.imc.org using -f
Received: from mongo.corestreet.com (mongo.corestreet.com [68.162.232.130]) by above.proper.com (8.12.11/8.12.8) with ESMTP id i31MiJoo035492 for <ietf-pkix@imc.org>; Thu, 1 Apr 2004 14:44:20 -0800 (PST) (envelope-from dengberg@corestreet.com)
X-MimeOLE: Produced By Microsoft Exchange V6.5.6944.0
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Subject: Signing Untrusted SCVP?
Date: Thu, 01 Apr 2004 17:43:26 -0500
Message-ID: <DE909E05406F3340B186DA5A410B05F642A214@mongo.corestreet.com>
Thread-Topic: Signing Untrusted SCVP?
thread-index: AcQYOt4lw//LlfHkROGzcSxTWp9omg==
From: Dave Engberg <dengberg@corestreet.com>
To: ietf-pkix@imc.org
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by above.proper.com id i31MiKoo035504
Sender: owner-ietf-pkix@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-pkix/mail-archive/>
List-ID: <ietf-pkix.imc.org>
List-Unsubscribe: <mailto:ietf-pkix-request@imc.org?body=unsubscribe>
Content-Transfer-Encoding: 8bit


Section 1.1 of the SCVP draft specification has a nice justification for
supporting pure DPD to avoid the security and scalability problems of
DPV:

   SCVP can be used by clients that do much of the certificate 
   processing themselves but simply want an untrusted server to
   collect information for them. ...

   Untrusted SCVP servers can provide clients the certification paths.  
   They can also provide clients revocation information, such as CRLs 
   and OCSP responses, and the client needs to validate the 
   certification path constructed by the SCVP server.

Validating the received path on the client requires a competent local
validation engine, but avoids the first security concern listed in
section 10:

   A client that trusts a server's response for validation of a 
   certificate inherently trusts that server as much as it would trust 
   its own validation software.  This means that if an attacker 
   compromises a trusted SCVP server, the attacker can change the 
   validation processing for every client that relies on that server.  
   Thus, an SCVP server must be protected at least as well as the 
   trust anchors that the SCVP server trusts.

Rather than trying to protect _every_ SCVP server to the same level as a
root CA, DPD through "Untrusted SCVP" maintains end-to-end PKI security
integrity between clients.

Given that the spec goes to some lengths to support pure DPD by clients,
why is there a requirement (section 3) that every SCVP response be
digitally signed?  In Untrusted mode, clients MUST ignore any signature
from the SCVP server and independently verify the certificate chain and
any extra CRLs, OCSP responses, etc.  The extra dynamic signature around
the entire package is gratuitously expensive overhead (latency,
bandwidth, $20k HSM).

It would make sense (to me, obviously) to make the signature optional,
and possibly add a request flag indicating Untrusted mode.