Re: Stephen Farrell's Discuss on draft-ietf-6man-stable-privacy-addresses-16: (with DISCUSS and COMMENT)

Fernando Gont <> Tue, 21 January 2014 16:37 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 75BB11A037C; Tue, 21 Jan 2014 08:37:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id jKd4L6gjWn5F; Tue, 21 Jan 2014 08:37:19 -0800 (PST)
Received: from ( [IPv6:2a00:d10:2000:e::3]) by (Postfix) with ESMTP id D3D7D1A0386; Tue, 21 Jan 2014 08:37:18 -0800 (PST)
Received: from ([] helo=[]) by with esmtpsa (TLSv1:DHE-RSA-CAMELLIA256-SHA:256) (Exim 4.82) (envelope-from <>) id 1W5eK7-0007xy-0F; Tue, 21 Jan 2014 17:37:12 +0100
Message-ID: <>
Date: Tue, 21 Jan 2014 13:20:51 -0300
From: Fernando Gont <>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
MIME-Version: 1.0
To: Stephen Farrell <>, The IESG <>
Subject: Re: Stephen Farrell's Discuss on draft-ietf-6man-stable-privacy-addresses-16: (with DISCUSS and COMMENT)
References: <>
In-Reply-To: <>
X-Enigmail-Version: 1.5.2
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Cc:,, Lloyd Wood <>,
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 21 Jan 2014 16:37:20 -0000

Hi, Stephen,

(Lloyd CC'ed, since IIRC he did work on the MD5 stuff)

Thanks so much for your input! -- Please find my responses in-line...

On 01/21/2014 12:52 PM, Stephen Farrell wrote:
> (1) Section 5: Why mention only MD5 and SHA1? Why not
> HMAC-SHA256? 

They are just examples. I guess we could add HMAC-SHA256, too. I have no
objections to that.

> As-is, implementers are likely to get this
> wrong in various ways, e.g. allowing MD5 collisions to
> be generated on purpose with different inputs perhaps
> as a way to assign blame to an innocent victim. 

mm.. what's the attack you have in mind with these MD5 collisions?

> If
> HMAC-MD5 or better (*) HMAC-SHA256 were recommended
> instead, it is far more likley that implementers will
> do the right thing and it seems just as easy to do
> today's right thing as what's mentioned here. 

To some extent, the idea is that you'd do MD5 or better. But at the end
of the day, if MD5 is too much for you, even something weaker than MD5
would be better than the "embed the MAC address" thing we do today.

>    (*) Even though HMAC-MD5 is still ok, its better
>    (for audit reasons) if we reduce the number of
>    copies of MD5 runtime code on systems and do not
>    introduce new instances of that code.

That's one of the reasons MD5 is listed: most systems already implement it.

> (2) Why might a sys admin want to display the
> secret key? 

e.g., you want a replacement system to generate the same addresses.

> If there's a reason shouldn't you say
> so that coders don't do the wrong thing? The 
> concern is that once established, this key might
> be re-used for other purposes and display might
> then become an interesting attack vector.

Just double-checking: you argue that if it can be changed, systems would
use the same key for other purposes, and hence it would leak out?

> ----------------------------------------------------------------------
> ----------------------------------------------------------------------
> - Probably not worth investigating, but I'd wonder if a
> bad-actor with the 64 bit prefix to play about with
> could force an IID on a node that used plain MD5 with a
> guessable or known secret_key.

As noted in the I-D, for obvious reasons the security of this system
relies on the secret key being secret.

> I don't think that's
> doable today but its yet another reason to avoid very
> outdated hash functions like md5. This is a non-issue
> if discuss#1 is resolved by ditching MD5.

To be quite honest, I think that MD5 is perfectly fine for this use case
(for instance, it's not unusual for nodes to randomize the TCP SEQ with
MD5). And since other hash functions are mentioned, one would expect
that a developer that has something better available, would go for
something better.

That said, I'm not "married" with MD5, and wouldn't care myself if it's


Best regards,
Fernando Gont
SI6 Networks
PGP Fingerprint: 6666 31C6 D484 63B2 8FB1 E3C4 AE25 0D55 1D4E 7492