Re: [OPSEC] Iotdir early review of draft-ietf-opsec-v6-21

Gyan Mishra <> Mon, 18 November 2019 06:50 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 4428B1200B3; Sun, 17 Nov 2019 22:50:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Status: No, score=-1.998 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, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 60uakoZ6I14x; Sun, 17 Nov 2019 22:50:19 -0800 (PST)
Received: from ( [IPv6:2607:f8b0:4864:20::72d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id AD01E12089E; Sun, 17 Nov 2019 22:50:19 -0800 (PST)
Received: by with SMTP id i3so1519187qkk.9; Sun, 17 Nov 2019 22:50:19 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=from:mime-version:subject:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=PylIzbLJMJWRKcfMHNpZyp1lkcnWfoeNAEjMjmUKpm0=; b=o9USI0nvfpgj5slNOEomBmL9+5HM0Oicmsr+lPXWl05WF2FRSzSHD90axrdcD9MRXu ZkEu0KxMQsaKy+/7j+mb2pfGeiNfgZtngdE75ztgJ/RxwY1jtdKG2hub0SZSYIbpXoOS AzomPeQV2ODWB8cj1f/qvJ/3V/vxMf3T4MrR0ewKh8FfO76Nd7mi3cxLPxgXKYx78y3I bTlo1tSKzTJYwFYj8P9B0qLEnwL0NCdc/+Bxuuj3dwIRiayPzS/gAybAH1/FSX0p+d/U AYj8Fy7jlZYCBBZYbUDQEYKB30YGiLa84NXCmwX/wY23VbsooJ68X/pB7jwR5m4o8j0Y aaQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:from:mime-version:subject:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=PylIzbLJMJWRKcfMHNpZyp1lkcnWfoeNAEjMjmUKpm0=; b=nBlzvujL65YnfQ37DSgODj7DBL2EZgeFyhqnEbuegxPAcQ8ptZX+zR78FyXZAnu649 id2W2JhbvGZH6IvsIxVwNPUzrELS9jVDBUx03933//m7gvWPlTo1B1+g4il4vMgGcJxn f2xIm6f292cae0icD1GKJBr/bFyGPI6s4CZQSmWWUSaonlNtW74RaYgBr+FKUts2Ethm wEX9qw2OXxqyNTEysFgLlrsAfhwnOrqlfuUTT4DROWlV2GXYb6TZtvp3vcPK2TqM3c75 +GlDLrpIIOdbXAmU6pVGz/46qtcfP/cQnZiIDIDOIMkaQe2uFlhXW+RD6zjQuW4D5GtG zwqQ==
X-Gm-Message-State: APjAAAVgfksrvLC+8Onnl0wAaEePanSZRi22EMLS7mjHFHtnZeLLj2AR hERAozbwP+dwIjaDFTlYFMEwEKBHh38=
X-Google-Smtp-Source: APXvYqwAnuc8f6p5XlfRgL3QaxAWwBN0dcxBbsqd9vZau+XoVprRFcTcdMjZA5TajqsFElwRsXThsw==
X-Received: by 2002:a05:620a:120c:: with SMTP id u12mr22207964qkj.441.1574059818095; Sun, 17 Nov 2019 22:50:18 -0800 (PST)
Received: from [] ( []) by with ESMTPSA id a7sm8056422qka.136.2019. (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 17 Nov 2019 22:50:16 -0800 (PST)
From: Gyan Mishra <>
X-Google-Original-From: Gyan Mishra <>
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (1.0)
X-Mailer: iPhone Mail (16G102)
In-Reply-To: <>
Date: Mon, 18 Nov 2019 01:50:15 -0500
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <>
To: Ted Lemon <>
Archived-At: <>
Subject: Re: [OPSEC] Iotdir early review of draft-ietf-opsec-v6-21
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: opsec wg mailing list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 18 Nov 2019 06:50:22 -0000


Thank you for the comments.

In the abstract it does mention the audience but needs to be clearer as I agree to your point that this document is geared for a managed network and not for unmanaged or home network.

ULA mentioned in section 2.1 mentions use case described in RFC 4864 but should mention section 3.2 of that document.  I think we could add some verbiage that ULA is used for local scope communications only. Also maybe a case of SHIM6 multi homing or where 6to6  nat - nat64 is used where ULA is inside local Nat to outside global address use case. Maybe also mention default address selection RFC 6724 where a host is configured with both ULA and Global and how ULA is used for internal local communications and how the global address is used for external internet communications.

2.1.4 static does mention obfuscation of static address but 2.1.6 does not since DHCPv6 ISC or other DHCPV6 server implementations the pool address picked let’s say within the scope is randomly picked each time the server doles ourt an IPv6 lease by default and not picked sequentially by the server which is why obfuscation is not mentioned.   We could mention that is how the DHCPv6 sever picks the address so that is not confused.  We don’t mention split scope is required for redundancy which should be mentioned and how that works in comparison to IPv4 where state sharing is done between active and backup server where with DHCPV6 no active leases state sharing.  We will get that added as well.  Also a caveat with DHCPv6 that when the primary server goes down and the lease has to be renewed rebind time that the IPv6 address has to change at which time any active session will have to reset.  I have actually deployed this with BT Diamond which used ISC and to get around this issue we ended up setting a long 7 day lease time with larger block size for the scope being a /112 versus our initial /116 scope.  Also good to mention that since the 128 bits is managed to use smaller scope size for split scope then 2 /65 since their is not any privacy extension which stateful that for security it’s better to have a smaller DHCPv6 scope for managed address.  In section 2.1.6 the DUID has the mac embedded in the address embedded in the DUID as the 48 LSB bits.  Can you provide the use case where the DUID does not have embedded mac.  I agree  that 2.1.7 needs to some extra verbiage as to the use case of when and why addressing would be done as /64 per host and refer back to 2.1.4 static addressing use case.

Thank you 


Sent from my iPhone

> On Nov 16, 2019, at 6:36 PM, Ted Lemon via Datatracker <> wrote:
> Reviewer: Ted Lemon
> Review result: On the Right Track
> This is a review of draft-ietf-opsec-v6 from the IoT Directorate perspective.  
> I am a volunteer on the IoT, and do not speak authoritatively for the IoT
> Directorate as a whole.  My impression of this document is that it's useful,
> but could use some work.   Some of my comments below are coming strictly from
> an IoT perspective; others are more general.
> ---
> The document doesn't talk about its intended audience.  It appears to be the
> case based on my reading of it that the intended audience is enterprise
> operators and similar.  This should be stated clearly and explicitly.  Some of
> the advice in this document would be actively harmful if deployed on an
> unmanaged network (e.g. in a home).  That doesn't mean that the document is
> bad—just that it needs to be scoped appropriately.   I would suggest adding a
> brief statement of applicability in the abstract and a more detailed
> explanation in the introduction.  It is important that this statement make
> clear that the advice in this document must not be followed by implementers of
> home routers and similar devices.   E.g., this advice would utterly break a
> Thread (IPv6 over 802.15.4 mesh) Border Router.
> It's also not clear that this document lives up to its abstract.   The abstract
> says:
>   This document analyzes the operational security issues in several
>   places of a network (enterprises, service providers and residential
>   users) and proposes technical and procedural mitigations techniques.
> And yet if you look for example at section 2.1.1, there is no actual analysis
> of the use of ULAs, nor is any advice on their use provided.
> Section 2.1.4 doesn't mention using DHCP to provide hosts with obfuscated
> address that, since known to the operator, can be added to filter lists as
> appropriate, while still making probing mathematically challenging to an
> outside attacker.
> Section 2.1.6 incorrectly implies that DHCPv4 binds IP addresses to link-layer
> addresses.  This is not true.  I don't know that it really matters, but since
> it's not true, you should fix it.  DHCPv4 uses a "client identifier," which is
> quite similar to a DUID.  If no client identifier is offered, then the
> link-layer address is used, but this is not required, and the behavior
> described for DUIDs in this document is also applicable to client identifiers.
> 2.1.7 seems to be continuing a thought that was started in 2.1.4.  It would be
> worth stating that explicitly, and comparing and contrasting these approaches.
> Although the abstract explicitly excludes applicability to IoT networks, the
> advice in this document will necessarily be taken as applicable in situations
> where IoT networks are leaf networks or even infrastructure that is present
> alongside the networks that _are_ covered by this document.  This has some
> specific impacts that aren't talked about here and should be.   For instance,
> Manufacturer Usage Descriptions (MUD) are not mentioned, and should be.   MUD
> is applicable to infrastructure devices and really any special-purpose device;
> e.g., MUD would be highly appropriate for use in hospital environments where
> many devices are connected to the network that absolutely must have their
> accessibility controlled; MUD is a good candidate for doing this.   The
> omission of this approach from section 2,1 is a major gap, since the issues
> discussed in section 2.1 directly impact the feasibility of using MUD (since
> MUD specifies firewall behavior for devices, and devices are necessarily
> identified by source address).
> The conclusion I'm drawing having gotten to the end of section 2.1, in addition
> to what I've said above, is that some of the issues introduced in subsections
> of section 2.1, like filterability of host addresses, really belong in the
> initial section 2.1 introduction, so that the subsections of 2.1 can refer back
> and give the reader a coherent picture, rather than requiring the reader to
> synthesize this as they read through the subsections.
> Section 2.3.2 talks about the threat of a MITM attack through the use of forged
> RAs, but doesn't actually describe how prevalent such on-link attacks are (this
> would be an on-link attack) nor does it talk about how such an on-link attack
> would be more effective than an attack the attacker could do without this
> capability.  Without a threat model, this is somewhat hypothetical.
> Section 2.3.2 goes on to talk at length about how to make RA Guard work,
> without talking about when it is useful, what attacks it prevents, and what
> problems it causes when deployed incorrectly.  We have actually run into
> serious problems working on the Thread Border Router specification because of
> uncertainty about whether RA Guard may be present on a network to which the TBR
> is attached.  If it is, then the easiest way for the TBR to advertise
> reachability is gone, and we have to resort to bypasses such as ND Proxy,
> reverse NAT64, NAT66, or tunnels, just in order to ensure reachability of the
> leaf network.
> I think it's actively harmful to recommend the use of RA guard without talking
> about the problems it causes and how to mitigate them.  This section should
> explicitly say that RA guard should never be enabled by default: it should be
> the case that the operator enables it explicitly, and that in cases where there
> is no operator with the authority to set routing policy for a link, RA guard
> should not be used on that link.
> SAVI is another extremely useful technology that can't really be deployed
> automatically without creating similar problems.  To be clear, my goal here is
> not to say that the document shouldn't recommend RA guard or SAVI, but rather
> that it should be very clear about when to deploy it and when not to.
> In section 2.3.5, what is a "generic operating system?"   I don't know what
> this term means.   Can you use a term with a clearer meaning?
> One thing I didn't see discussed in section 2 that I think belongs there is the
> concept of isolation of networks.  Networks that provide connectivity to
> general-purpose devices like phones and comouters may need to provide
> flexibility of addressing for privacy reasons.  Infrastructure devices,
> particularly those for which MUD is applicable, may need to be on networks
> where filtering is present and addressing is tightly controlled.  There's no
> discussion fo this kind of separation in the document, and I think it's a
> serious gap.