Skip to main content

Tunnel Extensible Authentication Protocol (TEAP) Version 1
draft-ietf-emu-rfc7170bis-22

Yes

(Paul Wouters)

No Objection

Jim Guichard
(Erik Kline)
(John Scudder)
(Zaheduzzaman Sarker)

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

Deb Cooley
No Objection
Comment (2024-05-27 for -17) Sent
These are all pretty picky comments.  I won't be upset if you choose to ignore some/all of them.


Section 3.11, para 2:  Part of the authentication process is to show that the server presenting the certificate holds the private key.  Presentation of a certificate is insufficient, it is the certificate validate (in TLS language) that matters.  I'm not asking you to change anything here, just pointing out a pet peeve.

Section 3.11, para 4: (because of my PKI background): "This ensures that the authenticated TEAP peer is in possession of the private key used to sign the certification request."  This is stated backwards, maybe "This ensures that the signed certificate request is being presented by an authenticated TEAP peer which is in possession of the private key."  But, this is very pedantic on my part.  

Section 3.11.2, para 2: "Alternatively, the supplied information could contain private data which should not be sent over a TLS 1.2 connection where that data would be exposed."  Since you have specified that TLS cipher suites that do not provide confidentiality MUST NOT be used (Section 3.2), this seems like a weird statement.  If you remove it, you can combine this paragraph with the next one.

Section 3.11.2, para 4:  It is not uncommon for a (private) CA to ignore some fields in the CSR and instead populate the certificate fields based on local policy.  I would add 'or modify' in addition to 'can refuse'.

Section 3.11.2, para 2-4:  Personally, I'd make this one paragraph.  It would tighten up the section a bunch and possibly make it easier to understand.

Section 3.11.2, para 5 and beyond:  Well it could be used for other purposes, except that you have specified in Section 3.3 that private CA SHOULD be used.  Personally, I'd remove the rest of this section, unless you are attempting a tutorial (and then I'd have other comments).

Section 4.2.12, para 2:  There is a lower case 'should' in first sentence, is that correct?  Second sentence, if a Result TLV w/ failure is sent, is it possible to ignore the deprecated TLV?  These two options appear to be at odds.  

Section 7.1, last sentence:  This would be clearer if you said 'both server and peer authentication' instead of 'mutual authentication'.  The normal assumption for 'mutual auth' is that the peer has to authenticate.  In this case, we need the server AND the peer to authenticate.

Section 7.5.1:  General comment:  Requiring (with a SHOULD) a private CA makes it harder for an 'on-path attacker' to impersonate a server - a good thing.

