Re: [TLS] null auth ciphers for TLS 1.3?

David Benjamin <davidben@chromium.org> Tue, 21 August 2018 18:45 UTC

Return-Path: <davidben@google.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 89801130E32 for <tls@ietfa.amsl.com>; Tue, 21 Aug 2018 11:45:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.508
X-Spam-Level:
X-Spam-Status: No, score=-9.508 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=0.001, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=chromium.org
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 CtPm6s3nXLNe for <tls@ietfa.amsl.com>; Tue, 21 Aug 2018 11:45:09 -0700 (PDT)
Received: from mail-qt0-x22b.google.com (mail-qt0-x22b.google.com [IPv6:2607:f8b0:400d:c0d::22b]) (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 0A1E5130E5B for <tls@ietf.org>; Tue, 21 Aug 2018 11:45:09 -0700 (PDT)
Received: by mail-qt0-x22b.google.com with SMTP id e19-v6so21445061qtp.8 for <tls@ietf.org>; Tue, 21 Aug 2018 11:45:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=TY7AgwAusGe5Axq60N+7EeYELsw11xu8/hpEnpc3ZZo=; b=Ddim5+YEMEm+Vcw9uH4e5Ki7B9nt9K+Hi45M8vm96rReuWz44Xs/1DnJtYuRtzw7bl 7tZUI8E0VUji8OVHxs7gqiNwDRMT0UzhMJ2OP68W/id9jWz3tQ8XaddjgpcxsnljCZFc Mz/NuAwMDr3jRBLBCBZXXdjgXYS1zpIjq5mbY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=TY7AgwAusGe5Axq60N+7EeYELsw11xu8/hpEnpc3ZZo=; b=AtyyvNjWSYG6NAQjhdQMMFm1CaJvy/AO4eCsfERbmC9zQK8jvNTnd4LXp2O+VjUStv Oue0xJe6M5q6fjf96orz8v0hTDDn6eTasYuE4uv1aI3ev0FgKBPNew9a+a6Tb4qo+uqi HaT63Pt9RGCP0bPovUePBJDeibXk5l/fyx1wMEUUANmgTLNgOsMOHOtJoHJM/txZnAse s6Ws/1o6s9mUBfcuXKXWesxoJdWK0KPz9utNGNBJshNsAdesrcABFtJEf6pVPIRsjzMs JNMrPiRYN+wVKUzGhTJptsC+D5113W0MK4JcuwL0CFm3lk8IEZWXKSvOkLyDuhFOhmGV /cYg==
X-Gm-Message-State: AOUpUlEGaig2nT81kaJ3jH8vfWiM0Y0SYzfEhFQnHc2ipCt7YymBcbKV 8VicMFXdGLM3vwoM5207n1XmgK0l7KyMl8uNd63zKp0=
X-Google-Smtp-Source: AA+uWPx7ISyPElkA8we7H5gH9Gx3N2Yqoq3HMZzYV6q9TIOxL74zAWMDJi/lGn119Xa7W2EcZmREhKoJ/jgWzzXEFpY=
X-Received: by 2002:ac8:2541:: with SMTP id 1-v6mr49269059qtn.248.1534877107589; Tue, 21 Aug 2018 11:45:07 -0700 (PDT)
MIME-Version: 1.0
References: <E29465D4-E4C5-466F-9E3F-240E258DC7C2@cisco.com> <64d23891-2f32-9bb8-1ec8-f4fad13cdfb9@cs.tcd.ie> <982363FD-A839-4175-BA53-7CA242F9ADA6@ll.mit.edu> <2D7F2926-6376-4B2C-BDE9-7A6F1C0FA748@gmail.com> <5B7C1571020000AC0015C330@gwia2.rz.hs-offenburg.de> <E6C9F0E527F94F4692731382340B337804AEFA24@DENBGAT9EH2MSX.ww902.siemens.net> <A51CF46A-8C5F-4013-A4CE-EB90A9EE94CA@akamai.com> <E6C9F0E527F94F4692731382340B337804AEFB10@DENBGAT9EH2MSX.ww902.siemens.net> <D5FF0E0E-F9C3-4843-AB77-19F45E3C00D5@akamai.com> <8A2746A8-6B41-45C3-9D77-6AF3536C6E2D@siemens.com> <DM5PR2201MB1433B9D7F9AA3B7B688CD33C99310@DM5PR2201MB1433.namprd22.prod.outlook.com> <CAPt1N1mm9FzGknCUTOVZH_S=AsjutXS8qM7Ksa8xWwsSKKAgAg@mail.gmail.com> <EC6705A4-A6CB-45B4-B006-FC0AE42FA6DD@dukhovni.org> <CABcZeBO8tBN4a4SZirxbwNdRyep705dNgGZiuKydg=xu1JT_uQ@mail.gmail.com> <3321850E-D95E-457C-A574-2A1A3F7AC06C@dukhovni.org>
In-Reply-To: <3321850E-D95E-457C-A574-2A1A3F7AC06C@dukhovni.org>
From: David Benjamin <davidben@chromium.org>
Date: Tue, 21 Aug 2018 13:44:55 -0500
Message-ID: <CAF8qwaA=ZwBct_5P95S4DrWb8bvy8rdqE2CmNZnz+epA8DUJiA@mail.gmail.com>
To: "<tls@ietf.org>" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000c61b0b0573f66c91"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/zNJmxpjtL0cUJH-8ylwZdfVxI98>
Subject: Re: [TLS] null auth ciphers for TLS 1.3?
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.27
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, 21 Aug 2018 18:45:15 -0000

On Tue, Aug 21, 2018 at 1:34 PM Viktor Dukhovni <ietf-dane@dukhovni.org>
wrote:

>
>
> > On Aug 21, 2018, at 2:18 PM, Eric Rescorla <ekr@rtfm.com> wrote:
> >
> >> As for TLS 1.3, it is indeed missing both null encryption and null
> >> authentication ciphers.
> >
> > If by "null authentication" you mean "without certificates", then TLS
> 1.3 does
> > support these via RFC 7250. See:
> >
> > https://tools.ietf.org/rfcmarkup?doc=8446#appendix-C.5
>
> My comment was about ADH/AECDH cipher-suites, in which the server
> does not sign the key exchange, because it has no keys and the
> client has no intention/means to authenticate such a signature.
>
> You are of course right that TLS 1.3 supports raw public keys,
> which make it possible to do away with X.509 support.  I would
> not call these null authentication, since DANE or key pinning
> (much less scalably) make it possible to authenticate raw public
> keys.
>
> I've not yet seen raw public key support in any mainstream
> TLS libraries, though admittedly my focus is primarily on
> OpenSSL.  Do any of NSS, GnuTLS, BoringSSL, LibreSSL, ...
> support raw public keys?
>
> In the case of OpenSSL, adding such support is difficult, because
> the assumption that the peer returns X.509 certificates and not
> some more general data type is baked into the API.  We'd need to
> invent some sort of special X.509 object that holds only a public
> key, but behaves in some sensible way when used with functions
> that expect X.509 certificates.
>

Add a separate function? It's reasonable for a caller which configures a
client to expect raw public keys to call a function that returns the peer
identity as a raw public key. Likewise, it's reasonable for a caller
configuring a server which uses raw public keys to call a
raw-public-key-specific configuration function. The same goes for any other
non-certificate-based authentication.

We have no plans to support this feature in BoringSSL, but if a need of
this shape ever arised, that's how I would imagine doing it.

David