Re: [TLS] Design Alternatives for Kerberos + DH

Rick van Rein <rick@openfortress.nl> Sat, 17 October 2015 06:36 UTC

Return-Path: <rick@openfortress.nl>
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 5C90D1A8762 for <tls@ietfa.amsl.com>; Fri, 16 Oct 2015 23:36:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_42=0.6, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
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 1Th_6x7TBEX8 for <tls@ietfa.amsl.com>; Fri, 16 Oct 2015 23:36:30 -0700 (PDT)
Received: from lb3-smtp-cloud3.xs4all.net (lb3-smtp-cloud3.xs4all.net [194.109.24.30]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 23D941A8761 for <tls@ietf.org>; Fri, 16 Oct 2015 23:36:29 -0700 (PDT)
Received: from airhead.local ([83.161.146.46]) by smtp-cloud3.xs4all.net with ESMTP id W6cQ1r00E10HQrX016cSip; Sat, 17 Oct 2015 08:36:27 +0200
Message-ID: <5621EC66.7050104@openfortress.nl>
Date: Sat, 17 Oct 2015 08:36:22 +0200
From: Rick van Rein <rick@openfortress.nl>
User-Agent: Postbox 3.0.11 (Macintosh/20140602)
MIME-Version: 1.0
To: Paul Wouters <paul@nohats.ca>
References: <56212653.6050702@openfortress.nl> <alpine.LFD.2.20.1510161445240.9839@bofh.nohats.ca>
In-Reply-To: <alpine.LFD.2.20.1510161445240.9839@bofh.nohats.ca>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/NNlVl3XnGqdtWAgyt9blcyhWJWs>
Cc: tls@ietf.org
Subject: Re: [TLS] Design Alternatives for Kerberos + DH
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: Sat, 17 Oct 2015 06:36:32 -0000

Hello Paul,

>> 3) Similar to OpenPGP: Negotiate cert-type
>>
>> There is a cert-type for X.509 and for OpenPGP; add one for Kerberos
>> Tickets.
>
> How is this type of TLS connection prevented from being MITM'ed by
> someone replaying kerberos tickets (which it cannot read itself)

In Kerberos, the KDC-generated and client-cached Tickets are always sent with an additional Authenticator; this is client-signed message that is generated while sending and holds a timestamp to the ms level.  The combination is rejected when the timestamp is more off than a small clock skew window at the server.  Replay is avoided in Kerberos by observing the Authenticator's uniqueness within that small window.  This however, has scaling problems, for instance in redundant server farms.

An Authenticator can hold a "checksum", which is a hash nowadays.  We can use this field to store a hash of the prior TLS messages, including the ECDH exchange and ServerRandom.  This is already done by default in the ClientVerify, so nothing special needs to be done for that.  The hashes are typed, with an IANA registry; unkeyed hashes are possible, though none beyond SHA1 appears to have been needed for its current uses, but we can expand that.

Finally, the pre-master secret for all four design alternatives consists of the ECDH session key and the session key exchanged by the Ticket.  Replay of ECDH is impossible if the server continually refreshes its offers, at least not to be repeated within the clock skew window, which has been a major focus point in my 00 draft.  Lacking the session key, an attacker that attempts replay of a Ticket will not be able to generate the proper Finished messages.  FWIW, I am proposing to extend the sizes of those hashes.

Thanks,
 -Rick