Re: [babel] Proposed appendix to Babel-HMAC

Dave Taht <dave.taht@gmail.com> Mon, 21 January 2019 21:47 UTC

Return-Path: <dave.taht@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 81901129BBF for <babel@ietfa.amsl.com>; Mon, 21 Jan 2019 13:47:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-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 Ci_qOy7fqUit for <babel@ietfa.amsl.com>; Mon, 21 Jan 2019 13:47:27 -0800 (PST)
Received: from mail-qt1-x842.google.com (mail-qt1-x842.google.com [IPv6:2607:f8b0:4864:20::842]) (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 35524129B88 for <babel@ietf.org>; Mon, 21 Jan 2019 13:47:27 -0800 (PST)
Received: by mail-qt1-x842.google.com with SMTP id t13so25260925qtn.3 for <babel@ietf.org>; Mon, 21 Jan 2019 13:47:27 -0800 (PST)
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:content-transfer-encoding; bh=lN0CzcOJwMN716WmG6MHt3l0WfCVu8e93LKvEWv4E/o=; b=MX3L9YOoiu8anyco7fl7C+qA7SxGsSZSaRML56zSowEWtWcnGTazFNl4h1j/ekkKVt TDws0H1+7a8s7nvScuo4xKc/OIl/ojcRehe6FunDiWDJ1DfOWRmjpGibeY1wEs0Mjfjg aXVBP7pVHAfLCnq0c7nscGlQMdRpCIXk3UhQ7TBOLqi+CeLKW+zUOONNZjr6gp+iy4U0 QLWjZ9dTNEndfx5xpiAWVQ//B2ZRWKjDcd8gekC83PM2B716jtP0QQYqQ5M4ysVfymJj ri/+fWc5l+tEa3hAMrI1vv4ouy5RRgwR3ds4O2YqfvYQiYWDG2tMNMycGNuEDcCAtijo ouog==
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:content-transfer-encoding; bh=lN0CzcOJwMN716WmG6MHt3l0WfCVu8e93LKvEWv4E/o=; b=lloECleXIkgXNfgTmKUaCiuhvBWYwwonK7RapgCMNXOR+J2uJuapTmHpAco08xeMoq CrRV+BIKrrU/QAzjphA29Za9a2yFxQAosIOw4gRUl20vcPXvtgiVm8afd9kiPcoWAZQY 5XHptK0DVRPjTkaYj0h8+kO00fqaHbBnwqZ3fauisvAPEAR7c0Dg67F0JiSgNMykGF/n 2e76pifpG2ZWQgYBtHAIKz0ozuJOtdEVD68xcfipoXmyOJI/N1aKJ3uOWfpyLQegHvo9 Pzu+HMtQm2qxNomfd2sevkLjuhYrLXsv+Dy4oFsignr1So7+mArplJUyXOUpzBZyHkEs FPeA==
X-Gm-Message-State: AJcUukfv8nPBzEyr06Idp6UJ8kqJFxxjxYYIdjkzbhG3DqYnLmIArElA MKuw0qzvOtSyyrfJ5DT69Pv+lANh1jSMeta1YW/7Ow==
X-Google-Smtp-Source: ALg8bN7VTQEPZkcYLCHNzcSM8OWy+xEhgIoJ+hypl93hZE1EXN7OXz28/FTQlFkIfBVdkQmTvkhDk4yd8/hCTAzM6p8=
X-Received: by 2002:a0c:8a5a:: with SMTP id 26mr26875375qvu.94.1548107246020; Mon, 21 Jan 2019 13:47:26 -0800 (PST)
MIME-Version: 1.0
References: <87h8e9bgv3.wl-jch@irif.fr> <877ef0pwlu.fsf@taht.net> <2D09D61DDFA73D4C884805CC7865E6114DFA4C1E@GAALPA1MSGUSRBF.ITServices.sbc.com>
In-Reply-To: <2D09D61DDFA73D4C884805CC7865E6114DFA4C1E@GAALPA1MSGUSRBF.ITServices.sbc.com>
From: Dave Taht <dave.taht@gmail.com>
Date: Mon, 21 Jan 2019 13:46:46 -0800
Message-ID: <CAA93jw7YV45WE3m3bA62cuAo6Y07XYj9YMmON5FthKPG_tKgSA@mail.gmail.com>
To: "STARK, BARBARA H" <bs7652@att.com>
Cc: Dave Taht <dave@taht.net>, Juliusz Chroboczek <jch@irif.fr>, "babel@ietf.org" <babel@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/5uK-W3L6QpkKf_eC4lu-2q2v6Xo>
Subject: Re: [babel] Proposed appendix to Babel-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: Mon, 21 Jan 2019 21:47:31 -0000

On Mon, Jan 21, 2019 at 1:40 PM STARK, BARBARA H <bs7652@att.com> wrote:
>
> Hi Dave,
> I'm not sure this proposed appendix is still being considered? In mine and Juliusz' last exchange re the babel-hmac draft, I said I would be satisfied with an easy-to-fine (i.e., in the Table of Contents) definition for the term "HMAC Key" in the draft. Which we agreed was
> ## The HMAC Key
> The HMAC key is a string of bytes the length of which is exactly the
> block size of the HMAC algorithm being used. Note this is different
> from the [RFC2104] definition.
>
> This doesn't specify base64 or hex format.
>
> But in the information model, I proposed the parameter be binary datatype (noting that I would be using a hexBinary datatype with the TR-181 data model). No-one disagreed with me, so I declared the decision made.
>
> If we think there is value in an appendix on configuration of the HMAC key, I'm fine with that. But I sense an anxiousness to proceed with declaring WGLC triumphant and sending babel-hmac on to IESG. Alternately, I could see such an appendix potentially belonging in the information-model -- where it wouldn't clutter up hmac-babel, and where we could also discuss (more generically) distribution of credentials.

I can live with this approach.

If the appendix is considered necessary anywhere I would substitute
"human minions" for "human slaves" as being more PC.

> Barbara
>
> > -----Original Message-----
> > From: Dave Taht
> >
> > Juliusz Chroboczek <jch@irif.fr> writes:
> >
> > > Key representation
> > > ==================
> > >
> > > The protocol described in this document assumes the presence of one or
> > > more keys in entries of the interface table (Section 3.1) that have
> > > been securely provisioned by means outside of the protocol.  In this
> > > appendix, we describe how this provisioning might happen.
> > >
> > > Static configuration file
> > > -------------------------
> > >
> > > In the simplest case, the keys are taken from a static configuration file.
> > > When that is the case, the keys should either be drawn randomly using
> > > a good source of entropy, or generated from a user-provided passphrase
> > > using a good Key Derivation Function (KDF).
> > >
> > > In either case, the keys should be distributed to all routers using a
> > > some secure channel (e.g., ssh login or human slaves carrying USB
> > flashkeys).
> >
> > human slavery is usually not in the domain of the ietf, and is usually only in
> > the domain of corporations and oppressive governments.
> >
> > yes, I laughed, but there is a huge movement to rid the language of the
> > master/slave analogy across all of tech.
> >
> > > The user-provided passphrase, if any, should not be distributed to the
> > > routers, but rather kept on a secure central host where key generation
> > > happens.
> > >
> > > In the interest of interoperability, it is recommended that all Babel
> > > implementations support a configuration syntax where the key is
> > > expressed as a string of hexadecimal digits (both uppercase or
> > > lowercase should be
> > > accepted) of exactly the right size to yield an HMAC key (e.g., 64
> > > hexadecimal digits for a SHA-256 key).  It is recommended that keys of
> > > the wrong size should be rejected rather than extended or hashed.
> >
> > I figure I've lost on the BASE64 idea. Still I felt 0xthekey for hex was a good
> > idea rather than just thekey
> >
> > > Static provisioning through a management protocol
> > > -------------------------------------------------
> > >
> > > In a slightly more advanced implementation, HMAC keys are provisioned
> > > using a management protocol, either a standard XML over HTTP horror
> > > [NETCONF, TR-69], or an elegant ad-hoc protocol.  In that case, the
> > > keys should be expressed in whatever format the management protocol
> > > uses for representing raw binary data, and keys should be rejected
> > > unless they have exactly the right size for a given HMAC algorithm
> > > (e.g., 32 octets for a SHA-256 key).  If the management protocol has
> > > no usual syntax for binary blobs, hexadecimal is recommended.
> > >
> > > Key distribution protocol
> > > -------------------------
> > >
> > > The recommended approach is to use a centralised key distribution
> > > server that periodically generates a new key.  In that approach, the
> > > central server generates a new key every 20 minutes or so and installs
> > > it on all the secure interfaces of all the routers in a given routing
> > > domain; after all routers have been updated, the central server
> > > performs a second pass to remove the now-obsolete keys.  The
> > > on-the-wire protocol involved could be something as simple as
> > > connecting over ssh to every router and editing the relevan
> > > configuration files, something as complex as a an XML over
> >
> > spelling:relevant.
> >
> > > HTTP monster, or something as elegant as a secure hop-to-hop flooding
> > > algorithm.
> >
> > It is obvious that some frustration and perhaps, vodka, were leaking through
> > this proposed appendix.
> >
> > ", something as complex as XML over HTTP, or a secure hop-to-hop"
> >
> > > It is important that the key distribution algorithm should be able to
> > > recover from failed key installation, which may happen if a router was
> > > not reachable at the time a new key was being installed.  In the case
> > > of a protocol that uses global unicast, this can be ensured either by
> > > using a separate management network, or by designing the network so
> > > that there is a connected backbone that is not secured by HMAC.  The
> > > elegant solution to the problem is to use a key distribution protocol
> > > that only relies on link-local IPv6 communication.
> >
> > Feel free to reference hnet here...
> >
> > >
> > > _______________________________________________
> > > babel mailing list
> > > babel@ietf.org
> > > https://urldefense.proofpoint.com/v2/url?u=https-
> > 3A__www.ietf.org_mail
> > > man_listinfo_babel&d=DwICAg&c=LFYZ-o9_HUMeMTSQicvjIg&r=LoGzhC-
> > 8sc8SY8T
> > >
> > q4vrfog&m=rVTf2a9q1YuL5raIl0tB7LvZBM3KmepN__mx0Jhtx88&s=uSNNUw
> > MZqU_Co5
> > > Dltj5FVWGdMLHE4m1R1Jc9CfFlha0&e=
> >
> > _______________________________________________
> > babel mailing list
> > babel@ietf.org
> > https://urldefense.proofpoint.com/v2/url?u=https-
> > 3A__www.ietf.org_mailman_listinfo_babel&d=DwICAg&c=LFYZ-
> > o9_HUMeMTSQicvjIg&r=LoGzhC-
> > 8sc8SY8Tq4vrfog&m=rVTf2a9q1YuL5raIl0tB7LvZBM3KmepN__mx0Jhtx88&s=
> > uSNNUwMZqU_Co5Dltj5FVWGdMLHE4m1R1Jc9CfFlha0&e=
>
> _______________________________________________
> babel mailing list
> babel@ietf.org
> https://www.ietf.org/mailman/listinfo/babel



-- 

Dave Täht
CTO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-831-205-9740