Re: [Lurk] review of draft-erb-lurk-rsalg-00

"Fossati, Thomas (Nokia - GB)" <thomas.fossati@nokia.com> Fri, 27 May 2016 10:24 UTC

Return-Path: <thomas.fossati@nokia.com>
X-Original-To: lurk@ietfa.amsl.com
Delivered-To: lurk@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D2EB812D6FE; Fri, 27 May 2016 03:24:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.92
X-Spam-Level:
X-Spam-Status: No, score=-6.92 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=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 c1h7Q2b5v94Q; Fri, 27 May 2016 03:24:50 -0700 (PDT)
Received: from smtp-fr.alcatel-lucent.com (fr-hpida-esg-02.alcatel-lucent.com [135.245.210.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A01CA12D733; Fri, 27 May 2016 03:24:48 -0700 (PDT)
Received: from fr712umx3.dmz.alcatel-lucent.com (unknown [135.245.210.42]) by Websense Email Security Gateway with ESMTPS id 973D6E3B80164; Fri, 27 May 2016 10:24:42 +0000 (GMT)
Received: from fr711usmtp1.zeu.alcatel-lucent.com (fr711usmtp1.zeu.alcatel-lucent.com [135.239.2.122]) by fr712umx3.dmz.alcatel-lucent.com (GMO-o) with ESMTP id u4RAOgKu004509 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 27 May 2016 10:24:42 GMT
Received: from FR711WXCHHUB02.zeu.alcatel-lucent.com (fr711wxchhub02.zeu.alcatel-lucent.com [135.239.2.112]) by fr711usmtp1.zeu.alcatel-lucent.com (GMO) with ESMTP id u4RAOd1w008007 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Fri, 27 May 2016 12:24:41 +0200
Received: from FR711WXCHMBA08.zeu.alcatel-lucent.com ([169.254.4.26]) by FR711WXCHHUB02.zeu.alcatel-lucent.com ([135.239.2.112]) with mapi id 14.03.0195.001; Fri, 27 May 2016 12:24:40 +0200
From: "Fossati, Thomas (Nokia - GB)" <thomas.fossati@nokia.com>
To: "Erb, Samuel" <serb@akamai.com>, "Fossati, Thomas (Nokia - GB)" <thomas.fossati@nokia.com>, "draft-erb-lurk-rsalg@ietf.org" <draft-erb-lurk-rsalg@ietf.org>
Thread-Topic: review of draft-erb-lurk-rsalg-00
Thread-Index: AQHRjSgxLdvcKsY9MEOp/jtebfUpbJ/AsSEAgAwnswA=
Date: Fri, 27 May 2016 10:24:40 +0000
Message-ID: <D36C780B.68474%thomas.fossati@alcatel-lucent.com>
References: <D32606D6.629BA%thomas.fossati@alcatel-lucent.com> <9A3C81C9-7256-4037-BCB7-2855063EDE98@akamai.com>
In-Reply-To: <9A3C81C9-7256-4037-BCB7-2855063EDE98@akamai.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.6.4.160422
x-originating-ip: [135.239.27.40]
Content-Type: multipart/alternative; boundary="_000_D36C780B68474thomasfossatialcatellucentcom_"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/lurk/fOjgusRXbZO0mFjuq_NVtOHufxQ>
Cc: "lurk@ietf.org" <lurk@ietf.org>
Subject: Re: [Lurk] review of draft-erb-lurk-rsalg-00
X-BeenThere: lurk@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Limited Use of Remote Keys <lurk.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lurk>, <mailto:lurk-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lurk/>
List-Post: <mailto:lurk@ietf.org>
List-Help: <mailto:lurk-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lurk>, <mailto:lurk-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 May 2016 10:24:54 -0000

Hi Sam,

Thanks very much for the detailed answers.  I've inlined a few comments.

I'm looking forward for an updated version of your draft — are you planning to submit it before the interim?

Cheers, t

From: "Erb, Samuel" <serb@akamai.com<mailto:serb@akamai.com>>
Date: Thursday, 19 May 2016 15:47
To: "Fossati, Thomas (Nokia - GB)" <thomas.fossati@nokia.com<mailto:thomas.fossati@nokia.com>>, "draft-erb-lurk-rsalg@ietf.org<mailto:draft-erb-lurk-rsalg@ietf.org>" <draft-erb-lurk-rsalg@ietf.org<mailto:draft-erb-lurk-rsalg@ietf.org>>
Cc: "lurk@ietf.org<mailto:lurk@ietf.org>" <lurk@ietf.org<mailto:lurk@ietf.org>>
Subject: Re: review of draft-erb-lurk-rsalg-00

Hi Thomas,
Thanks for the comments & apologies for the slow reply.

Comments in line as [SE]
Thanks,
Sam

From: "Fossati, Thomas (Nokia - GB)" <thomas.fossati@nokia.com<mailto:thomas.fossati@nokia.com>>
Date: Saturday, April 2, 2016 at 5:39 PM
To: "draft-erb-lurk-rsalg@ietf.org<mailto:draft-erb-lurk-rsalg@ietf.org>" <draft-erb-lurk-rsalg@ietf.org<mailto:draft-erb-lurk-rsalg@ietf.org>>
Cc: "lurk@ietf.org<mailto:lurk@ietf.org>" <lurk@ietf.org<mailto:lurk@ietf.org>>
Subject: review of draft-erb-lurk-rsalg-00

Hi,

thanks for the draft. The RSALG idea is really nice.

A few comments:

- Re: missing support for TLSv1.x x>2.  We should probably think this a
bit more: TLSv1.3 would probably be in the wild by the time LURK is
finished?

[SE] I agree – I’m not aware of any significant changes for TLSv1.3 for this draft? I could be wrong about this. The changes I see to watch out for are:
 - SignatureAlgorithm -> SignatureScheme https://tlswg.github.io/tls13-spec/#rfc.section.6.3.2.1
 - 0RTT, but that appears to be resumption only https://tlswg.github.io/tls13-spec/#rfc.section.6.2.3

[TF] I think one thing to monitor would be https://github.com/tlswg/tls13-spec/issues/443 which is to re-assert server's private key in 0-RTT.

- There is no explicit requirement on the LURK box in terms of the
algorithms it needs to support.  What is the assumption?  Probably there
should to be an interface to allow the Server to know about the LURK box
capabilities, so that it can negotiate TLS parameters with the client that
won't fail the handshake mid-air?

[SE] The LURK box should communicate it’s list of SignatureAlgorithm/SignatureScheme’s as it looks like that list will be more complex with TLSv1.3 (based on the link above)

[TF] great.  I suppose this would be part of the "LURK-X control-plane" that needs to be specified for each X proposal.

- I see the Server Key Exchange is still TBD, though a few things can be
extrapolated from Section 4.  I might be missing something, but I don't
understand how the {client,server}_version fields would be relevant to a
server_kx request?  Which makes me wonder whether the request types could
be refined a bit: it looks like server_kx and rsalg requests are different
enough to be separate entities?  Also, a RFC7627 version of rsalg would be
quite different from the one currently defined.  Any intention to support
it?

[SE] You’re correct – the client/server version fields likely should be removed from the server key exchange request (assuming no differences with TLSv1.3).
[SE] For an RFC7627 version of RSALG, the client/server random fields could be made into a single variable length field? Is there overlap between a need to use RSALG (/RSA decryption) and RFC7627 support? (I wish I had data on that)

[TF] Sorry Sam, I don't understand your question.

- Cert/key rotation functionality is missing  and I really think this
should really be a requirement for any LURK proposal.

[SE] I agree. A solution here does need to keep in mind that this may be many-to-many Servers to KeyOwners. Initial cert setup likely requires a message of some kind (with some arbitrary “cert application use” field?). Key rotation may just be a signal to go through the initial setup again (possibly via some sort of additional parameter in each response to signify the certificate has been rotated?).

[TF] Sounds good to me.  The periodic message could be something like: "I'm Server X and I'm currently serving hostnames {H_i}, please provide any updated credentials".

There's a further point that I'm not very sure (I'd like to hear other
people's opinion): the security of TLS is not limited to the
signature/decryption process.  A good pseudo-random source at the Server
is also critical.  Would it be within LURK scope to let the Key Owner
audit relevant session parameters?  This could help if the Server is
compromised -- or if it's just misbehaving.

[SE] If the goal is only auditing, simulating a real connection (as a client) may be a better path for this. For both server_kx and rsalg, you would receive server/client random values.

[TF] I'd need to ponder on this a bit more.  I'm not yet sure auditing would be in scope.