Skip to main content

Transmission of IPv6 Packets over Near Field Communication
draft-ietf-6lo-nfc-22

Note: This ballot was opened for revision 13 and is now closed.

Erik Kline
Yes
Francesca Palombini
(was Discuss) No Objection
Comment (2023-01-18 for -20) Sent for earlier
Thank you for addressing my DISCUSS.
Murray Kucherawy
No Objection
Comment (2022-12-28 for -19) Sent
Only a nit to point out beyond the thorough treatment already provided by others:

Section 4.7, typo: "IIPv6-over-NFC"
Paul Wouters
No Objection
Comment (2023-01-04 for -19) Not sent
I support Roman's DISCUSS and COMMENTS.
Roman Danyliw
(was Discuss) No Objection
Comment (2023-02-02 for -20) Sent
Thanks for addressing my DISCUSS feedback.

** Section 3.4.  Most of these normative statement appear to be restatements of Section 4.5.2 of NFC Forum’s LLCP version 1.4.  The style of this document seems to be specifying behavior that is in fact already specified authoritatively elsewhere.

** Section 7.
   Ad-hoc secure data transfer can be established between two
   communication parties without any prior knowledge of the
   communication partner.  Ad-hoc secure data transfer can be vulnerable
   to Man-In-The-Middle (MITM) attacks.  Authenticated secure data
   transfer provides protection against Man-In-The-Middle (MITM)
   attacks.  In the initial bonding step, the two communicating parties
   store a shared secret along with a Bonding Identifier.  For all
   subsequent interactions, the communicating parties re-use the shared
   secret and compute only the unique encryption key for that session.
   Secure data transfer is based on the cryptographic algorithms defined
   in the NFC Authentication Protocol (NAP).

-- This entire text is cut-and-paste from Section 3.2.5 of NFC Forum LLC.  Given that this text is used verbatim shouldn’t it be cited?

-- If the text is going to be restated, in the spirit of inclusive language, please consider alternative language to “MiTM”.
Warren Kumari
No Objection
Comment (2019-03-14 for -13) Sent
I apologize - I've read the document, but it doesn't seem like it contains enough information to allow a full implementation.

