rfc9140v2.txt   rfc9140.txt 
skipping to change at line 106 skipping to change at line 106
6.5. Downgrading Threats 6.5. Downgrading Threats
6.6. Protected Success and Failure Indications 6.6. Protected Success and Failure Indications
6.7. Channel Binding 6.7. Channel Binding
6.8. Denial of Service 6.8. Denial of Service
6.9. Recovery from Loss of Last Message 6.9. Recovery from Loss of Last Message
6.10. Privacy Considerations 6.10. Privacy Considerations
6.11. EAP Security Claims 6.11. EAP Security Claims
7. References 7. References
7.1. Normative References 7.1. Normative References
7.2. Informative References 7.2. Informative References
Appendix A. Exchanges and Events Per State Appendix A. Exchanges and Events per State
Appendix B. Application-Specific Parameters Appendix B. Application-Specific Parameters
Appendix C. EAP-NOOB Roaming Appendix C. EAP-NOOB Roaming
Appendix D. OOB Message as a URL Appendix D. OOB Message as a URL
Acknowledgments Acknowledgments
Authors' Addresses Authors' Addresses
1. Introduction 1. Introduction
This document describes a method for registration, authentication, This document describes a method for registration, authentication,
and key derivation for network-connected smart devices, such as and key derivation for network-connected smart devices, such as
skipping to change at line 795 skipping to change at line 795
3.3.2. Message Data Fields 3.3.2. Message Data Fields
Table 1 defines the data fields in the protocol messages. The in- Table 1 defines the data fields in the protocol messages. The in-
band messages are formatted as JSON objects [RFC8259] in UTF-8 band messages are formatted as JSON objects [RFC8259] in UTF-8
encoding. The JSON member names are in the left-hand column of the encoding. The JSON member names are in the left-hand column of the
table. table.
+===============+=================================================+ +===============+=================================================+
| Data Field | Description | | Data Field | Description |
+===============+=================================================+ +===============+=================================================+
| Vers, Verp | EAP-NOOB method versions supported by the EAP | | Vers, Verp | EAP-NOOB protocol versions supported by the EAP |
| | server and the protocol version chosen by the | | | server and the protocol version chosen by the |
| | peer. Vers is a JSON array of unsigned | | | peer. Vers is a JSON array of unsigned |
| | integers, and Verp is an unsigned integer. | | | integers, and Verp is an unsigned integer. |
| | Example values are "[1]" and "1", respectively. | | | Example values are "[1]" and "1", respectively. |
+---------------+-------------------------------------------------+ +---------------+-------------------------------------------------+
| PeerId | Peer identifier, as defined in Section 3.3.1. | | PeerId | Peer identifier, as defined in Section 3.3.1. |
+---------------+-------------------------------------------------+ +---------------+-------------------------------------------------+
| NAI, NewNAI | Peer NAI and server-assigned new peer NAI, as | | NAI, NewNAI | Peer NAI and server-assigned new peer NAI, as |
| | defined in Section 3.3.1. | | | defined in Section 3.3.1. |
+---------------+-------------------------------------------------+ +---------------+-------------------------------------------------+
skipping to change at line 942 skipping to change at line 942
Table 1: Message Data Fields Table 1: Message Data Fields
It is RECOMMENDED for servers to support both OOB channel directions It is RECOMMENDED for servers to support both OOB channel directions
(Dirs=3) unless the type of the OOB channel limits them to one (Dirs=3) unless the type of the OOB channel limits them to one
direction (Dirs=1 or Dirs=2). On the other hand, it is RECOMMENDED direction (Dirs=1 or Dirs=2). On the other hand, it is RECOMMENDED
that the peer selects only one direction (Dirp=1 or Dirp=2) even when that the peer selects only one direction (Dirp=1 or Dirp=2) even when
both directions (Dirp=3) would be technically possible. The reason both directions (Dirp=3) would be technically possible. The reason
is that, if value 3 is negotiated, the user may be presented with two is that, if value 3 is negotiated, the user may be presented with two
OOB messages, one for each direction, even though only one of them OOB messages, one for each direction, even though only one of them
needs to be delivered. This can be confusing to the user. needs to be delivered. This can be confusing to the user.
Nevertheless, the EAP-NOOB method is designed to also cope with the Nevertheless, the EAP-NOOB protocol is designed to also cope with the
value 3; in which case, it uses the first delivered OOB message. In value 3; in which case, it uses the first delivered OOB message. In
the unlikely case of simultaneously delivered OOB messages, the the unlikely case of simultaneously delivered OOB messages, the
protocol prioritizes the server-to-peer direction. protocol prioritizes the server-to-peer direction.
The nonces in the in-band messages (Ns, Np, Ns2, Np2) are 32-byte The nonces in the in-band messages (Ns, Np, Ns2, Np2) are 32-byte
fresh random byte strings, and the secret nonce Noob is a 16-byte fresh random byte strings, and the secret nonce Noob is a 16-byte
fresh random byte string. All the nonces are generated by the fresh random byte string. All the nonces are generated by the
endpoint that sends the message. endpoint that sends the message.
The fingerprint Hoob and the identifier NoobId are computed with the The fingerprint Hoob and the identifier NoobId are computed with the
skipping to change at line 1915 skipping to change at line 1915
Table 12: PeerInfo Data Fields Table 12: PeerInfo Data Fields
Assignment of new values for new PeerInfo data fields MUST be done Assignment of new values for new PeerInfo data fields MUST be done
through IANA with "Specification Required", as defined in [RFC8126]. through IANA with "Specification Required", as defined in [RFC8126].
5.6. Domain Name Reservation 5.6. Domain Name Reservation
The special-use domain "eap-noob.arpa" has been registered in the The special-use domain "eap-noob.arpa" has been registered in the
.arpa registry (https://www.iana.org/domains/arpa) and the "Special- .arpa registry (https://www.iana.org/domains/arpa) and the "Special-
Use Domain Names" registry (https://www.iana.org/assignments/special- Use Domain Names" registry (https://www.iana.org/assignments/special-
use-domain-names). No A, AAAA, or PTR records are requested. use-domain-names).
5.7. Guidance for Designated Experts 5.7. Guidance for Designated Experts
Experts SHOULD be conservative in the allocation of new Cryptosuites. Experts SHOULD be conservative in the allocation of new Cryptosuites.
Experts MUST ascertain that the requested values match the current Experts MUST ascertain that the requested values match the current
Crypto Forum Research Group (CFRG) guidance on cryptographic Crypto Forum Research Group (CFRG) guidance on cryptographic
algorithm security. Experts MUST ensure that any new Cryptosuites algorithm security. Experts MUST ensure that any new Cryptosuites
fully specify the encoding of the ECDHE public key and should include fully specify the encoding of the ECDHE public key and should include
details, such as the value of the "kty" (key type) parameter when JWK details, such as the value of the "kty" (key type) parameter when JWK
[RFC7517] encoding is used. [RFC7517] encoding is used.
skipping to change at line 2410 skipping to change at line 2410
identifiers and other information about the peer device (see identifiers and other information about the peer device (see
Table 6). While the information refers to the peer device and not Table 6). While the information refers to the peer device and not
directly to the user, it can leak information about the user to the directly to the user, it can leak information about the user to the
access network and to outside observers. The ServerInfo, on the access network and to outside observers. The ServerInfo, on the
other hand, can leak information about the peer's affiliation with other hand, can leak information about the peer's affiliation with
the home network. For this reason, the optional PeerInfo and the home network. For this reason, the optional PeerInfo and
ServerInfo in the Reconnect Exchange SHOULD be omitted unless some ServerInfo in the Reconnect Exchange SHOULD be omitted unless some
critical data has changed and it cannot be updated on the application critical data has changed and it cannot be updated on the application
layer. layer.
Peer devices that randomize their layer-2 address to prevent tracking Peer devices that randomize their Layer 2 address to prevent tracking
can do this whenever the user resets the EAP-NOOB association. can do this whenever the user resets the EAP-NOOB association.
During the lifetime of the association, the PeerId is a unique During the lifetime of the association, the PeerId is a unique
identifier that can be used to track the peer in the access network. identifier that can be used to track the peer in the access network.
Later versions of this specification may consider updating the PeerId Later versions of this specification may consider updating the PeerId
at each Reconnect Exchange. In that case, it is necessary to at each Reconnect Exchange. In that case, it is necessary to
consider how the authenticator and access-network administrators can consider how the authenticator and access-network administrators can
recognize and add misbehaving peer devices to a deny list, as well as recognize and add misbehaving peer devices to a deny list, as well as
how to avoid loss of synchronization between the server and the peer how to avoid loss of synchronization between the server and the peer
if messages are lost during the identifier update. if messages are lost during the identifier update.
skipping to change at line 2638 skipping to change at line 2638
DOI 10.1145/3321705.3329813, February 2019, DOI 10.1145/3321705.3329813, February 2019,
<https://arxiv.org/abs/1902.07550>. <https://arxiv.org/abs/1902.07550>.
[TLS-CWT] Tschofenig, H. and M. Brossard, "Using CBOR Web Tokens [TLS-CWT] Tschofenig, H. and M. Brossard, "Using CBOR Web Tokens
(CWTs) in Transport Layer Security (TLS) and Datagram (CWTs) in Transport Layer Security (TLS) and Datagram
Transport Layer Security (DTLS)", Work in Progress, Transport Layer Security (DTLS)", Work in Progress,
Internet-Draft, draft-tschofenig-tls-cwt-02, 13 July 2020, Internet-Draft, draft-tschofenig-tls-cwt-02, 13 July 2020,
<https://datatracker.ietf.org/doc/html/draft-tschofenig- <https://datatracker.ietf.org/doc/html/draft-tschofenig-
tls-cwt-02>. tls-cwt-02>.
Appendix A. Exchanges and Events Per State Appendix A. Exchanges and Events per State
Table 14 shows how the EAP server chooses the exchange type depending Table 14 shows how the EAP server chooses the exchange type depending
on the server and peer states. In the state combinations marked with on the server and peer states. In the state combinations marked with
hyphen "-", there is no possible exchange and user action is required hyphen "-", there is no possible exchange and user action is required
to make progress. Note that peer state 4 is omitted from the table to make progress. Note that peer state 4 is omitted from the table
because the peer never connects to the server when the peer is in because the peer never connects to the server when the peer is in
that state. The table also shows the handling of errors in each that state. The table also shows the handling of errors in each
exchange. A notable detail is that the recipient of error code 2003 exchange. A notable detail is that the recipient of error code 2003
moves to state 1. moves to state 1.
+=============+===============================+==================+ +=============+===============================+==================+
| Peer States | Exchange Chosen By the Server | Next Peer and | | Peer States | Exchange Chosen by the Server | Next Peer and |
| | | Server States | | | | Server States |
+=============+===============================+==================+ +=============+===============================+==================+
| Server State: Unregistered (0) | | Server State: Unregistered (0) |
+-------------+-------------------------------+------------------+ +-------------+-------------------------------+------------------+
| 0..2 | Initial Exchange | both 1 (0 on | | 0..2 | Initial Exchange | both 1 (0 on |
| | | error) | | | | error) |
+-------------+-------------------------------+------------------+ +-------------+-------------------------------+------------------+
| 3 | - | no change, | | 3 | - | no change, |
| | | notify user | | | | notify user |
+-------------+-------------------------------+------------------+ +-------------+-------------------------------+------------------+
skipping to change at line 2674 skipping to change at line 2674
| | | error) | | | | error) |
+-------------+-------------------------------+------------------+ +-------------+-------------------------------+------------------+
| 1 | Waiting Exchange | both 1 (no | | 1 | Waiting Exchange | both 1 (no |
| | | change on error) | | | | change on error) |
+-------------+-------------------------------+------------------+ +-------------+-------------------------------+------------------+
| 2 | Completion Exchange | both 4 (A) | | 2 | Completion Exchange | both 4 (A) |
+-------------+-------------------------------+------------------+ +-------------+-------------------------------+------------------+
| 3 | - | no change, | | 3 | - | no change, |
| | | notify user | | | | notify user |
+-------------+-------------------------------+------------------+ +-------------+-------------------------------+------------------+
| /server State: OOB Received (2) | | Server State: OOB Received (2) |
+-------------+-------------------------------+------------------+ +-------------+-------------------------------+------------------+
| 0 | Initial Exchange | both 1 (0 on | | 0 | Initial Exchange | both 1 (0 on |
| | | error) | | | | error) |
+-------------+-------------------------------+------------------+ +-------------+-------------------------------+------------------+
| 1 | Completion Exchange | both 4 (B) | | 1 | Completion Exchange | both 4 (B) |
+-------------+-------------------------------+------------------+ +-------------+-------------------------------+------------------+
| 2 | Completion Exchange | both 4 (A) | | 2 | Completion Exchange | both 4 (A) |
+-------------+-------------------------------+------------------+ +-------------+-------------------------------+------------------+
| 3 | - | no change, | | 3 | - | no change, |
| | | notify user | | | | notify user |
 End of changes. 8 change blocks. 
8 lines changed or deleted 8 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/