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

"Blumenthal, Uri - 0558 - MITLL" <uri@ll.mit.edu> Tue, 04 March 2014 17:29 UTC

Return-Path: <prvs=814020a26e=uri@ll.mit.edu>
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 EB51C1A0232 for <cfrg@ietfa.amsl.com>; Tue, 4 Mar 2014 09:29:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.744
X-Spam-Level:
X-Spam-Status: No, score=-4.744 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.547, UNPARSEABLE_RELAY=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 UPJK39ajcYJK for <cfrg@ietfa.amsl.com>; Tue, 4 Mar 2014 09:29:43 -0800 (PST)
Received: from mx2.ll.mit.edu (MX2.LL.MIT.EDU [129.55.12.46]) by ietfa.amsl.com (Postfix) with ESMTP id B1FE81A0240 for <cfrg@irtf.org>; Tue, 4 Mar 2014 09:29:42 -0800 (PST)
Received: from LLE2K7-HUB02.mitll.ad.local (LLE2K7-HUB02.mitll.ad.local) by mx2.ll.mit.edu (unknown) with ESMTP id s24HTFap001578; Tue, 4 Mar 2014 12:29:27 -0500
From: "Blumenthal, Uri - 0558 - MITLL" <uri@ll.mit.edu>
To: Dan Brown <dbrown@certicom.com>, "cfrg@irtf.org" <cfrg@irtf.org>
Date: Tue, 04 Mar 2014 12:29:19 -0500
Thread-Topic: [Cfrg] Key establishment advice (say, for TLS): How about MQV?
Thread-Index: Ac83z0llZtT/vCOFQoawCOkdH1P3UQ==
Message-ID: <CF3B7563.125D8%uri@ll.mit.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.3.9.131030
acceptlanguage: en-US
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha256"; boundary="B_3476780959_5030047"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.11.87, 1.0.14, 0.0.0000 definitions=2014-03-04_06:2014-03-04, 2014-03-04, 1970-01-01 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1305240000 definitions=main-1403040086
Archived-At: http://mailarchive.ietf.org/arch/msg/cfrg/wlQZX47GkH2HyxFjOC5K_rHoC-0
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: Tue, 04 Mar 2014 17:29:48 -0000

> 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? 

IMHO, yes.

> 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. 

I'd love to see an MQV-like algorithm, with my personal preference being
FHMQV. I'm aware of the fact that X9.63 stays with MQV itself, still I'd
rather see FHMQV. Even though it is unclear (to me) whether the attacks
published against MQV are practical.

My main concern with *MQV is its IPR status. MQV was patented. I don't know
when that patent (those patents?) expires. Also, I don't know whether those
patents would cover HMQV/FHMQV as well (but suspect they would?).

> 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.

:-) That these are benefits worth of having, what else? :-)

> 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.

AFAIK, it has been a tradition at IETF to fully document the
algorithms/protocols it standardizes, rather than just referring to another
standards body. For example, see RFC 6234.

>  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.

Waiting for others to join & comment.

>  Also, I’m not sure how other key establishment schemes fare under these more
> stringent requirements (session-state reveal attacks, and so on).

This should not matter. If we have a better scheme that resists attacks,
which affect other schemes – all the more reasons to adopt the stronger one.

>  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.)

If it is possible to adopt a stronger method – I don't see why not.

>  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.

Great!

> 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. 

Since *MQV won't become the only mechanism – it shouldn't be a concern:
whoever has client anonymity as a higher priority, will use something else.
Whoever is more concerned of UKS, would use FHMQV. Sounds like a win-win to
me. :-)

TNX!

> ***
> 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&oldd
> rafts=on&sort=