Re: Last Call: <draft-turner-md5-seccon-update-07.txt> (Updated

Martin Rex <mrex@sap.com> Sat, 04 December 2010 03:22 UTC

Return-Path: <mrex@sap.com>
X-Original-To: ietf@core3.amsl.com
Delivered-To: ietf@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D58763A6822; Fri, 3 Dec 2010 19:22:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.12
X-Spam-Level:
X-Spam-Status: No, score=-10.12 tagged_above=-999 required=5 tests=[AWL=0.129, BAYES_00=-2.599, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_HI=-8]
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 8sAbfR5eJFRJ; Fri, 3 Dec 2010 19:22:10 -0800 (PST)
Received: from smtpde01.sap-ag.de (smtpde01.sap-ag.de [155.56.68.170]) by core3.amsl.com (Postfix) with ESMTP id 810933A681D; Fri, 3 Dec 2010 19:22:09 -0800 (PST)
Received: from mail.sap.corp by smtpde01.sap-ag.de (26) with ESMTP id oB43NPFc021548 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 4 Dec 2010 04:23:26 +0100 (MET)
From: Martin Rex <mrex@sap.com>
Message-Id: <201012040323.oB43NNj1010786@fs4113.wdf.sap.corp>
Subject: Re: Last Call: <draft-turner-md5-seccon-update-07.txt> (Updated
To: L.Wood@surrey.ac.uk
Date: Sat, 04 Dec 2010 04:23:23 +0100
In-Reply-To: <4FE8ED0D-70E2-41F9-A9F4-80FFE1FA870F@surrey.ac.uk> from "L.Wood@surrey.ac.uk" at Dec 3, 10 10:59:19 pm
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Scanner: Virus Scanner virwal08
X-SAP: out
Cc: wes@mti-systems.com, iesg@ietf.org, ietf@ietf.org
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: mrex@sap.com
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 04 Dec 2010 03:22:13 -0000

L.Wood@surrey.ac.uk wrote:
> 
> > and MD5 is definitely _NOT_ suitable
> > for anything with the term "integrity" in it.
> 
> That depends imo on whether "integrity" is used as a term in a security
> context by a security person, or by anyone else. (I am not using the
> term as a security person, but have been forced to use it when talking to
> security people who have little notion of protection against errors or of
> reliability.)
> 
> 
> > Integrity protection is terminology that is used in the
> > security&cryptographic area and this defect of rfc-4270 is going
> > to create misunderstandings.
> 
> Yes.
> 
> We've actually run into this problem previously, and had to carefully use the
> terms when talking to those who focus on terminology used, rather than the
> overall point that is trying to be made. This leads to verbal gyrations
> and a degree of doubletalk.
> 
> 'Integrity' and 'protection' do have meanings outside security, and were used
> long before their specific use in a security context (cf database integrity,
> system integrity, even integrity protection in chemical plants). From context
> here and the rest of the sentence, it's imo clear that reliability is what
> is being referred to.


I've been focused so much on security over more than a decade that
myself I am actually unfamiliar with uses of "integrity protection"
in a sense that is _not_ security-related.


Although the attacks against MD5 published so far are practical only
for creating collision pairs, there has not been published a practical
preimage attack against MD5.  But the practical collision attack alone
is devastating for several integrity protection usage scenarios.

   see this here: http://www.win.tue.nl/hashclash/rogue-ca/

Open the "Certificate Manager" of a newer Firefox/Mozilla browser
(Menu:  Tools->Options, Section "Advanced", Tab "Encryption",
 Button "View Certificates", Tab "Authorities")

Under "Equifax Secure Inc." you will probably find a CA certificate
labelled "MD5 Collisions Inc. (http://www.phreedom.org/md5)"
signed by Equifax Secure Global eBusiness CA-1, expired in Sep-2004
and that cert is pre-configured to be _not_ trusted for any purpose.
(a somewhat non-obvious way of blacklisting a certificate).

The MD5-based RSA signature in that cert still contains the original
MD5 checksum that Equifax calculated when it issued a different
(but fairly similar) end-entity cert with a different validity.


This fake CA certificate was created with the help of the MD5 collision
attack, not by a preimage attack.

But if you look at the purpose / usage scenario of the MD5 hash here,
then it is about some SSL client ("Bob") receiving an assertion of identity
for a server "i.broke.the.internet.and.all.i.got.was.this.t-shirt.phreedom.org"
integrity protected by an RSA-encrypted MD5 hash from Equifax ("Alice"),
which can be successfully substitued by an attacker ("mallory") with
an intermediate CA certificate (plus an end-entity cert for any arbitrary
server created at will by mallory), and the Equifax-signed
MD5 checksum does not protect against this substitution, because
the fake CA cert has the exact same MD5 checksum as the cert
originally issued by Equifax.

The details are described in section 5.3 (but only 5.2 has an anchor tag):

   http://www.win.tue.nl/hashclash/rogue-ca/#sec52


Admittedly it isn't trivial to use a collision attack to do achieve
something that normally requires a preimage attack, but it is going to
be possible much more often than you will want it to for a creative
attacker.  And a lot of PDUs that are digitally signed these days
provide wiggle room for "binary random stuffing" necessary to precompute
collision attacks and will be ignored by recipients.  Especially in
protocols using ASN.1.

According to this report:

  http://www.eff.org/files/DefconSSLiverse.pdf

there appear to exist almost 1500 "trustworthy" SSL CAs, and
and attacker only needs to find a single one among them where
such an attack still works...


-Martin