Re: [TLS] Server behavior when client certificate does not match the request ?

Eric Rescorla <ekr@rtfm.com> Tue, 12 January 2016 21:42 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DBACA1A8A3E for <tls@ietfa.amsl.com>; Tue, 12 Jan 2016 13:42:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.277
X-Spam-Level:
X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IxFi3tjaFgf8 for <tls@ietfa.amsl.com>; Tue, 12 Jan 2016 13:42:39 -0800 (PST)
Received: from mail-yk0-x233.google.com (mail-yk0-x233.google.com [IPv6:2607:f8b0:4002:c07::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 527881A8A29 for <tls@ietf.org>; Tue, 12 Jan 2016 13:42:39 -0800 (PST)
Received: by mail-yk0-x233.google.com with SMTP id x67so468286947ykd.2 for <tls@ietf.org>; Tue, 12 Jan 2016 13:42:39 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=ntrX1LIBtAR7HEUiLRpvzkTaOFUHIa+BhKPxenhquvg=; b=JsHR+xRmpouw7v1idELsuoZXmI5FKXarFh2MloYHNVJi75r9dzAoihjc7oRRMLKhwp T/kv0pfqNeDOipgOnHQb/LetNUt8dStvovq2Tzyg6VmuuQpjf2xpF1MEFTJ1gzJVAlam 9KbgHmG9Zf/IF+QX52qadmCmzSn20c7yUuO3VHrUNgBgapkG356grEZNjY50x5ZLaSy2 B65bGv+qkFhPIEnJB6wUdXQ2aZaPdBNi44HKPw8JwkktIoS29HPvd4+kMqA9mRvVFOza K0nHaFq++H6Kj/hctIEcs7AEgyva/VaaA/SGzj3lwUSrSY1bDj+DlhEmnaKDYFD/6HUg XD3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=ntrX1LIBtAR7HEUiLRpvzkTaOFUHIa+BhKPxenhquvg=; b=kx6OLDs9UFHVOVuEledpDa982j+jQKMjWMgTAO63KXbcpy9xTNOwMXfhADX3JuZEtD rahLoFtj0YfTTcFvwkslImy2Diodj+QgFxjb1vhoub++QqsQNepaHKU4B8SfZPHbvkMp JDSfZ2aMnCD8hPBHKuN6xIqqG24QZJWHcfmVS8xNmv+68wNXz4/rd3eXT11wlqaKr+h3 wm7PbNCkZmfjKR3izyuU8bAtIDNa8XdnNndsP/9/c64kBdr46NuN0Y7M4eLxEe8d2p/Y UK3W9rzqGgx/Rbv0dSItYw29cXV1iI39e3kCk6s4+QNGZCKcmbQpBagaYKV6GJrR+FFl evfA==
X-Gm-Message-State: ALoCoQmo8V3EeKoFdPrBzw95oc7hfTIuXYXK4tHj3vzPJDTRpZMuu1wHrP63r44RY6mMG1zibdHzvMLfigHKMBpud/Jw3T6u+A==
X-Received: by 10.13.193.4 with SMTP id c4mr113071547ywd.192.1452634958600; Tue, 12 Jan 2016 13:42:38 -0800 (PST)
MIME-Version: 1.0
Received: by 10.13.249.197 with HTTP; Tue, 12 Jan 2016 13:41:59 -0800 (PST)
In-Reply-To: <CANOyrg9BDTNBKqTDq3hS5jQsmY+J3tewuV3X0Cr6s7iUKcCjFA@mail.gmail.com>
References: <CANOyrg9_A=GchJ+K61cPe+J=-rRq388z60psbd5SU6hC6iPpUA@mail.gmail.com> <CABcZeBMeAou1o3kojMEBUu3pRaAvNv1ji-MZRM5qHNkzeo7SyA@mail.gmail.com> <CANOyrg9BDTNBKqTDq3hS5jQsmY+J3tewuV3X0Cr6s7iUKcCjFA@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Tue, 12 Jan 2016 13:41:59 -0800
Message-ID: <CABcZeBOkGpoALsRdROis79Xdu9oNm+8GcKQhb5LW7aw-kpkdZw@mail.gmail.com>
To: Fabrice Gautier <fabrice.gautier@gmail.com>
Content-Type: multipart/alternative; boundary=001a114caa9eb24f7f052929ee9f
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/IUOMzVAktWFZdBqj9ZJugKqOx0w>
Cc: "<tls@ietf.org>" <tls@ietf.org>
Subject: Re: [TLS] Server behavior when client certificate does not match the request ?
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Jan 2016 21:42:41 -0000

On Tue, Jan 12, 2016 at 1:30 PM, Fabrice Gautier <fabrice.gautier@gmail.com>;
wrote:

> On Tue, Jan 12, 2016 at 1:13 PM, Eric Rescorla <ekr@rtfm.com>; wrote:
> >
> >
> > On Tue, Jan 12, 2016 at 1:07 PM, Fabrice Gautier <
> fabrice.gautier@gmail.com>;
> > wrote:
> >>
> >> Hi,
> >>
> >> TLS 1.2 RFC says that a a client certificate MUST be compatible the
> >> parameters specified in the Certificate Request: key type,
> >> hash/signature algorithm and CA.
> >> If a client does not have such a compatible cert, it MUST send an
> >> empty Certificate message.
> >>
> >> In practice, what is a common behavior for Servers in the case where
> >> the client sends an incompatible cert ? Treat it as if there was an
> >> empty cert or an invalid cert ? Fail the handshake ?
> >>
> >> In practice, is it okay for a client to send a cert that may not be
> >> compatible with the CertificateRequest, knowing that the client cert
> >> might be selected by user action, or by an application layer above the
> >> TLS layer, and knowing that on the server side, the client cert
> >> verification might also be done a different layer, that may actually
> >> have a different idea of what an acceptable cert is than the TLS layer
> >> ?
> >
> >
> > Would a fair rephrase of this be "How many servers advertise some set of
> > requirements for CertificateRequest that is actually stricter than what
> they
> > would accept"? [0]
>
> Yes, that's another way to put it.
>
> Other related questions:
> "Do TLS libraries act strictly on those requirements, or do they leave
> it to the application layers?"
> "How do TLS libraries/server applications act when such requirements
> are not respected?"
>

I know NSS isn't used in a lot of servers, but at this point I believe that
to a
first order it enforces the same rules that it advertises.

-Ekr




>
> > -Ekr
> >
> > [0] The case of "I advertise requirements that are looser than I would
> > accept"
> > is, I suspect, quite common. For instance, you might advertise an empty
> > CA list.
>
> Right,
> And I guess servers may also advertise empty hash/sig list, and empty
> certificate_types list, although that would be violating the RFC.
>
> >
> >>
> >> Thanks
> >>
> >> -- Fabrice
> >>
> >> _______________________________________________
> >> TLS mailing list
> >> TLS@ietf.org
> >> https://www.ietf.org/mailman/listinfo/tls
> >
> >
>