Re: [Cfrg] Key establishment advice (say, for TLS): How about MQV?

Hugo Krawczyk <hugo@ee.technion.ac.il> Thu, 06 March 2014 04:46 UTC

Return-Path: <hugokraw@gmail.com>
X-Original-To: cfrg@ietfa.amsl.com
Delivered-To: cfrg@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 91A921A00B9 for <cfrg@ietfa.amsl.com>; Wed, 5 Mar 2014 20:46:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.277
X-Spam-Level:
X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=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 Ff8NBtR49uao for <cfrg@ietfa.amsl.com>; Wed, 5 Mar 2014 20:46:34 -0800 (PST)
Received: from mail-qa0-x236.google.com (mail-qa0-x236.google.com [IPv6:2607:f8b0:400d:c00::236]) by ietfa.amsl.com (Postfix) with ESMTP id 8EB991A00B0 for <cfrg@irtf.org>; Wed, 5 Mar 2014 20:46:34 -0800 (PST)
Received: by mail-qa0-f54.google.com with SMTP id w8so1989464qac.41 for <cfrg@irtf.org>; Wed, 05 Mar 2014 20:46:30 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=80F1LmRuBYjPgDvy4GNyw4VyssMADCUl7vzH3PYxvfI=; b=uw4FIj4RD+EjibY1CDZIxC4yUuTrdeNaMohOJ0W1nGc2kNuymnicV+6HSufUrgiHmo cqLj8Dl8OZAF0udxcK4eOzePyTjOe9yFNV0bLKLrYmGofcW5M7JRD/mNyJoWvTrb3s9w omx51nSGn38If5v+hD3VyU1Yo4haC3EVDd8yZI/YCWQ9NkN7A1Rf2ElzO59YJrCmoPid djST9gU5D7Sj5ggnj5kA8/wc5rlS9UFKo96EB+17DBKLHgXEYeQvtZ/EbxsWhVyVuVDt bpxwenM6KAHLH4f37mRaLlmm8esbcfnXQV658cX/X608/fsh1AdknPsV3x6wuUSVS7ar a+mw==
X-Received: by 10.224.87.193 with SMTP id x1mr11696424qal.70.1394081190626; Wed, 05 Mar 2014 20:46:30 -0800 (PST)
MIME-Version: 1.0
Sender: hugokraw@gmail.com
Received: by 10.96.181.9 with HTTP; Wed, 5 Mar 2014 20:45:57 -0800 (PST)
In-Reply-To: <810C31990B57ED40B2062BA10D43FBF5C46AB5@XMB116CNC.rim.net>
References: <810C31990B57ED40B2062BA10D43FBF5C46AB5@XMB116CNC.rim.net>
From: Hugo Krawczyk <hugo@ee.technion.ac.il>
Date: Wed, 05 Mar 2014 23:45:57 -0500
X-Google-Sender-Auth: 848QGOaLzER_8vd3KlM_o7y6c04
Message-ID: <CADi0yUMAnbbWg7iXJdAddc+9YOr5-B=XRN3VbTO48hAS1acwBg@mail.gmail.com>
To: Dan Brown <dbrown@certicom.com>
Content-Type: multipart/related; boundary="001a11c3e24627f90a04f3e8d277"
Archived-At: http://mailarchive.ietf.org/arch/msg/cfrg/6dnfxUKs3FhjHwJZsJoAvFBRTbE
Cc: "cfrg@irtf.org" <cfrg@irtf.org>
Subject: Re: [Cfrg] Key establishment advice (say, for TLS): How about MQV?
X-BeenThere: cfrg@irtf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
List-Unsubscribe: <http://www.irtf.org/mailman/options/cfrg>, <mailto:cfrg-request@irtf.org?subject=unsubscribe>
List-Archive: <http://www.irtf.org/mail-archive/web/cfrg/>
List-Post: <mailto:cfrg@irtf.org>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Subscribe: <http://www.irtf.org/mailman/listinfo/cfrg>, <mailto:cfrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Thu, 06 Mar 2014 04:46:38 -0000

​A few notes on the potential use of HMQV for TLS.

I do believe that HMQV could be a good basis for TLS 3.0 due to its
efficiency,
versatility, and proof of security (I comment a bit on these aspects
below).
But given the patent issues surrounding the protocol I doubt it would be
feasible to get this standardized by the IETF. As I understand, Certicom has
some claims on the MQV protocol and IBM has a patent on HMQV.

HMQV gives an authenticated DH exchange *at essentially the cost of plain
DH*
(plus certificate verification) and can support "seamlessly" several
functional
variants: from implicit mutual or unilateral authentication to explicit
authentication with key confirmation to a single message key exchange with
unilateral or mutual authentication. The latter mode is particularly well
suited
as a one-message key exchange of the type I've seen in some "TLS 3.0"
proposals
(which assume some form of anti-replay state) and has the advantage of
optionally accommodating client authentication almost for free.

The protocol has a proof of security (scrutinized through several hundred
papers
that build upon HMQV) which not only serves to have confidence in the
design but
also avoids the "safety margins" typically needed for not-well-understood
protocols. Very importantly, it avoids the need to rely on the CA to check
the
algebraic properties of public keys (as it is required, for example, by
MQV).
Indeed, such reliance would be a kiss of death to a protocol intended for
wide
use as CA's do not typically do such tests. In particular, it would be
totally
unusable for TLS where a server signs its own HMQV key (and the CA
certifies the
server signature key).

