Re: [babel] Minor clarification to HMAC

David Schinazi <dschinazi.ietf@gmail.com> Fri, 28 June 2019 17:46 UTC

Return-Path: <dschinazi.ietf@gmail.com>
X-Original-To: babel@ietfa.amsl.com
Delivered-To: babel@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3A4A01203BC for <babel@ietfa.amsl.com>; Fri, 28 Jun 2019 10:46:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 jaLquaDBPQ1w for <babel@ietfa.amsl.com>; Fri, 28 Jun 2019 10:46:03 -0700 (PDT)
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com [IPv6:2a00:1450:4864:20::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 27CFB12000E for <babel@ietf.org>; Fri, 28 Jun 2019 10:46:03 -0700 (PDT)
Received: by mail-lj1-x232.google.com with SMTP id t28so6789242lje.9 for <babel@ietf.org>; Fri, 28 Jun 2019 10:46:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=JfIBjLQgAyq/s5q1KTj6QEBaohPlkx5EztgfGdk2aYM=; b=oOe8uO/+9TCVnXURbSPKP0L/K0AMeX2/uAX031tx8a6Sqo8AYKICE7xHVtjw98pvKA IN9wHfoNSwuiMAgmt6CgrC6gQnJA5u9Vwzv503N7GYkHuQKlt8LwLPSovl+V6TJZgngr oN4OyyCnfZEwPnFwqslCFFegAAudeGLKsB98i0LPygipvjkSPu2Is2BhXJJ/VVkrHZ7T fgnP/VQuTSFtLge+M4hgLbwwQfNgrTsau+SoY35EbXYeH+4B8jPr0MjqtynIk8bC6gA2 K+ujcHq8rHH7gI4UY7buRq+D8XzF9QyBpRcVKZwS3efyzjaHBS7QC6t5TZaRll0Q/zQp eOOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=JfIBjLQgAyq/s5q1KTj6QEBaohPlkx5EztgfGdk2aYM=; b=H6hNnxQr2py4C4OEHQ3zGBK0cNeXt/lNh082AGqY3K0eWyJ4fCJilG4XICZfXxRSs0 IGN5GYmYNnhbBroBQfvCXfSDa7Nr3hq+8gaPxT3BImYO3iQKgJzKMg1ZmqB3p1DNZ7aL ozj5VbLrZvAUQSZq2NbsY5uRu9RI7nCUhoW4mlCpXeQ0Om/MyBmSaEBYDU12E8Uw9MFt pJGfjtG44ANpnS/J6LLZ1beSIXrZBXHsSdOHGClg0R+AGh/P4Ir89zsP6FigS6UeqKtq Vdgz8shC2KV50PUUA+LTunLRss05VMUnuQ+lgRXlMiRn9fFoNoH2JWJIxvAV84zTWgde QsSQ==
X-Gm-Message-State: APjAAAWKVQFdsPBCOBkEE/3XkhPIhuO/ZJ3jJoARLXOhRZql8vXxG0W5 ZiI69QQcD9Qwijx8FuK90fL3jwpLWYGoMJXWbTk=
X-Google-Smtp-Source: APXvYqzYZhiZ8Q+U8KpDSJB0VB9sP1CyoPcVstHBgPnGw/MC9FzWMrQeyKGITn3kMyKiaj6aDW7nBJ8RrpWB0NmznJM=
X-Received: by 2002:a2e:89c8:: with SMTP id c8mr7007632ljk.70.1561743961379; Fri, 28 Jun 2019 10:46:01 -0700 (PDT)
MIME-Version: 1.0
References: <874l49j158.wl-jch@irif.fr> <6C3AA518-8EF8-493A-835D-DE096E75D07B@iki.fi>
In-Reply-To: <6C3AA518-8EF8-493A-835D-DE096E75D07B@iki.fi>
From: David Schinazi <dschinazi.ietf@gmail.com>
Date: Fri, 28 Jun 2019 10:45:50 -0700
Message-ID: <CAPDSy+4GeUfq50NcF5xZg_2cb78w76FjYYFnffqWtKm=Kha+fw@mail.gmail.com>
To: Markus Stenberg <markus.stenberg@iki.fi>
Cc: Juliusz Chroboczek <jch@irif.fr>, Babel at IETF <babel@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000000c56e7058c65dad3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/LmpC2zJsSAyoFsAIVXG_KJabENg>
Subject: Re: [babel] Minor clarification to HMAC
X-BeenThere: babel@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <babel.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/babel>, <mailto:babel-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/babel/>
List-Post: <mailto:babel@ietf.org>
List-Help: <mailto:babel-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/babel>, <mailto:babel-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Jun 2019 17:46:06 -0000

When a node detects a new neighbour (by receiving a multicast hello), it
sends a challenge.
I can imagine several ways to implement this:
- create the neighbor entry at this point
- have a separate table of pending challenges
- come up with a clever stateless scheme involving cookies (maybe?)
But how the node handles the challenge is an implementation matter.
A rate-limiting and anti-DoS mechanism can be added to all of these.

Therefore, I support adding this MAY, because it gives implementors leeway.

David


On Fri, Jun 28, 2019 at 7:17 AM Markus Stenberg <markus.stenberg@iki.fi>
wrote:

> In terms of security properties, notably resource exhaustion/contention, I
> am bit leery of creating entry before validity of remote party is actually
> verified (= challenge response received). I prefer the old text. I am not
> quite sure why the second 'may need to be created' is there..
>
> I guess naive implementation would just remember specific nonces it has
> sent/freceived, but for new peers you can also just use e.g. nonce that
> contains timestamp (+ peer address (+- something))[1], which allows
> challenge sender to remain stateless until challenge responder proves they
> have the key.
>
> So -1 from me. (Yes, I do wear my tinfoil hat even during summer.)
>
> Cheers,
>
> -Markus
>
> [1] extra stuff is mostly for replay protection purposes, but I am not
> sure if it is a threat or not in this case. I have just cycled 140km, sue
> me.
>
> > On 28.06.2019, at 16.21, Juliusz Chroboczek <jch@irif.fr> wrote:
> >
> > Dear all,
> >
> > Sawssen and Étienne (in copy of this mail) are currently working on
> > cleaning up and completing the reference implementation of
> draft-...-hmac.
> > We have just realised that the draft is not quite clear on two points.
> >
> > The draft says that a neighbour entry MUST NOT be created before HMAC is
> > verified (Section 4.3 first bullet).
> >
> > It later says that a neighbour entry "might need to be created" when
> > a challenge is sent, and "may need to be created" when a challenge is
> > received.  However, it does not say whether it is legal to create an
> entry
> > earlier.
> >
> > I would therefore like to kindly request the permission of the group and
> > the chairs to add the following between the first and second bullet
> points
> > of Section 4.3:
> >
> >  * A neighbour entry for the sender of the packet MAY be created at this
> >    stage.  (Alternatively, an implementation MAY delay the creation of
> >    a neighbour entry until a challenge request or reply is received.)
> >
> > This clarification does not invalidate any implementations, it just makes
> > the intent of the draft authors more explicit.
> >
> > -- Juliusz
> >
> >
> > _______________________________________________
> > babel mailing list
> > babel@ietf.org
> > https://www.ietf.org/mailman/listinfo/babel
> >
>
> _______________________________________________
> babel mailing list
> babel@ietf.org
> https://www.ietf.org/mailman/listinfo/babel
>