Re: [Lwip] Paul Wouters' Discuss on draft-ietf-lwig-minimal-esp-08: (with DISCUSS and COMMENT)

Daniel Migault <mglt.ietf@gmail.com> Mon, 25 April 2022 18:20 UTC

Return-Path: <mglt.ietf@gmail.com>
X-Original-To: lwip@ietfa.amsl.com
Delivered-To: lwip@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 70A7AC20D6B5; Mon, 25 Apr 2022 11:20:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.197
X-Spam-Level:
X-Spam-Status: No, score=-0.197 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, 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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4031cjjzoSfx; Mon, 25 Apr 2022 11:20:22 -0700 (PDT)
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com [IPv6:2a00:1450:4864:20::22a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AF688C20D689; Mon, 25 Apr 2022 11:20:13 -0700 (PDT)
Received: by mail-lj1-x22a.google.com with SMTP id y19so7638039ljd.4; Mon, 25 Apr 2022 11:20:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=cU4d3TaTQhVg5t74xP/woEJVqwMLNv/7Lllf0PnEDco=; b=n3wKH98KzDSBO+yJ07Rx83UnnB4HNzVz7IFv9TPfsGHWwLUQvHyBGa5xcICbsEK2fr ZUxJHBzGq/v1BidnmVefwojYguVaUXQVEbizCsZpw38lbZybInIIq/sfIAjnultUpLQ/ UhvIHYNUxwXrAO5tzbGyay4NPbsk11t2YKDmBlOcexhIDSrWP/hCgh5wYKRTRRGcc1L9 uXh0jqG7HASHNvo7dyBtPNQO0aAID48RZQ02SXxy0Oe/cu7W4Wk0fcMRF/o4G4wC7U9O 9aWuU31+S1nPgLKJxLKkusi67bhvZkIZ3sLhd96Py1bpZwCFb8qFSk7sFCUidBkVNAg4 sivA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=cU4d3TaTQhVg5t74xP/woEJVqwMLNv/7Lllf0PnEDco=; b=LMOKWNEQsQkFkCSJeJrLCN0SVw2xn0vrZa9Qvv/I6Fp21ClILJ41rzUY/ktOa7f8Dh g/sPAAuNb5kqZKQAbn9IjRYSWihSc7qqCOuJSZd386HVXP222Bto3vPRmPhU0TUzqPJI vHfTPYfcC4g9oTWLe6YVy8T9aT+fhVUScaVwbL0xk3rp51ertL0Jx5owAH/1ZEjy+UBa FDnuk9/u+wN+LB+ZBhaAz+aC2PpWfGaOucHkI73BRwGNReOOh/hxUEfUEYbdvsPNw2rk GY5AkC2cn3XnNErIfhkCuJKTQNOJW6bQ35j9i/gFRjMYEeGwQBqbeBBc24iMFAVqYzG+ kXOA==
X-Gm-Message-State: AOAM532oGGcNOXHxdzcTlzvTtbl+7H+MusZ7MAfiltEia657Jms75dyU w+orNA+pGGP7jKVVGbtqN5EPJicHTNtOrt41ASUageK66nY=
X-Google-Smtp-Source: ABdhPJy9Ql/wvCoPxBLa5Sdy6n6ZvIxSLGCZUl5193XIf3LZEEeZmJWxTcCeCMJVxd1RzOU7exBpzcx11hlqRJU2AxQ=
X-Received: by 2002:a2e:3112:0:b0:24f:132a:fd71 with SMTP id x18-20020a2e3112000000b0024f132afd71mr3060579ljx.522.1650910810973; Mon, 25 Apr 2022 11:20:10 -0700 (PDT)
MIME-Version: 1.0
References: <164919648646.8778.6947253487684946962@ietfa.amsl.com> <CADZyTkkdXs8tJu_J5M_Yb-VC2SbSECLen_igUrGVGtrNFng6QA@mail.gmail.com> <CAGL5yWb5oaridQzFdxoWQdieNxDb=pOB_5sMCBM+HdgCsn_NeA@mail.gmail.com>
In-Reply-To: <CAGL5yWb5oaridQzFdxoWQdieNxDb=pOB_5sMCBM+HdgCsn_NeA@mail.gmail.com>
From: Daniel Migault <mglt.ietf@gmail.com>
Date: Mon, 25 Apr 2022 14:19:59 -0400
Message-ID: <CADZyTkk616G+U5323wBXhR35K=FojD2+V_L5UEv-=6Xzz-A4Tw@mail.gmail.com>
To: Paul Wouters <paul.wouters@aiven.io>
Cc: The IESG <iesg@ietf.org>, lwip@ietf.org, Mohit Sethi <mohit.m.sethi@ericsson.com>, draft-ietf-lwig-minimal-esp@ietf.org, lwig-chairs@ietf.org, IPsecME WG <ipsec@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000071abd705dd7ea07f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/lwip/__3EF_bxCqpty_3L97iOpzgZuH4>
Subject: Re: [Lwip] Paul Wouters' Discuss on draft-ietf-lwig-minimal-esp-08: (with DISCUSS and COMMENT)
X-BeenThere: lwip@ietf.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: "Lightweight IP stack. Official mailing list for IETF LWIG Working Group." <lwip.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lwip>, <mailto:lwip-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lwip/>
List-Post: <mailto:lwip@ietf.org>
List-Help: <mailto:lwip-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lwip>, <mailto:lwip-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 25 Apr 2022 18:20:24 -0000

Hi Paul,

Please find my response to your comments. The current version of the file
integrates the language changes as well as changes to address the concerns
of this thread:

https://github.com/mglt/draft-mglt-lwig-minimal-esp/commit/d7710c19802bdce4c978d71ad303b739e1406f1e

Yours,
Daniel

On Tue, Apr 12, 2022 at 5:10 PM Paul Wouters <paul.wouters@aiven.io> wrote:

>
> On Tue, Apr 5, 2022 at 10:09 PM Daniel Migault <mglt.ietf@gmail.com>
> wrote:
>
>> Hi Paul,
>>
>> Thanks for commenting. Please find my responses below.
>>
>> Section 2:
>>
>>>
>>> It suggests a partial SPI match can be used, based on the assumption that
>>> the SPI number is known to have mostly zeros because the device only uses
>>> a hardcoded limited set (eg 257 to 260). While this is true for the
>>> outbound
>>> SPI, this may not be true for the inbound SPI, especially if the peer is
>>> not
>>> a "minimal ESP" device but a regular multipurpose OS. I think some
>>> clarification
>>> is needed for this minimum implementation optimization.
>>>
>>>
>> I probably missed the comment. I understand that a partial SPI match
>> would mean that only a subset of bytes will be considered, but I cannot
>> find text that suggests it. I do not also see any mention of special values
>> for the SPI. I also understand from the comment that the text is suggesting
>> some SPI values but I cannot find what text suggests it - at least for a
>> very small subset.
>>
>
> This was based on:
>
>     The index may be based on
>     the full 32 bits of SPI or a subset of these bits.
>
>
> If you index it on a partial length, you need to have generated these as well with reduced length or else this operation would not provide unique indexes.
>
> And you are not generating the peer's SPI, so those indexes need to use the full 32 bit too.
>
> Perhaps you mean to say that for indexing your own generated SPIs, you might know you only need to look at a subset of bytes?
>
> Perhaps you can clarify the indexing sentence ?
>
> The SPI field (4 bytes) is decoupled between the SPI value (3 bytes) and a
rekey index (1 byte).

Here is the text that I believe addresses your concern:
"""
 Alternatively, some constrained devices will not implement IKEv2 or
Minimal IKEv2 and as such will not be able to manage a roll-over between
two distinct SAs. In addition, some of these constrained devices are also
likely to have a limited number of SAs - likely to be indexed over 3 bytes
only for example. One possible way to enable a rekey mechanism with these
devices is to use the SPI where for example the first 3 bytes designates
the SA while the remaining byte indicates a rekey index.

SPI numbers can be used to implement tracking the inbound SAs when rekeying
is taking place. When rekeying a SPI, the new SPI could use the SPI bytes
to indicate the rekeying index.
"""

>
>
>> [2]
>>>
>>> Section 2.1:
>>>
>>>        SPI that are not randomly generated over 32 bits may lead to
>>> privacy
>>>        and security concerns.
>>>
>>> The "may lead to security concerns" would be something that at the very
>>> least needs
>>> to be understood and specified in the Security Considerations section.
>>> If it is too
>>> difficult to determine the concerns, perhaps this optimization should be
>>> removed from
>>> the draft.
>>>
>>
>>
>>>
>>>        As a result, the use of alternative designs requires careful
>>> security
>>>        and privacy reviews.
>>>
>>> If it is known this proposal requires careful security reviews, were
>>> these done? If
>>> so, why not replace this warning of danger with the actual output of
>>> those reviews?
>>> If reviews were not done, it would imply this document hasn't fully
>>> worked out its
>>> Security Considerations.
>>>
>>
>> The concerns are explicitly mentioned in this section with what needs to
>> be considered.
>>
>
> This is mostly a language problem then. When a document states " the use
> of alternative designs requires careful security and privacy reviews",
> it implies the reader needs to do these themselves and these were not part
> of the document. I had given some language improvement suggestions
> separately that might cover this? If not, please clarify this issue.
>
> current text is:

"""
 As a result, the use of alternative designs requires careful security and
privacy reviews.
"""



> [3]
>>>
>>>        SPI can typically be used to implement a key update
>>>
>>> What is a "key update" in this context? It seems this section is
>>> suggesting to use
>>> part of the SPI octet space to signal things to another part of the code
>>> on the device?
>>> If so, would that code part then clear out those overloaded SPI octets
>>> or would they go
>>> (unencrypted!) over the network for everyone to see?
>>>
>>> The text says:
>> """
>> SPI can typically be used to implement a key update with the SPI
>> indicating the key is being used.
>> For example, a SPI might be encoded with the Security Association
>> Database (SAD) entry on a subset of bytes (for example 3 bytes), while
>> the remaining byte indicates the rekey index.
>> """
>>
>> The last byte of the SPI indicates the key index and as the SPI is
>> unencryted.
>>
>
> I know what the text says, but that text is not clear. Please clarify or
> expand what "key update" is.
>

The text here seems clearer:
"""
 Alternatively, some constrained devices will not implement IKEv2 or
Minimal IKEv2 and as such will not be able to manage a roll-over between
two distinct SAs. In addition, some of these constrained devices are also
likely to have a limited number of SAs - likely to be indexed over 3 bytes
only for example. One possible way to enable a rekey mechanism with these
devices is to use the SPI where for example the first 3 bytes designates
the SA while the remaining byte indicates a rekey index.

SPI numbers can be used to implement tracking the inbound SAs when rekeying
is taking place. When rekeying a SPI, the new SPI could use the SPI bytes
to indicate the rekeying index.
"""

>
>
>>
>>
>>> [4]
>>>
>>>        While the use of randomly generated SPIs may reduce the leakage or
>>>        privacy of security related information by ESP itself, these
>>>        information may also be leaked otherwise.
>>>
>>> This is not a strong argument. This sentence and the entire paragraph
>>> really seem to
>>> want to say something like "if you can see the network packets, the
>>> information
>>> leak would already be present by seeing the encrypted traffic,
>>> irrespective of
>>> whether the SPI is truly random or selected in a way that identifies the
>>> manufacturer"
>>>
>>>
>> The text says random SPI does not guarantee privacy sensitive information
>> is not leaked.
>>
>
> That sentence (and the entire paragraph) don't really make any concrete
> good statement. I tried to paraphrase a better one above. If you think I
> misinterpreted your words,
> please provide a clearer text for the draft.
>

 I think the text has been removed.

>
>
>>
>>
>>> [5]
>>>
>>>        The security of all data
>>>        protected under a given key decreases slightly with each message
>>>
>>> I do not know of a generic claim like this for ESP. Can a reference be
>>> provided?
>>>
>>
>> It seems like a generic property for cryptographic keys. Quoting the
>> security consideration of RFC4106:
>> """
>>
>> The other consideration is that, as with any encryption mode,
>>
>> the security of all data protected under a given security
>>
>> association decreases slightly with each message.
>>
>> """
>>
>>
> Ok, it is a bit of an open door, and not really information that an
> implementer can do anything with, but consider this issue resolved.
>
>
> In general, rekeying is done to avoid decrypting previous traffic in case
>>> of a key compromise.
>>> Or perhaps you mean the limits of algorithms like AES_CBC (or 3DES) with
>>> respect to
>>> birthday and collision attacks? eg the commonly used maximum of 2^32-1
>>> crypto operations
>>> (which is not the same as maximum packets)
>>>
>>> In these cases, the SN is only relevant for very high speed links, eg
>>> gbps and would never
>>> apply to an IoT device that requires minimal ESP.
>>>
>>
>> There is also the case, where an IoT device is provisioned with a
>> lifetime key in which case the key will be used as long as the device is
>> alive. This addresses a comment from Nancy as far as I remember and I agree
>> with her.
>>
>
> If you send 1 packet per second, and use the SN to represents seconds
> since SA established, you have 136 years for your constrained device.
> Anyway, this discussion does not matter as it was just my text trying to
> explain the previous item, which I said can be considered resolved.
>
>

>
>
>>
>>> [6]
>>>
>>> As noted in the TSVART review:
>>>
>>>        Also, for devices that spend significant time sleeping, the SN
>>>        would jump hugely on first waking. That shouldn't require any
>>>        larger window (unless a stale packet from prior to the sleep was
>>>        only released after a new packet on waking). But the receiver
>>>        would need to be able to somehow detect massive jumps in the high
>>>        order bits that are not communicated in the SN field.
>>>
>>> Perhaps the document can add more specific detail on how to use the
>>> commonly
>>> implemented time values into valid SNs that avoid ESN issues ?
>>>
>>>
>>> The implementation itself will depend on the application - especially if
>> other mechanisms than those implemented by the incrementation counter are
>> needed. Maybe you can let me know what additional text you expect ?
>>
>
> Think of an implementer that is not aware of what application will run on
> this constrained device with IPsec stack. How should they implement SN's?
> That is the advise that is missing in this document.
>

I added:
"""
The RECOMMENDED way for multipurpose ESP implementation is to increment a
counter for
each packet sent.
"""

>
>
>> """
>> Of course, one should only consider use of a clock to generate SNs if the
>> application will inherently ensure that no two packets with a given SA are
>> sent with the same time value.
>> Note however that standard receivers are generally configured with
>> incrementing counters and, if not appropriately configured, the use of a
>> significantly larger SN difference may result in the packet out of the
>> receiver's windows and that packet being discarded.
>> """
>>
>
> While this is a slight hint to an implementer, it is not enough for them.
> Why not give them better advise?
>

This seems heavily dependent on the application. What stronger advice
would you have in mind ?

>
> [7]
>>>
>>>        so the constrained device may not proceed to such checks
>>>
>>> The language issue here inverts the meaning. What is meant is "so the
>>> constrained device
>>> may omit such checks"
>>>
>>
>>  I agreed and changed it.
>>
>
> Resolved.
>
>
>>
>>> [8]
>>>
>>>        TFC has not yet being widely adopted for standard ESP traffic.
>>>
>>> It is widely implemented (eg in Linux). I agree that using it seems rare.
>>> I am not convinced the reason for this is as is written. The issue I
>>> think
>>> more relates to deciding to what size to pad. The easiest is to use the
>>> MTU,
>>> but due to various encapsulation techniques (ESPinUDP, PPP-OE) it is not
>>> always
>>> clear what the MTU of the IPsec link is. And path MTU discovery with
>>> IPsec does
>>> not really work in practice.
>>>
>>
> Note that by comment was regarding the "adopted". This can be interpreted
> as "implemented" or "used".
> Perhaps just change adopted to deployed? And change "not yet" as I presume
> you have no expection
> for this to change in the future ?
>

I added your suggestion:

"""
TFC has been widely implemented but it is not widely deployed for ESP
traffic.
"""

>
>
>>
>>> But if the application/device tends to send packets between 1 and say
>>> 125 bytes,
>>> it could always pad to 125 to not leak any information by packet size.
>>> The question
>>> on when to do this or not really depends on the traffic being protected.
>>> And if this
>>> the case, then it might be best to let the IKEv2 negotiation determine
>>> whether or not
>>> to use this - just like regular use of TFC.
>>>
>>> Regardless, TFC is optional and a minimum implementation can just omit
>>> it. Since
>>> this document would also be combined with efforts reducing sending bytes
>>> to
>>> preserve energy, it would make sense to avoid using TFC padding.
>>> Especially for sensors
>>> that for example just always send a one byte temperature value to begin
>>> with.
>>>
>>>        Such information could be used by the attacker in case a
>>> vulnerability is
>>>        disclosed on the specific device.
>>>
>>> I don't think "vulnerability" here is the issue. It could lead to
>>> exposing the size
>>> of the original packet being protected by IPsec, which could (or could
>>> not) leak
>>> information to an observer on the network.
>>>
>>
>> What I meant is that traffic shaping can be used to identify the device,
>> which could be useful when such a device is known to be vulnerable.
>> The vulnerability comes after traffic shaping has been performed (see also
>> first section).
>>
>
> Then just omit the "in case a vulnerability is disclosed". Just say the
> information could be used.
>
> Separate note, I personally find "traffic shaping" a confusing term as it
> seems to be used for different things.
>
>  I believe that providing an example on how the information can be used is
rather clarifying. The current text says:
"""
Such information can be used, for example, by an attacker in case a
vulnerability is known for the specific device or application.
"""
traffic shaping has been removed.


>
>>
>>> [9]
>>>
>>>        a minimal ESP implementation may not generate such dummy packet.
>>>
>>> I think what is meant is "MUST NOT generate".
>>>
>>
>> MUST NOT requires RFC4303 to be updated and is probably too strong. I
>> have been asked to remove all normative text.
>>
>
> change "may not" to "may simple choose to never generate"
>
>
We have the text you proposed:

"""
An implementation can omit ever generating and sending dummy packets.
"""

> [10]
>>
>>>
>>> The Next Header Section is better named Dummy Packet. While it discusses
>>> the mandatory
>>> Next Header field, it really only states not to send Dummy Packets. But
>>> it almost reads
>>> as if the Next Header can be ignored or omitted.
>>>
>>>
>> This requires changing ESP and the text actually requires the Next Header
>> field to be read.
>> """
>> For interoperability, a minimal ESP implementation must discard dummy
>> packets without indicating an error.
>> """
>>
>
> I am not asking you to rename a term from RFC 4303. I am asking you to
> rename the section, as the section is
> really about the Next Header field value 59 only. (I did so in the
> language changes I sent you separately)
>
>
I took your wording.

> [11]
>>>
>>>        4.  Avoid Padding by sending payload data which are aligned to
>>>            the cipher block length - 2 for the ESP trailer.
>>>
>>> Isn't this advise just moving the padding from the IPsec layer to the
>>> application
>>> layer? Eg the packet size or energy use would not be different if one
>>> implements
>>> this advise?
>>>
>>
>> You are correct, sending padding versus application bytes does not change
>> power consumption. However, not sending padding bytes ensures you only
>> carry application information - and as such do not have an extra radio
>> frame to carry a padding.
>>
>
> but if "only application data" includes "padded application data", then
> there would not be an extra radio frame? The block cipher size needs to be
> a certain size. If there is not enough
> application data, it is padded to make it so. If an application needs to
> send 14 bytes, I don't think it matters that it will add 2 dummy bytes at
> the application layer to "avoid padding" in
> the IPsec code. And what is send over the wire is the same regardless the
> solution, the 16 byte block size ?
>
> Perhaps rephrase this to say the application should attempt to avoid
> sending a number of bytes that is just over the blocksize, but then again
> that advise is kind of odd too, since
> the application should just not send more data than needed. Eg it could
> use compression if that would be more energy efficient than sending more
> radio frames. And that advise
> is already true for everything the application does, irrespective of
> IPsec. So the question remains, what is this statement trying to accomplish
> for a minimum ESP implementer to do?
>
>  The intention is to recommend maximizing the information bits sent, when
padding represent no additional information. In that sense CBC is likely
not to be recommended.

>  [12]
>
>>
>>> Would it be useful to be able to signal a "mininum ESP" via IKEv2? I can
>>> imagine a simple
>>> Notify could be used to signal this. A peer receiving this could then
>>> ensure it is
>>> behaving in a "minimum ESP" compatible way even if it is a multi-purpose
>>> OS.
>>>
>>>
>>> No. minimal ESP is compatible with the standard ESP as mentioned in the
>> abstrct / intro:
>>
>
> Yes, but the other end might use padding or dummy packets and you could
> tell the other end to please not do that because it still takes energy to
> receive and process these.
>
This seems to change the scope of minimal ESP.... probably good for an
extra minimal ESP... but as long as IKEv2 is supported, it might support
also these two features. That said, the removal of padding is probably
feasible using diet-esp.

>
>
>
>>
>> ----------------------------------------------------------------------
>>> COMMENT:
>>> ----------------------------------------------------------------------
>>>
>>>
>>> There is a bit excessive and inconsistent linking to RFC 4303 throughout
>>> the document. I think on first use of ESP the RFC can be referenced, but
>>> further the document can just talk about ESP without keeping links to
>>> RFC 4303.
>>> (I also thought there should not be any links in the abstract?)
>>>
>>> The document should maybe mention IPsec v3 is meant for "ESP". IPsec v3
>>> is a superset
>>> of IPsec v2. There is no compatibility issue because the "new" things in
>>> v3 are
>>> all negotiated via IKE.
>>>
>>>
>> The document is limited to ESP RFC4303.
>>
>>
>>> I don't understand "a form of partial sequence integrity", as integrity
>>> is a boolean - it passes or fails. I don't understand "partial"
>>>
>>> "a form of partial sequence integrity" is the abstract of RFC4303 which
>> defines ESP.
>>
>
>> RFC4303:
>> """
>>  ESP is used to provide confidentiality, data origin authentication,
>> connectionless
>>    integrity, an anti-replay service (a form of partial sequence
>>    integrity), and limited traffic flow confidentiality.
>>  """
>>
>
> In that case I would recommend using "an anti-replay service" without the
> term in brackets.
>
>
>
>
>> "it becomes crucial" is a bit weak. I would say it must be guaranteed
>>> that ESP on IoT remains interoperable with currently deployed ESP.
>>>
>>>        This may raise some privacy issues as an
>>>        observer is likely to be able to determine the constrained
>>> devices of
>>>        the network.
>>>
>>> This text might be better placed in a Privacy Considerations section.
>>>
>>> Privacy concerned are exposed within the SPI section. Splitting the
>> section into multiple sections will make the document harder to read.
>>
>>
>>> The term "traffic shaping" is used in the document to refer to traffic
>>> being
>>> padded (padding or TFC). Perhaps my personal exposure to Linux has
>>> caused me
>>> to think of "traffic shaping" to mean to control the speed or flow of
>>> traffic,
>>> and not meaning "modifying traffic size".
>>>
>>> Traffic shaping does not mean modifying traffic size.  I see traffic
>> shaping being used to describe optimization as well inferring activity from
>> the traffic.
>>
>
> I still advise against using this term, or to define the term as you use
> it somewhere in the introduction section.
>
> Paul
>


-- 
Daniel Migault
Ericsson