Re: [TLS] TLS Next Proto negotiation

Adam Langley <agl@google.com> Thu, 21 July 2011 22:11 UTC

Return-Path: <agl@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 43E2B21F84DB for <tls@ietfa.amsl.com>; Thu, 21 Jul 2011 15:11:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.677
X-Spam-Level:
X-Spam-Status: No, score=-105.677 tagged_above=-999 required=5 tests=[AWL=0.300, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
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 ZGIHsPy-1cEo for <tls@ietfa.amsl.com>; Thu, 21 Jul 2011 15:11:13 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.67]) by ietfa.amsl.com (Postfix) with ESMTP id 6683E21F8509 for <tls@ietf.org>; Thu, 21 Jul 2011 15:11:11 -0700 (PDT)
Received: from kpbe19.cbf.corp.google.com (kpbe19.cbf.corp.google.com [172.25.105.83]) by smtp-out.google.com with ESMTP id p6LMB9RV027224 for <tls@ietf.org>; Thu, 21 Jul 2011 15:11:10 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1311286270; bh=X8wu2UrIJBQYGh4vWez2wNDIeq0=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=MspaWg4ZUhp+BR1lJt61JVMN7zD8N+ivvr30GalXu2ezFNec78cDmi6JhOTbeDWLs bWE2QJk50UDohGoI6UWMA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:date: message-id:subject:from:to:cc:content-type:x-system-of-record; b=V8Bdb/1EFrAiXQ9gtHGstU3XMWYRCyzoQIpeoywa9IC1lhK9hjxosRrNJ7aA3mLDv 9Roq6cooHwotivntXiN1A==
Received: from iyb14 (iyb14.prod.google.com [10.241.49.78]) by kpbe19.cbf.corp.google.com with ESMTP id p6LMB8IK016983 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <tls@ietf.org>; Thu, 21 Jul 2011 15:11:08 -0700
Received: by iyb14 with SMTP id 14so1766068iyb.14 for <tls@ietf.org>; Thu, 21 Jul 2011 15:11:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=p64hnp32CzdqHKc2e74wJkBiHiHP6Ua7kCyQJE9juBo=; b=lSWVKwYAfzyTrp+JPDmTxW3eVE9s6rL0AQpaFLcsrxTM995q5fFJI8KoHnvBERb1Dg Lf4DBynIDNY6lhSKV6Wg==
MIME-Version: 1.0
Received: by 10.231.114.86 with SMTP id d22mr655540ibq.45.1311286268175; Thu, 21 Jul 2011 15:11:08 -0700 (PDT)
Received: by 10.231.17.2 with HTTP; Thu, 21 Jul 2011 15:11:08 -0700 (PDT)
In-Reply-To: <4E28A2D5.6000907@extendedsubset.com>
References: <20110718122259.8995.qmail@f4mail-235-121.rediffmail.com> <CAL9PXLyyjsYvetqUjuO1UY6GGNay6dKK5Ae5bj8SCP7_HPg_2g@mail.gmail.com> <4E28A2D5.6000907@extendedsubset.com>
Date: Thu, 21 Jul 2011 18:11:08 -0400
Message-ID: <CAL9PXLyRLbtLryBfKAXjq-gvLLS-D-Gw=MyAugHmG7agkgvYRA@mail.gmail.com>
From: Adam Langley <agl@google.com>
To: Marsh Ray <marsh@extendedsubset.com>
Content-Type: text/plain; charset="UTF-8"
X-System-Of-Record: true
Cc: tls <tls@ietf.org>
Subject: Re: [TLS] TLS Next Proto negotiation
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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: Thu, 21 Jul 2011 22:11:15 -0000

On Thu, Jul 21, 2011 at 6:06 PM, Marsh Ray <marsh@extendedsubset.com> wrote:
> The server needs to see the client's NextProtocol message to know what
> protocol will be in use. But when a session is resumed, the server sends the
> Finished message before the client. Some app protocols have the server send
> the first application data, e.g., "username: ". If such an app protocol is a
> possibility, doesn't the use of NPN introduce an extra round-trip delay in
> case of session resumption?

Yes, NPN precludes the possibility of a server-side False Start.

> Also, since the semantics of NPN apply explicitly to the connection (rather
> than the session or connection state), perhaps the use of NPN ought to be
> contingent on the successful negotiation of RFC 5746 Renegotiation
> Indication. Multiplexing multiple protocols from same server port are likely
> to provide additional opportunities for an attacker to put the server in a
> state where it is willing to accept a renegotiating ClientHello. It will
> also provide more ways for an attacker to have the server echo back chosen
> plaintext to be interpreted as HTTP response headers (or other protocols
> could be attacked).

That sounds quite sensible to me. I'm happy to include such a requirement.


Cheers

AGL