Appendix C: I like this section.  But there is some terminology that isn't explained.  '()' appears to be the contents of whatever message is being sent.  '[]' I have no idea, in TLS 1.3 it would signify encrypted messages, but clearly that can't be the case here (TLS server_key_exchange can't be encrypted). I like the ASCII art in Section C.1-C.10, not so much in C.11 on because it is harder to see which way the arrows point (less white space).

Deb
Éric Vyncke
No Objection
Comment (2024-05-30 for -17) Sent
I am relying on two directorate reviews for this document:

https://datatracker.ietf.org/doc/review-ietf-emu-rfc7170bis-17-dnsdir-telechat-weber-2024-05-24/ by Ralf Weber 

https://datatracker.ietf.org/doc/review-ietf-emu-rfc7170bis-16-intdir-telechat-song-2024-05-10/ by Haoyu Song (and I have not seen any reply to Haoyu's comments).

Alas, I had no opportunity to check whether all nits from https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-emu-rfc7170bis-17.txt are false positive.
Gunter Van de Velde
No Objection
Comment (2024-05-23 for -17) Sent
# Gunter Van de Velde, RTG AD, comments for draft-ietf-emu-rfc7170bis-17

Please find https://www.ietf.org/blog/handling-iesg-ballot-positions/ documenting the handling of ballots.


#GENERIC COMMENTS
#================
275	      authentication, or a vendor-specific authentication method.  Where
276	      the TLS connection is authenticated, the inner method could also
277	      be a PKCS exchange.

can the PKCS (Public Key Cryptography Standards) be expanded upon first usage?

291	   As discussed in [RFC9190] Section 2.1.7 and [RFC9427] Section 3.1,
292	   the outer EAP Identity SHOULD be an anonymous NAI Network Access
293	   Identifier (NAI) as descrived in [RFC7542], Section 2.4.  While

Twice usage of NAI in the phrase construct

s/descrived/described/

301	   Any inner identities (EAP or otherwise) SHOULD also follow the
302	   recommendations of [RFC9427] Section 3.1.

The recommendations are slightly tucked away in RFC9427 sec3.1
Maybe the phrase should be more explicit that its about the recommendations about inner identifies from 3.1 as that section handles more as only inner identities

335	   of the TEAP server, and handles the application data (inner methods,
336	   EAP, passwords, etc.) inside of the TLS tunnel.

Maybe my little knowledge about TEAP/EAP, but the application data mentioned here is all about security. Maybe it should be spelled out more explicit that this is data used by EAP?
Jim Guichard
No Objection
Roman Danyliw
(was Discuss) No Objection
Comment (2024-06-05 for -18) Sent
I have reviewed this document for GEN Area issues.

Thank you for addressing my COMMENT and DISCUSS feedback.
Paul Wouters Former IESG member
Yes
Yes (for -16) Unknown

                            
Erik Kline Former IESG member
No Objection
No Objection (for -17) Not sent

                            
Francesca Palombini Former IESG member
No Objection
No Objection (2024-05-28 for -17) Not sent
Thank you for the work on this document.

I mostly focused on the diff with RFC 7170: https://author-tools.ietf.org/iddiff?url1=rfc7170&url2=draft-ietf-emu-rfc7170bis-17&difftype=--html and have no objection to publication.
John Scudder Former IESG member
No Objection
No Objection (for -17) Not sent

                            
Orie Steele Former IESG member
No Objection
No Objection (2024-05-20 for -16) Sent
# Orie Steele, ART AD, comments for draft-ietf-emu-rfc7170bis-16 
CC @OR13

https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-emu-rfc7170bis-16.txt&submitcheck=True

Thanks for this document.

I'm not familiar with EAP or TEAP, please keep this in mind when reviewing my comments.

## Comments

### Why SHOULD use private CA?

```
561	   included, but their use is discouraged.  Systems SHOULD use a private
562	   Certification Authority (CA) for EAP in preference to public CAs.
```

Perhaps the answer is obvious to experts, but I wondered what interoperability issue this addresses.

### Why not MUST?

```
896	   Implementations SHOULD limit the permitted inner EAP methods to a
897	   small set such as EAP-TLS, EAP-MSCHAPv2, and perhaps EAP-pwd.  There
898	   are few reasons for allowing all possible EAP methods to be used in
899	   Phase 2.
```

I wonder if there are really any reasons to allow all possible methods, and what impact they have on interop.

### Updates RFC9427?

```
907	   methods which can tunnel other EAP methods.  As a result, this
908	   document updates [RFC9427].
```

Consider updating the abstract to reflect this:

```
20	   server.  This document obsoletes RFC 7170 [and updates RFC 9427].
```

### Can this MAY be strengthened to a SHOULD?

```
1142	      current inner method.  The side receiving a non-fatal Error TLV
1143	      MAY decide to start a new inner method instead or to send back a
1144	      Result TLV to terminate the TEAP authentication session.
```

### NAK TLV Optionality

```
1524	   optional, it can ignore the unsupported TLV.  It MUST NOT send a NAK
1525	   TLV for a TLV that is not marked mandatory.  If all TLVs in a message
1526	   are marked optional and none are understood by the peer, then a NAK
1527	   TLV or Result TLV could be sent to the other side in order to
1528	   continue the conversation.
```

This section might be improved by eliminating the double negative:

MUST NOT ... for .. not marked mandatory.

And also recommending either Result TLV or NAK TLV for the all optional case.

### Request-Action TLV

```
2084	      If multiple Request-Action TLVs are in the request and none of
2085	      them is processed, then the most fatal status should be used in
2086	      the Result TLV returned.  If a status code in the Request-Action
2087	      TLV is not understood by the receiving entity, then it should be
2088	      treated as a fatal error.
```

Since this is not SHOULD or MUST can this advice be ignored?

There are only 2 fatal errors listed so far.

Perhaps there should be a 2000-2999 error for Request-Action TLV status code not understood?, or simply say to use "2002 Unexpected TLVs Exchanged"?


```
2090	      After processing the TLVs or inner method in the request, another
2091	      round of Result TLV exchange would occur to synchronize the final
2092	      status on both sides.
```

I wonder if "would" is must, or MUST here?

### PAC TLV

```
2261	   [RFC7170] defined a Protected Access Credential (PAC) to mirror EAP-
2262	   FAST [RFC4851].  However, implementation experience and analysis
2263	   determined that the PAC was not necessary.  Instead, TEAP performs
2264	   session resumption using the NewSessionTicket message as defined in
2265	   [RFC9190] Section 2.1.2 and Section 2.1.3.  As such, the PAC TLV has
2266	   been deprecated.
```

When deprecated TLV are encountered, should they be handled any differently than non deprecated TLV?

Are there any Error TLV (info, warning, or fatal) that are recommended for processing deprecated TLV?

Is the guidance in Section 4.2.12 of RFC7170 unchanged in this update? 

## Nits

### anonymous NAI

```
291	   As discussed in [RFC9190] Section 2.1.7 and [RFC9427] Section 3.1,
292	   the outer EAP Identity SHOULD be an anonymous NAI Network Access
293	   Identifier (NAI) [RFC7542].  While [RFC3748] Section 5.1 places no
```

Perhaps this could be better phrased as:

"SHOULD be an anonymous Network Access Identifier (NAI) as described in Section 2.4 of RFC7542."

### Remove "with" ?

```

553	   dnsName attribute containing an FQDN string.  Server certificates MAY
554	   also include with a SubjectDN containing a single element, "CN="
```

### Trusted Anchor store

```
571	   *  when the peer has the Server's End Entity (EE) certificate pinned
572	      or loaded directly into it's Trusted Anchor store [RFC4949];
```

"Trusted Anchor store" is not defined in 4949, but "trust anchor information" is.

### Missing have?

```
605	   the authentication process.  It will therefore no way of correlating
```

### EAP-NAK vs NACK TLV

```
810	   Section 4.2.15 that contains the username and password.  If it does
811	   not wish to perform password authentication, then it responds with a
812	   NAK TLV indicating the rejection of the Basic-Password-Auth-Req TLV.
```

Section 3.1 inherits the term "EAP-Nak" from RFC7170.
Consider adding a parenthetical next to EAP-NAK explaining the relationship to NAK TLV.

### EMSK expand on first use

```
885	   an EMSK, and are vulnerable to on-path attacks.  The construction of
```

### use -> be ?

```
1089	   restarted, it is not clear when that would use useful (or used) for
```

### configuration flag : NOT recommended vs NOT RECOMMENDED

```
1176	   Peer implementations MUST be configured so that by default, the
1177	   current authentication session fails if the server cannot be
1178	   authenticated.  However, it is possible to have a configuration flag
1179	   which permits access to networks where the server cannot be
1180	   authenticated.  Such configurations are NOT recommended, and further
1181	   discussion is outside of the scope of this specification.
```

This configuration flag behavior sounds dangerous (or fun, or both).
Just double checking that "NOT recommended" is intentionally not BCP 14 language "NOT RECOMMENDED".
This might perhaps be clarified in security considerations, since this is the only occurrence of "configuration flag" in the document.

### degenerate (i.e. unsigned)

```
1231	   body of a PKCS#10 TLV (see Section 4.2.17).  The TEAP server issues a
1232	   Simple PKI Response using a PKCS#7 [RFC2315] degenerate (i.e.
1233	   unsigned) "Certificates Only" message encoded into the body of a
1234	   PKCS#7 TLV (see Section 4.2.16), only after an inner method has run
1235	   and provided an identity proof on the peer prior to a certificate is
1236	   being issued.
```

Consider reversing the parenthetical: ... issues a ... unsigned (i.e. degenerate) ...

You might also consider providing guidance (possibly in Section 4.2.16) on the ContentInfo value per the Notes in Section 9.1 of RFC2315.


### piggybacking

```
2158	   To allow piggybacking an EAP request or response with other TLVs, the
2159	   EAP-Payload TLV is defined, which includes an encapsulated EAP packet
2160	   and a list of optional TLVs.  The optional TLVs are provided for
```

Consider an alternative word.

### remove against?

```
3426	   TEAP implementations can mitigate against online "brute force"
```
Warren Kumari Former IESG member
No Objection
No Objection (2024-05-29 for -17) Sent
Thank you for writing this document; it is useful and important.

Also, thank you to Bo Wu for the Ops-Dir review (https://datatracker.ietf.org/doc/review-ietf-emu-rfc7170bis-15-opsdir-lc-wu-2024-03-11/) and Ralf Weber for the (multiple) DNSIR reviews (https://datatracker.ietf.org/doc/review-ietf-emu-rfc7170bis-16-dnsdir-telechat-weber-2024-04-29/), and to the author for addressing these.

My primary remaining comment is that Abstract for the document briefly should say *how* it updates RFC9427 - that way when someone reads RFC9427 they need only check this new document's Abstract to know if they need to read the whole document. I don't have great text to suggest, but perhaps something like: "This document obsoletes RFC 7170 and updates RFC 9427 by prohibiting resumption for the inner EAP methods" (*clearly* I'm not a TEAP/EAP/TLS person and so this will likely need to be edited).
Zaheduzzaman Sarker Former IESG member
No Objection
No Objection (for -17) Not sent