Re: [TLS] Summarizing identity change discussion so far

<Pasi.Eronen@nokia.com> Thu, 17 December 2009 22:06 UTC

Return-Path: <Pasi.Eronen@nokia.com>
X-Original-To: tls@core3.amsl.com
Delivered-To: tls@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1F1143A68D9 for <tls@core3.amsl.com>; Thu, 17 Dec 2009 14:06:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.554
X-Spam-Level:
X-Spam-Status: No, score=-6.554 tagged_above=-999 required=5 tests=[AWL=0.045, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YJlYFGQvX+LK for <tls@core3.amsl.com>; Thu, 17 Dec 2009 14:06:41 -0800 (PST)
Received: from mgw-mx09.nokia.com (smtp.nokia.com [192.100.105.134]) by core3.amsl.com (Postfix) with ESMTP id EA1193A6778 for <tls@ietf.org>; Thu, 17 Dec 2009 14:06:40 -0800 (PST)
Received: from esebh106.NOE.Nokia.com (esebh106.ntc.nokia.com [172.21.138.213]) by mgw-mx09.nokia.com (Switch-3.3.3/Switch-3.3.3) with ESMTP id nBHM6C9N021972; Thu, 17 Dec 2009 16:06:24 -0600
Received: from vaebh104.NOE.Nokia.com ([10.160.244.30]) by esebh106.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.3959); Fri, 18 Dec 2009 00:06:22 +0200
Received: from smtp.mgd.nokia.com ([65.54.30.5]) by vaebh104.NOE.Nokia.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959); Fri, 18 Dec 2009 00:06:13 +0200
Received: from NOK-EUMSG-01.mgdnok.nokia.com ([65.54.30.86]) by nok-am1mhub-01.mgdnok.nokia.com ([65.54.30.5]) with mapi; Thu, 17 Dec 2009 23:06:12 +0100
From: Pasi.Eronen@nokia.com
To: aerowolf@gmail.com
Date: Thu, 17 Dec 2009 23:06:10 +0100
Thread-Topic: [TLS] Summarizing identity change discussion so far
Thread-Index: Acp/YSMJ21qxpPadSkKKYtCdVu/oAQAACc+A
Message-ID: <808FD6E27AD4884E94820BC333B2DB774F31F77BDC@NOK-EUMSG-01.mgdnok.nokia.com>
References: <Acp35q+5MB/IK2o8TM+TSRCqs64JxA==> <808FD6E27AD4884E94820BC333B2DB774F31A4FD08@NOK-EUMSG-01.mgdnok.nokia.com> <6b9359640912171337j7ed5be63gf431e0fb12070944@mail.gmail.com>
In-Reply-To: <6b9359640912171337j7ed5be63gf431e0fb12070944@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginalArrivalTime: 17 Dec 2009 22:06:13.0751 (UTC) FILETIME=[25E29070:01CA7F65]
X-Nokia-AV: Clean
Cc: tls@ietf.org
Subject: Re: [TLS] Summarizing identity change discussion so far
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.9
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/listinfo/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, 17 Dec 2009 22:06:42 -0000

Kyle Hamilton wrote:

> No, identity matching SHOULD be done in accordance with PKIX.  memcmp
> is not at all sufficient.
> 
> However, I would support the following:
> 
> - TLS libraries SHOULD provide identity matching services between and
> throughout renegotiation handshakes.  Libraries SHOULD implement this
> in accordance with PKIX [PKIX], but MAY do so with a direct memory
> comparison.  Implementors are cautioned that this latter approach does
> not provide for changing the cipher parameters -- such as a
> renegotiation with an EC or DH certificate after identification with
> an RSA certificate.  If the identity matching service fails to match
> the identity, implementations MUST abort the handshake with a fatal
> bad_certificate alert.

Well, the text I proposed just said "different certificate", not
"memcmp". I know that's a bit vague, but "in accordance with PKIX
[PKIX]" is not very precise either, and would need a more specific
reference to where exactly the details are (for example, it can't mean
comparing the Subject field, since PKIX allows leaving it empty).

And the certificate might have extensions (certificate policies,
subject directory attributes, extended key usage, etc.) where changes
between API calls could surprise the application.

Here's another shot at that paragraph (also including suggestions
from Marsh's email):

   TLS implementations SHOULD offer the applications the option to
   disable renegotiation completely.

   To make life simpler for applications that do not expect the peer's
   certificate to change once it's been authenticated, TLS
   implementations may also wish to offer the applications the option
   abort the renegotiation if the peer tries to authenticate with a
   different certificate and/or different server name (in the
   server_name extension) than was used earlier. However, enabling
   this option by default for all applications could break existing
   applications that depend on using renegotiation to change from one
   certificate to another. (For example, long-lived TLS connections
   could change to a renewed certificate; or renegotiation could
   select a different cipher suite that requires using a different
   certificate.)

Best regards,
Pasi