Re: ra privacy: an improvement to privacy extension plus source code

Andrew Yourtchenko <ayourtch@gmail.com> Thu, 24 October 2013 20:00 UTC

Return-Path: <ayourtch@gmail.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E9E8011E839D for <ipv6@ietfa.amsl.com>; Thu, 24 Oct 2013 13:00:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, NO_RELAYS=-0.001]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3Dg5jBBP9AGN for <ipv6@ietfa.amsl.com>; Thu, 24 Oct 2013 13:00:44 -0700 (PDT)
Received: from mail-qc0-x236.google.com (mail-qc0-x236.google.com [IPv6:2607:f8b0:400d:c01::236]) by ietfa.amsl.com (Postfix) with ESMTP id ACCBA11E83A9 for <ipv6@ietf.org>; Thu, 24 Oct 2013 13:00:16 -0700 (PDT)
Received: by mail-qc0-f182.google.com with SMTP id n7so1701699qcx.27 for <ipv6@ietf.org>; Thu, 24 Oct 2013 13:00:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=5CFsypSBorKig9MEYsyTCsBop41Qo9wpJfIhYACbYZE=; b=EnAE6rZ59rZqq+a7mDa6/18vlzrLxAa3aXW7jWHFfZvSaooJ81iSEA5iLYIxO4aMpP cGlKlkfSTwAd3T8a750FeyzIF0iIhMC54Zev+MHJ91zddztYky7nGEUnxa31BIIHt9Ms seD+oFn0nuVRsxSXnH+i1RHNCa8Xxuu7xDfCFuJL2iEBv7zNlpDWhoClMqVG4saoQjfH +UswGeCsKm/qNGWDteiK1HrPps3iZrQnDoBjA+KEWtVFxi8sTk3TpW4/20D+sQpXu+Oq OqvmaEzus0Ofz6iBQDZuzZaK5u8RkJ+xOrRMe8WD+LPm+IHRo0877B0MNsileoscdsf0 m+mQ==
MIME-Version: 1.0
X-Received: by 10.224.130.72 with SMTP id r8mr6627536qas.32.1382644816057; Thu, 24 Oct 2013 13:00:16 -0700 (PDT)
Received: by 10.96.12.199 with HTTP; Thu, 24 Oct 2013 13:00:16 -0700 (PDT)
In-Reply-To: <014301cece8a$2b780e20$82682a60$@rozanak.com>
References: <014301cece8a$2b780e20$82682a60$@rozanak.com>
Date: Thu, 24 Oct 2013 22:00:16 +0200
Message-ID: <CAPi140PStSx+HDM9rpgVjPed3OFD=gpsXkOdH2HiC7mf350f+Q@mail.gmail.com>
Subject: Re: ra privacy: an improvement to privacy extension plus source code
From: Andrew Yourtchenko <ayourtch@gmail.com>
To: Hosnieh Rafiee <ietf@rozanak.com>
Content-Type: text/plain; charset="ISO-8859-1"
X-Mailman-Approved-At: Thu, 24 Oct 2013 23:54:19 -0700
Cc: ipv6@ietf.org
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipv6>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 24 Oct 2013 20:00:45 -0000

Hi Hosnieh,

I'll reply on-list so it gets into archives - so as to record my
feedback, which is mostly a retransmit of what I wrote in our offline
communication.

I will go over the "problems" that are now distinctly listed in the
introduction, thanks!

"- RFC 4941 specifies the use of EUI-64 to generate the public address
   of node
"

I would not agree with this. 4941 refers to 4862 for generating the
public address, which in turn suggests to use "interface identifier"
when creating a global address, and does not mandate EUI-64 as the
only mechanism (as evidenced in some implementations, namely,
Windows). The 4291, on the other hand, does talk about EUI-64 *format*
but it also specifically mentions the MAC addresses are not necessary
to be used. So, IMHO this is not a problem.

Anyway if the nodes want to use the stable public addresses that are
scan-resistant, there is a draft by Fernando Gont which solves this
problem. I'd rather see you contribute to that one if that solution is
not good enough you think, rather than having yet another fork.

"
   - If the node is changing the physical link, it may keep the IID
   already used on the link it is leaving, to form an IPv6 address on
   the new link using SLAAC.
"

This is a problem I agree is a problem, which has been fixed in some
implementations; and arguably in the other implementations a bug
should be filed "If the prefix changes, the node MUST NOT reuse the
already used temporary IID". But, maybe to fix this bug, an update to
4941 could be useful.

Fernando's draft also specifies that IID of the "stable addresses"
needs to be different on different prefixes, so this problem only
applies to temporary addresses.

"
   - This document is also plan to clarify the interpretation of some
   words used in RFC 4941. One example is a node might nterpret a need
   for the use of a large, stable storage area in which to store each
   newly generated IID. This needs to be done to prevent the generation
   of another currently "in use" value.
"

I read the 4941 and I think it is flexible enough allow oneself to
both shoot oneself in the foot and to make a sane implementation. So I
am not sure this is a valid problem to solve.

Making things fool-proof applies a Darwinian pressure to breed better fools...

"
   - This document also clarifies the use of other algorithm and compare
   it with CGA and DHCPv6 when there is no stable storage available. So
   that the node may be able to make use of a greatly randomized IID
   because, according to section 3.2.2 of RFC 4941, there is nothing to
   force the use of RFC 4086.
"

We had tons of the discussions about the algorithm. I maintain that it
boils down to:

"On each link change, take 64 bits of random data and put it into IID.
Ensure the random data is good quality".

There is a significant body of work on generating good random numbers
and I do not see this draft contributing anything new to it, in this
regard.

So, as I support only 1 portion of the draft out of 4, in general I am
still opposed to it.

--a

On 10/21/13, Hosnieh Rafiee <ietf@rozanak.com> wrote:
> First I would like to thank Andrew for his constructive comments off list.
> I
> tried to address his concerns.
>
>
>
> I wrote a small c++ program that compares ra-privacy with privacy
> extension.
> Before, I submitted a version that only ran on windows OS
> (www.hpi.uni-potsdam.de/fileadmin/hpi/FG_ITS/research/Ipv6/md5_Test.zip ).
> This version works on Linux. I haven't tried it on another OS (FreeBSD ,
> etc). I guess you should try to compile it for other OSs.
>
> You only need to run compare.cpp. It will call the other functions.
>
> http://sourceforge.net/u/hrafiee/raprivacy/ci/master/tree/
>
>
>
> Finally I had a chance to update ra-privacy draft as well. The purpose of
> this draft, if you can still remember :-), is to improve privacy
> deficiencies that exist in Privacy Extension RFC  (RFC 4941) and update it.
> Please share your comments and support the document. I would like to ask
> the
> chair of 6man to assign a timeslot at the upcoming IETF meeting  to discuss
> it further.
>
> http://tools.ietf.org/html/draft-rafiee-6man-ra-privacy
>
>
>
> Thank you,
>
>
>
>
>
> -----------smile----------
>
> Hosnieh
>
> . success is a journey, not a destination..
>
>
>
>