There has been some contention about the need to do group membership tests
in
HMQV. Indeed, the need for this depends on the use case and security model.
However, this issue is relevant for mod p groups where such tests are
expensive.
For elliptic curves the test is inexpensive hence can be made an integral
part
of the protocol.

Finally, for those wondering if UKS attacks should be avoided in TLS. For
many
years I had to work hard to convince people that UKS attacks are real
threats.
The counter-intuitive nature of these attacks is that an attacker can cause
harm
without having to learn the key. Fortunately (or should I say
unfortunately), the
"re-negotiation bug" in TLS is an excellent demonstration of how practical
such an
attack can be. Nothing better than the history of TLS to show that one
better
takes seriously attacks that seem theoretical at first glance.
​

Hugo


On Tue, Mar 4, 2014 at 12:10 PM, Dan Brown <dbrown@certicom.com> wrote:

> Dear CFRG list,
>
>
>
> If I understand correctly, the TLS WG plans a protocol revision which will
> modify the underlying key establishment scheme.  Should CFRG advise TLS on
> key establishment?
>
>
>
> Naturally, TLS may have some specific requirements, directed towards the
> nature of the client and server in the transport layer, whereas CFRG might
> have expertise on a more generic security level.  So, perhaps, TLS could
> convey its requirements to CFRG, and CFRG could return a set of key
> establishment schemes that meet those requirements, in particular, those
> which have been extensively researched.  (Well, that’s a bit formal, and
> probably requires a few more iterations than I described, but seems
> sensible to me.)  More likely, TLS will pick their own key establishment
> scheme, and ask for CFRG’s blessing.
>
>
>
> I haven’t followed the TLS list too closely, but I’d summarize two main
> possible approaches as: (1) patch and (2) overhaul.  On the overhaul side,
> I’ve seen Watson Ladd’s suggestion of signed ephemeral DH: which is
> something TLS already has, with the core of the proposal being to narrow
> the options drastically.  I’ve also seen a couple of IACR eprints analyzing
> the security of certain TLS ciphersuites.  (Maybe these would go on the
> patch side?)  If I recall those papers correctly, they define some special
> security models just for TLS, but I forget if these models were chosen just
> to make the proofs work for the protocols used in the ciphersuites, or for
> something more fundamental like the nature of the transport layer.
>
>
>
> ***
>
>
>
> I’d like to suggest a key establishment scheme for CFRG consideration: MQV
> (or one of its successors, maybe), with an eye to perhaps recommend to IETF
> WGs such as TLS.
>
>
>
> ***
>
>
>
> Some generic (non-TLS-specific) issues for MQV:
>
>
>
> Two benefits of MQV over signed ephemeral DH, as I see it, would be
> efficiency (though I’m no expert) and better plausible deniability (due to
> the lack of signatures).  I wonder what CFRG thinks of these benefits.
>
>
>
> Existing standards that specify versions of MQV include ANSI
> X9.{44,63,98}, NIST SP 800-56A, IEEE P1363, and SEC1.  Therefore, it may be
> redundant for CFRG to draft on RFC for MQV, although CFRG may wish to write
> an RFC to profile the version that they like best.
>
>
>
> These standards go towards the maturity of MQV, in the sense that they
> received scrutiny from the committees that drafted them, and have been
> public for a long time, and have served as an incentive to cryptanalytic
> research, being fairly high profile targets.
>
>
>
> The HMQV paper by Krawczyk critiques MQV, but these critiques did not seem
> terribly serious to me, at least when I last read them years ago.  Also,
> I’m not sure how other key establishment schemes fare under these more
> stringent requirements (session-state reveal attacks, and so on).
>
>
>
> The version of the MQV from NIST requires identifiers in the KDF, which
> helps prevent UKS attacks.  (I’m not sure if TLS needs to resist UKS
> attacks, but a recent thread on the TLS reminds of UKS attacks.)
>
>
>
> I recently released a (rather theoretical and very incomplete) IACR eprint
> on MQV.  It only covers a modest, but essential, level of security for key
> agreement schemes.  I think other people on the CFRG list are much more up
> to speed on the key establishment schemes.
>
>
>
> ***
>
>
>
> Some TLS-specific issues for MQV, but at a high level for CFRG
> consideration:
>
>
>
> Past proposals to integrate MQV into TLS a few times include:
>
>
>
>
> https://datatracker.ietf.org/doc/search/?name=mqv&rfcs=on&activedrafts=on&olddrafts=on&sort
> =
>
>
>
> Perhaps these could be improved, given current knowledge on key agreement.
>
>
>
> A major issue is that MQV usually presumes mutual authentication, but TLS
> accommodates anonymous clients. Leaving the MQV client “static” key
> unauthenticated seems, at least intuitively, to reduce MQV to DH, on the
> client side, which is not much of a loss.  It may be possible to have
> stateful TLS client retain a static MQV key, but still unauthenticated.
> This could be used for the weaker TOFU model of trust, so may still have
> some security benefit.
>
>
>
> If I understand correctly, TLS may now want to add some kind of anonymity,
> e.g. encryption of certificates and other identifiers.  Since MQV involves
> sending ephemeral key, these could, at the cost of an extra shared key
> computation, protect the static (certified or trusted) keys against passive
> adversaries.  I’m not sure if the resulting double use of the ephemeral
> keys would undermine the security of MQV.
>
>
>
> Best regards,
>
>
>
> -        Dan
>
>
>
>
>
>
>
>
>
> _______________________________________________
> Cfrg mailing list
> Cfrg@irtf.org
> http://www.irtf.org/mailman/listinfo/cfrg
>
>