Transmission of IPv6 Packets over Near Field Communication
Extracted elements (27)
6LoWPAN techniques are applied to IPv6 over NFC because NFC shares characteristics with IEEE 802.15.4 networks — low power consumption, constrained devices, and limited overhead budgets — making existing 6LoWPAN compression, address autoconfiguration, and Neighbor Discovery optimizations directly applicable.
Fragmentation and reassembly is prohibited at the adaptation layer (unlike in RFC 4944 for IEEE 802.15.4) because the NFC LLCP MIU can be extended via the MIUX parameter to accommodate the full IPv6 minimum MTU of 1280 bytes, eliminating the need for link-layer fragmentation.
NFC's very short transmission range of 10 cm or less is considered to provide intrinsic security properties, as hidden NFC devices outside that range cannot receive NFC signals, making NFC inherently resistant to passive eavesdropping from a distance.
The 6-bit NFC SSAP address space is too short to directly form a collision-resistant IPv6 IID; therefore, the RID algorithm (RFC 7217) with SHA-256 is used, taking the SSAP as one input to generate a stable, opaque 64-bit IID that resists address scanning and correlation attacks.
IPv6 header compression for NFC is based directly on RFC 6282, which was originally defined for IEEE 802.15.4 networks. RFC 6282 does not define header compression for TCP; TCP can still be carried over IPv6/NFC but without header compression optimization.
Because NFC does not support multicast, the 6LBR MUST keep track of multicast listeners at NFC link-level granularity and MUST NOT forward multicast packets to 6LNs that have not registered as listeners for the relevant multicast groups.
For receiving Router Solicitations and Router Advertisements, NFC 6LNs MUST follow Sections 5.3 and 5.4 of RFC 6775. When an NFC device acts as a 6LR or 6LBR, it MUST follow Sections 6 and 7 of RFC 6775.
Header compression as defined in RFC 6282 is REQUIRED for IPv6 over NFC. All headers MUST be compressed according to RFC 6282 encoding formats. Implementations MUST also support Generic Header Compression (GHC) as described in RFC 7400.
IIDs for NFC-enabled devices MUST be 64-bit stable random identifiers (RIDs) generated using the algorithm in RFC 7217. The NFC Link-Layer Address (SSAP) MUST be used as the source of the Net_Iface parameter to the F() algorithm.
In order to send an IPv6 packet over NFC, the packet MUST be passed down to the LLCP layer of NFC and carried by an Information field in an LLCP Protocol Data Unit (I PDU).
IPv6 over NFC MUST NOT use fragmentation and reassembly (FAR) at the adaptation layer. Instead, the NFC link connection MUST be configured with an MIU size sufficient to support the IPv6 MTU requirement (1280 bytes), achieved by setting MIUX to 0x480.
Only the peer-to-peer mode of NFC allows bidirectional communication between two NFC-enabled devices. Therefore, the peer-to-peer mode MUST be used for IPv6 over NFC.
The 6LBR MUST ensure address collisions do not occur when multiple 6LNs are connected in a star topology, since 6LNs register their addresses with the 6LBR and the 6LBR checks for IPv6 address duplicates.
The LLCP MUST provide related information such as link-layer addresses to its upper layer for IPv6 addressing or address configuration. IPv6-LLCP Binding MUST transfer the SSAP and DSAP values to the IPv6-over-NFC Adaptation Layer.
The MIUX value MUST be 0x480 to support the IPv6 MTU requirement of 1280 bytes as specified in RFC 8200, yielding an effective MTU of 1280 bytes (128 + 0x480).
The secret key used in the RID generation algorithm SHOULD be at least 128 bits and MUST be initialized to a pseudorandom number per RFC 4086.
When an NFC 6LN is directly connected to a 6LBR, the 6LN MUST register its address with the 6LBR by sending a Neighbor Solicitation (NS) with the Extended Address Registration Option (EARO) per RFC 8505. Duplicate Address Detection (DAD) is not required in this case.
When generating IIDs, devices must mitigate threats including correlation of activities over time, location tracking, device-specific vulnerability exploitation, and address scanning. IPv6 over NFC uses RFC 7217 RIDs and short-lived connections with a different address per connection to reduce these risks.
All IPv6-over-NFC encapsulated datagrams are prefixed by a dispatch header. The only defined dispatch sequence is the LOWPAN_IPHC compressed IPv6 header (pattern 01 1xxxxx) followed by payload; no other IANA-assigned 6LoWPAN dispatch values apply.
NFC-enabled devices have two types of 6-bit addresses — SSAP (Source Service Access Point) and DSAP (Destination Service Access Point) — to identify service access points. Address values between 0x2 and 0x3f are assignable and can be used for generating IPv6 IIDs.
The IPv6 link-local address for an NFC-enabled device is formed by appending the 64-bit IID (a random stable identifier) to the prefix fe80::/64.
The MTU of the NFC link layer is determined by the MIU (Maximum Information Unit). The default MIU is 128 bytes; a larger MIU can be announced via an optional MIUX parameter, with the formula MTU = MIU = 128 + MIUX. The maximum LLCP MTU is 2175 bytes.
LLCP of NFC provides two modes for secure data transfer: ad hoc mode (no prior knowledge of partner, vulnerable to on-path attacks) and authenticated mode (uses a shared secret and Bonding Identifier established during initial bonding to protect against on-path attacks). Encryption uses a session key derived from the shared secret per NFC Authentication Protocol NAP-1.0.
Neighbor Discovery in unencrypted wireless NFC device networks may be susceptible to various threats as described in RFC 3756, including impersonation and redirection attacks.
The MIUX parameter is encoded as a TLV: Type field (1 byte, value 0x02), Length field (1 byte, value 0x02), and a 2-byte Value field where the MIUX value occupies the least significant 11 bits. Unused bits are set to zero by the sender and ignored by the receiver.
The Source/Target Link-Layer Address option for unicast address mapping carries the 6-bit NFC SSAP/DSAP in the least significant 6 bits, with the remaining octets zero-padded, in a fixed 8-byte (Length=1) option structure.
When a 16-bit short address is required, it MUST be formed by left-padding the 6-bit NFC SSAP (NFC Link-Layer Node Address) with zeros to fill 16 bits.