The document keeps talking about the fact that the range is limited to 10cm, and makes some security assertions from this - from the little that I understand about this technology (and I wasn't able to follow all the references), ISO 15693 tags using NDEF are now part of the NFC specification - these  work up to 1M. I have no idea if this protocol is supposed to work over that, but if so, 1M is greater than 10cm.

Also, I see you did respond to the OpsDir review ( https://datatracker.ietf.org/doc/review-ietf-6lo-nfc-12-opsdir-lc-wu-2018-12-19/ -- thank you very much, Qin) , but there are things in these which don't seem fully addressed. As an example, Qin asked:
----
 Section 3.4 said ” the MTU size in NFC LLCP MUST be calculated from the MIU
   value as follows:
                             MIU = 128 + MIUX.”
Can you provide formula to calculate MTU from MIU? Not clear how MTU is related to MIU? 
---

You responded: "YH >> Actually, MIU is the same as MTU. Specifications in NFC forum use 'MIU', and we use 'MTU'. But these two has the same meaning."

I read version 13 of this document and had the exact same question -- how do I calculate the MTU from the MIU? If they really are the same thing (which I'm not sure they are), the document should state that, so readers can more easily implement.
Zaheduzzaman Sarker
(was Discuss) No Objection
Comment (2023-02-28 for -21) Sent
Thanks for addressing the TSVART review comments and my discuss.
Éric Vyncke
(was Discuss) No Objection
Comment (2023-01-12 for -20) Sent
Thanks for addressing my previous DISCUSS & COMMENT issues (https://mailarchive.ietf.org/arch/msg/6lo/plJVoupDzqryxS93tYY8Wbyr5-8/ ).

Thanks as well for the hard work.

Regards

-éric
John Scudder
Abstain
Comment (2022-12-14 for -19) Sent for earlier
# John Scudder, RTG AD, comments for draft-ietf-6lo-nfc-19
CC @jgscudder

(Updated December 14 -- thanks to the authors for sharing the base spec. I'll re-do my review using it, but need more time, so I am hitting DEFER.)

This document seems promising and needed, but as noted below, I think it still needs work before it should advance. I support Lars's DISCUSS -- as noted below, lack of the foundational Normative reference prevented me from being able to complete a meaningful review of this document. I notice this point was raised in a DISCUSS by Eric Rescorla in 2019, I'm surprised it hasn't been addressed. I do see in the shepherd write-up that "Access to the NFC spec has been available for those that have needed it" but regrettably, it's not clear how this is accomplished. 

## COMMENTS

### General

I agree with Warren's observation that "it doesn't seem like [the document] contains enough information to allow a full implementation". Addressing the specific comments below would be helpful, but not sufficient to address that concern, but lacking the [LLCP-1.4] spec it's difficult to be more specific. Because I feel unable to properly evaluate the document's fitness, I'm balloting ABSTAIN.

The shepherd write-up tells us that "An implementation of 6lo-NFC exists and they participated on a 6lo plugtests". I can only guess that the implementors benefit from being experts who know what to read between the lines, whereas reviewers such as myself can read only what's written in the document. 

### Section 3.2, remove "such as"

"The LLC contains three components, such as Link Management, Connection-oriented Transmission, and Connectionless Transmission."

The "such as" seems wrong here. I guess you mean "namely", or you could just remove "such as" and not replace it with anything.

### Section 3.4, "transported to an I PDU"

"As mentioned in Section 3.2, when an IPv6 packet is transmitted, the packet MUST be passed down to LLCP of NFC and transported to an I PDU of LLCP of the NFC-enabled peer device."

Do you mean "... and transported in an I PDU of LLCP *to* the NFC-enabled peer device"?

### Section 3.4, mystery bits 1011

Figure 2 shows a field, labeled "1011", occupying bits 16 through 21. It's not clear what this means. It's not discussed in the text. One might imagine it's just a field value mandated by [LLCP-1.4], but in that case one would imagine it would depict a 6-bit string, since the field it's occupying is six bits. What is going on there? I would refer to [LLCP-1.4] to try to find out, but as mentioned, it isn't available for review.

What's more, the labeling appears to conflict with the text that says "the unused bits in the TLV Value field MUST be set to zero".

### Section 3.4, how to fit eleven bits into a ten bit field

Still in Figure 2, we see the rightmost field labeled 0x0~0x7FF, and the paragraph following agrees that the field "MUST be encoded into the least significant 11 bits". But the ruler at the top shows the field extending from bit 22 to bit 31, a field of only 10 bits.

My guess is you drew the ruler wrong, and it was supposed to start at bit 21? But that would still leave the previous "1011" question open.

### Section 3.4, MUST be 0x480

"The MIUX value MUST be 0x480 to support the IPv6 MTU requirement (of 1280 bytes)" unambiguously mandates that MIUX must be exactly 0x480, no more and no less. I understand the "no less" part, as noted in the quote this is needed to support a 1280 byte MTU. However, IPv6 doesn't forbid offering a larger value than 1280. 

I'm guessing you left out an "at least", as in "MUST be at least 0x480". If you really intend to mandate that packets shall be no larger than 1280, please say why?

### Section 4.3 et seq, 6LBR, 6LR, 6LM

Please expand 6LBR, 6LR, 6LM on first use.

### Section 4.4, bullet 2 is hard to understand

I gave up trying to understand what this bullet means, I'm afraid I can't even hazard a guess at a rewrite. :-(

## NITS

### Section 7

"(i.e., ad-hoc mode and authenticated mode" 
                                          ^ does the missing closing parenthesis go here? 

## Notes

This review is in the ["IETF Comments" Markdown format][ICMF], You can use the
[`ietf-comments` tool][ICT] to automatically convert this review into
individual GitHub issues. 

[ICMF]: https://github.com/mnot/ietf-comments/blob/main/format.md
[ICT]: https://github.com/mnot/ietf-comments
Benjamin Kaduk Former IESG member
Discuss
Discuss [Treat as non-blocking comment] (2022-03-22 for -17) Sent for earlier
I attempted to review the changes from -13 to -17, as well as look at
the -17 in isolation, though I do not really have enough time available
to do a proper review before my term as AD expires.

I'm still worried that in general this document doesn't give a clear
picture of how all the pieces fit together, and which pieces are new
as opposed to reused from other specifications.

I do appreciate many of the updates made to streamline the introductory
text and keep it focused on what is relevant for this document.

I am also happy to see that use of MIUX has been made mandatory so that
the L2CAP FAR is not needed.  However, I do not see much justification
for the MUST-level requirement that the MIUX value be exactly 0x480.
Is there some reason to forbid the negotiation of larger link MTU, if
both parties are capable?  I would have expected only a requirement
that the MIUX value be at least 0x480.

Section 4.3 should probably provide some guidance on choosing the PRF
F().  We are implicitly relying on RFC 7217 for a lot of things, some of
which 7127 doesn't even cover, and the suggested construction in RFC
7127 may not still be best practice.

I think the figure in Section 3.4 that lays out the encoding of the
MIUX TLV is incomplete or inaccurate -- e.g., the third field shows
only four bits but the labels indicate it should occupy six bits,
and the range of values for the fourth field indicates it should occupy
eleven bits but the column labels give it only ten.

A section-by-section point as well:

Section 4.5

   o  When an NFC-enabled 6LN is directly connected to a an NFC-enabled
      6LBR, the NFC 6LN MUST register its address with the 6LBR by

How does the device know that it's talking NFC to a 6LBR as opposed to
some non-border-router peer?
Eric Rescorla Former IESG member
Discuss
Discuss [Treat as non-blocking comment] (2019-03-13 for -13) Sent
I am unable to adequately review this document because the first normative reference and hence this DISCUSS is incomplete (ordinarily this would conflict with the DISCUSS guidelines, but I believe it is necessary in this case).

   [LLCP-1.3]
              "NFC Logical Link Control Protocol version 1.3", NFC Forum
              Technical Specification , March 2016.

Does not appear to be publicly available (the web site contains a single-page PDF which reads in part "To view the complete specification, go to http://nfc-forum.org/our- work/specifications-and-application-documents/specifications/nfc-forum- technical-specifications/. Complete the license agreement, and then download the specification."). Please supply an unencumbered specification and then I can rereview.


I have read S 3.4 repeatedly, but am unable to work out the mapping of an IPv6 datagram to LLCP. Please provide a diagram that shows how this works and then perhaps I can assist you with the text.
Suresh Krishnan Former IESG member
Yes
Yes (for -13) Unknown

                            
Adam Roach Former IESG member
(was Discuss) No Objection
No Objection (2020-01-23 for -15) Sent for earlier
Thanks for addressing my DISCUSS point.
Alexey Melnikov Former IESG member
No Objection
No Objection (2019-03-13 for -13) Sent
I agree with Benjamin about antenna size. Despite that I have enjoyed reading this document. I have some questions/comments that I would like to discuss before recommending publication of this document as an RFC:

In 3.2:

   The LLCP consists of Logical Link Control (LLC) and MAC Mapping.  The
   MAC Mapping integrates an existing RF protocol into the LLCP
   architecture.  The LLC contains three components, such as Link
   Management, Connection-oriented Transmission, and Connection-less
   Transmission.  The Link Management component is responsible for
   serializing all connection-oriented and connection-less LLC PDU
   (Protocol Data Unit) exchanges and for aggregation and disaggregation
   of small PDUs.  This component also guarantees asynchronous balanced
   mode communication and provides link status supervision by performing
   the symmetry procedure.

Can you translate the last sentence for somebody who is not an expert in this?

In 4.4:

   The tool for a 6LBR to obtain an IPv6 prefix for numbering the NFC
   network is can be accomplished via DHCPv6 Prefix Delegation

I think "is" before "can be" should be deleted above.

   ([RFC3633]).

In 4.5:

   o  When two or more NFC 6LNs(or 6LRs) meet, there are two cases.  One
      is that three or more NFC devices are linked with multi-hop
      connections, and the other is that they meet within a single hop
      range (e.g., isolated network).  In a case of multi-hops, all of
      6LNs, which have two or more connections with different neighbors,
      MAY be a router for 6LR/6LBR.  In a case that they meet within a
      single hop and they have the same properties, any of them can be a
      router.  When the NFC nodes are not of uniform category (e.g.,
      different MTU, level of remaining energy, connectivity, etc.), a
      performance-outstanding device can become a router.

The last sentence: how can 2 NFC nodes figure out which one has higher level or remaining energy, etc?

In 4.7:

   Therefore, IPv6 header compression in [RFC6282] MUST be implemented.
   Further, implementations MAY also support Generic Header Compression
   (GHC) of [RFC7400].

Will 2 NFC implementations interoperate if one of them supports GHC and the other one doesn't?
If they can't, then "MAY" seems to be too weak here.


In 4.8:

   IPv6-over-NFC fragmentation and reassembly (FAR) for the payloads is
   NOT RECOMMENDED in this document as discussed in Section 3.4.

You are using "NOT RECOMMENDED", which is "SHOULD NOT". Why is this not a "MUST NOT" and why implementation of FAR would be Ok if one node supports it and another one doesn't?
Alissa Cooper Former IESG member
(was Discuss) No Objection
No Objection (2020-11-25 for -17) Sent
Thanks for addressing my DISCUSS points. Original COMMENT below:

= General =

I agree with Benjamin that the marketing-type language in the document should be removed.

I wonder about the claims of security based on proximity in this document. Presumably attacks in which users are induced to tap their device against another node or terminal which has been compromised by an attacker are becoming more common as NFC becomes more common; adding IPV6 connectivity to the terminal stack surely broadens the potential damage done in such a case. This seems worth noting.

= Section 1 =

OLD
It has been used in devices such as mobile phones, running Android operating
   system, named with a feature called "Android Beam".  In addition, it
   is expected for the other mobile phones, running the other operating
   systems (e.g., iOS, etc.) to be equipped with NFC technology in the
   near future.

NEW
At the time of this writing, it had been used in devices such as mobile phones, running Android operating
   system, named with a feature called "Android Beam".  It was expected for the other mobile phones, running the other operating
   systems (e.g., iOS, etc.) to be equipped with NFC technology in the
   near future.

= Section 4.5 =

Per the Gen-ART review, the use of the term "meet" is confusing in this section. Please re-phrase.
Alvaro Retana Former IESG member
No Objection
No Objection (for -13) Not sent

                            
Deborah Brungard Former IESG member
No Objection
No Objection (for -13) Not sent

                            
Lars Eggert Former IESG member
(was Discuss) No Objection
No Objection (2022-12-13 for -19) Sent for earlier
# GEN AD review of draft-ietf-6lo-nfc-19

CC @larseggert

## Comments

Thanks for making the LLCP-1.4 spec available to the IESG.

### Section 3.4, paragraph 7
```
     When the MIUX parameter is used, the TLV Type field MUST be 0x02 and
     the TLV Length field MUST be 0x02.  The MIUX parameter MUST be
     encoded into the least significant 11 bits of the TLV Value field.
     The unused bits in the TLV Value field MUST be set to zero by the
     sender and ignored by the receiver.
```
Figure 2 shows that the V field is split into 4 bits and 12 bits, not
11? Also, the four bits are not zero?

### DOWNREFs

DOWNREF `[RFC3756]` from this Proposed Standard to Informational `RFC3756`.
(For IESG discussion. It seems this DOWNREF was not mentioned in the Last Call
and also seems to not appear in the DOWNREF registry.)

### Inclusive language

Found terminology that should be reviewed for inclusivity; see
https://www.rfc-editor.org/part2/#inclusive_language for background and more
guidance:

 * Term `man`; alternatives might be `individual`, `people`, `person`

## Nits

All comments below are about very minor potential issues that you may choose to
address in some way - or ignore - as you see fit. Some were flagged by
automated tools (via https://github.com/larseggert/ietf-reviewtool), so there
will likely be some false positives. There is no need to let me know what you
did with these suggestions.

### Typos

#### Section 3.1, paragraph 1
```
-    is used for IPv6 over NFC.
-    ^^
+    MUST be used for IPv6 over NFC.
+    ^^^^^^^
```

### Outdated references

Reference `[RFC3633]` to `RFC3633`, which was obsoleted by `RFC8415` (this may
be on purpose).

### Grammar/style

#### Section 4.2, paragraph 4
```
pology. NFC supports mesh topologies but most of all applications would use a
                                    ^^^^
```
Use a comma before "but" if it connects two independent clauses (unless they
are closely connected and short).

## Notes

This review is in the ["IETF Comments" Markdown format][ICMF], You can use the
[`ietf-comments` tool][ICT] to automatically convert this review into
individual GitHub issues. Review generated by the [`ietf-reviewtool`][IRT].

[ICMF]: https://github.com/mnot/ietf-comments/blob/main/format.md
[ICT]: https://github.com/mnot/ietf-comments
[IRT]: https://github.com/larseggert/ietf-reviewtool
Mirja Kühlewind Former IESG member
No Objection
No Objection (2019-03-13 for -13) Sent
1) I agree with Benjamin's discuss point on sec 3.4: there seems to be a mismatch between the text and the figure that needs to be resolved or clarified before publication.

2)Use of normative language doesn't always seem quite appropriate, especially SHALL. Benjamin already identified some cases in section 3.3. 

Here is an additional one in sec 4.1:
"The adaptation layer for IPv6 over NFC SHALL support neighbor
   discovery, stateless address auto-configuration, header compression,
   and fragmentation & reassembly."

Also this MAY in sec 5.2:
"In an isolated NFC-enabled device network,
   when two or more LRs MAY be connected with each other, and then they
   are acting like routers, the 6LR MUST ensure address collisions do
   not occur."

Please also check other occurrences.

3) I would have expected to see some discussion about the ability to potentially connect devices over an IP-gateway device to the Internet that were previously not designed to be connected to the Internet. However, maybe that's asked too much as that is certainly something that needs to be addressed by either a higher layer or the device system architecture as a whole.
Spencer Dawkins Former IESG member
No Objection
No Objection (2019-03-13 for -13) Sent
I support Alissa's second Discuss point about the plan for fragmentation interoperation, and her third Discuss point about connecting unsuspecting devices to the Internet :-) 

Other people have said this, but requiring MIUX would be awesome.