Skip to main content

Announcing Supported Authentication Methods in IKEv2
draft-ietf-ipsecme-ikev2-auth-announce-10

Yes

Roman Danyliw

No Objection

Erik Kline
Francesca Palombini
Jim Guichard
John Scudder
Zaheduzzaman Sarker

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

Paul Wouters
Yes
Comment (2024-04-17 for -09) Sent
Note that the IANA registry involved here was renamed since the latest draft was written :)

Notify Message Type  -> Notify Message Status Type

"IKEv2 Notify Message Types - Status Types" -> IKEv2 Notify Message Status Type

I wonder if it would make sense to somewhere explain that the authentication method refers to the AUTH payload,
but that a separate peer ID check with its X.509 identity might need to be done, for which the CA cert that signed
the EE cert could be using a different signature method? For example, the EE-cert could be using RSA-v1.5
while the AUTH payload could be using RSA-PSS. Or in some other way explain that peer ID proof checking is not "authentication"
as used in this document?
Roman Danyliw
Yes
Erik Kline
No Objection
Francesca Palombini
No Objection
Gunter Van de Velde
No Objection
Comment (2024-04-10 for -09) Not sent
Document reviewed: draft-ietf-ipsecme-ikev2-auth-announce-09.txt

Many thanks for this write-up. I see no issues from my side to progress this document.
During my review cycle i noted some observations that you may consider if you find beneficial

typos:
s/overriden/overridden/

[idnits] entries when runing idnits captured by shepherd review

Review comments:
14	   supported authentication methods to their peers while establishing
15	   IKEv2 Security Association (SA).  This mechanism improves

This draft is written for IKEv2, however would the proposed technology be used potentially by newer IKE flavors?
(as networking generalist i am unclear about dynamics of IKE evolutions). If the IKEv2 is 'always' implicit 
implied, then does it add value to mention IKEv2 here again? (i am ok with it either way, only questioning the extra characters in the abstract)

84	   selecting authentication credentials.  The problem may arise when
85	   there are several credentials of different types configured on one
86	   peer, while only some of them are supported on the other peer.

Not sure that saying "The problem" is accurate? there is added complexity or credential 
inconsistency, but by itself that is not a problem.

What about this rewrite suggestion to nail this down: 

"SA establishment failure between peers may arise when there are several credentials of different types
configured on one peer, while only some of them are supported on the other peer."

116	   When establishing IKE SA each party may send a list of authentication
117	   methods it supports and is configured to use to its peer.  For this

Here is mentioning of IKE and not IKEv2. was this intentional. Is there a benefit in being consistent in terminology wrt IKE vs IKEv2?

121	   the party sending it.  The sending party may additionally specify
122	   that some of the authentication methods are only for use with the
123	   particular trust anchors.  Upon receiving this information the peer

what does 'the' in the above phrase "**the** particular trust anchors" refer towards? 
(i am not so familiar with IKE so much, so am trying to understand how SUPPORTED_AUTH_METHODS is correlated, and trust anchors was not mentioned before. (i do assume its well known terminology though)

132	   message.  This notification contains a list of authentication methods
133	   supported by the responder, ordered by their preference.

how is this correlating towards the trust anchor mentioned in above comment?

287	   announcements for these methods.  Implementations MUST ignore
288	   announcements which semantics they don't understand.

s/which/with/

390	4.  Interaction with IKE Extensions concerning Authentication

is there a reason why IKE is mentioned instead of IKEv2 ?
Jim Guichard
No Objection
John Scudder
No Objection
Mahesh Jethanandani
No Objection
Comment (2024-04-10 for -09) Sent
Thanks to Reese Enghardt for the General Area Review Team (Gen-ART) review
to Rifaat for the SECDIR review, and to Marc for the ARTART review.

Section 3.1, paragraph 14
>    If the responder has sent any CERTREQ payload in the IKE_SA_INIT,
>    then it MUST re-send the same payload(s) in the IKE_INTERMEDIATE
>    response containing the SUPPORTED_AUTH_METHODS notification if any of
>    the included Announcements has a non-zero Cert Link field (see
>    Section 3.2.2 and Section 3.2.3).  This requirement allows peers to
>    have a list of Announcements and a list of CAs in the same message,
>    which simplifies their linking (note, that this requirement is always
>    fulfilled for the IKE_SA_INIT and IKE_AUTH exchanges).  However, if
>    for any reason the responder doesn't re-send CERTREQ payload(s) in
>    the IKE_INTERMEDIATE exchange, then the initiator MUST NOT abort
>    negotiation.  Instead, the initiator MAY either link the
>    Announcements to the CAs received in the IKE_SA_INIT response, or MAY
>    ignore the Announcements containing links to CAs.


I am a little puzzled by the MUST at the beginning of the paragraph which insists that CERTREQ payload should be sent in IKE_INTERMEDIATE response and the MUST NOT/MAY at the bottom of the paragraph, which seems to be ok with not re-sending the CERTREQ payload. Is it possible that the CERTREQ payloads are not re-send and at the same time they do not fit in IKE_SA_INIT (without being fragmented)?

The IANA review of this document seems to not have concluded yet.

No reference entries found for these items, which were mentioned in the text:
[RFCXXXX].

Possible DOWNREF from this Standards Track doc to [IKEV2-IANA]. If so, the IESG
needs to approve it.

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

 * Term "his"; alternatives might be "they", "them", "their"

-------------------------------------------------------------------------------
NIT
-------------------------------------------------------------------------------

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.

Section 1, paragraph 3

s/each peer uses/each peer use/

Section 3, paragraph 1
>    particular trust anchors.  Upon receiving this information the peer
>    may take it into consideration while selecting an algorithm for its
>    authentication if several alternatives are available.


This sentence does not parse for me. When it says, "the peer may take it into consideration while ...", I seem to be missing what needs to be taken into consideration.

Section 3.2, paragraph 6
>    If more authentication methods are defined in future, the
>    corresponding documents must describe the semantics of the
>    announcements for these methods.  Implementations MUST ignore
>    announcements which semantics they don't understand.


s/announcements which semantics/announcements whose semantics/

Reference [RFC2409] to RFC2409, which was obsoleted by RFC4306 (this may be on
purpose).

Section 1, paragraph 2
> or implementations, especially if so called hybrid schemes are used (e.g. se
>                                   ^^^^^^^^^
The expression "so-called" is usually spelled with a hyphen.

Section 3.1, paragraph 6
> E exchange, defined in [RFC9242] (i.e. the responder has received and is goin
>                                       ^^
It seems like there are too many consecutive spaces here.

Section 3.1, paragraph 8
> st to be sent in. This would allow to use IKE fragmentation [RFC7383] for lon
>                                    ^^^^^^
Did you mean "using"? Or maybe you should add a pronoun? In active voice,
"allow" + "to" takes an object, usually a pronoun.

"I", paragraph 6
>  field, and the Notify Message Type is set to <TBA by IANA>. The Notification
>                                     ^^^^^^
You have used the passive voice repeatedly in nearby sentences. To make your
writing clearer and easier to read, consider using active voice.

Section 3.2, paragraph 2
> uthentication methods are defined in future, the corresponding documents must
>                                   ^^^^^^^^^
The phrase "in future" is British English. Did you mean: "in the future"?

Section 3.2, paragraph 6
> ormat is used. This format allows to link the announcement with a particular
>                                   ^^^^^^^
Did you mean "linking"? Or maybe you should add a pronoun? In active voice,
"allow" + "to" takes an object, usually a pronoun.

Section 8.1, paragraph 5
> th-pq-composite-sigs-13>. Appendix A. Examples of Announcing Supported Authe
>                                      ^^
It seems like there are too many consecutive spaces here.

Section 8.2, paragraph 5
> 1), SIGNATURE(RSASSA-PSS:2), SIGNATURE(ECDSA:3)))} IKE_AUTH HDR, SK {IDi, CE
>                                       ^
It appears that a white space is missing.
Murray Kucherawy
No Objection
Comment (2024-04-18 for -09) Sent
The shepherd writeup says there are implementers, but no implementations.  Is that right?
Orie Steele
No Objection
Comment (2024-04-08 for -09) Sent
# Orie Steele, ART AD, comments for draft-ietf-ipsecme-ikev2-auth-announce-09 
CC @OR13

https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-ipsecme-ikev2-auth-announce-09.txt&submitcheck=True

## Comments

Thanks to Marc Blanchet for the ARTART review, and to Valery for addressing his feedback.

```
175	   then the responder MAY choose not to send actual list of the
176	   supported authentication methods in the IKE_SA_INIT exchange and
177	   instead ask the initiator to start the IKE_INTERMEDIATE exchange for
178	   the list to be sent in.
```

Why not "SHOULD not send..."?

```
189	   the SUPPORTED_AUTH_METHODS notification.  Otherwise, the initiator
190	   MAY start the IKE_INTERMEDIATE exchange just for this sole purpose by
191	   sending an empty IKE_INTERMEDIATE request.  The initiator MAY also
192	   indicate its identity (and possibly the perceived responder's
193	   identity too) by including the IDi payload (possibly along with the
194	   IDr payload) into the IKE_INTERMEDIATE request.  This information
195	   could help the responder to send back only those authentication
196	   methods, that are configured to be used for authentication of this
197	   particular initiator.  If these payloads are sent, they MUST be
198	   identical to the IDi/IDr payloads sent later in the IKE_AUTH request.
```

Why not SHOULD instead of MAY?

```
226	   HDR, SAi1, KEi, Ni -->
227	                                      <-- HDR, SAr1, KEr, Nr, [CERTREQ,]
228	                                          [N(SUPPORTED_AUTH_METHODS)()]

230	   HDR, SK {..., [IDi, [IDr,]]}  -->
231	                                      <-- HDR, SK {..., [CERTREQ,]
232	                                      [N(SUPPORTED_AUTH_METHODS)(...)] }
```

Is the "()" vs "(...)" significant, or meant to indicate the empty IKE_INTERMEDIATE ?
What does "(...)" expand to?

```
347	   Signature" (1), "DSS Digital Signature" (3), "ECDSA with SHA-256 on
348	   the P-256 curve" (9), "ECDSA with SHA-384 on the P-384 curve" (10)
349	   and "ECDSA with SHA-512 on the P-512 curve" (11).  Note however, that
350	   these authentication methods are currently superseded by the "Digital
351	   Signature" (14) authentication method, which has a different
```

I think you mean P-521 curve, also known as secp521r1.


## Nits

```
531	   This appendix shows some examples of announcing authentication
532	   methods.  This appendix is purely informative; if it disagrees with
533	   the body of this document, the other text is considered correct.
```

You will see errata filed either way...
I recommend omitting the second sentence.
Zaheduzzaman Sarker
No Objection
Éric Vyncke
No Objection
Comment (2024-04-11 for -09) Sent
# Éric Vyncke, INT AD, comments fordraft-ietf-ipsecme-ikev2-auth-announce-09

Thank you for the work put into this document.

Please find below some non-blocking COMMENT points (but replies would be appreciated even if only for my own education), and some nits.

Special thanks to Tero Kivinen for the shepherd's detailed write-up including the WG consensus and the justification of the intended status.

I hope that this review helps to improve the document,

Regards,

-éric


# COMMENTS (non-blocking)

## Abstract

As the I-D is about authentication methods, I wonder whether `with multiple different credentials` is the right wording, should it rather be "different authentication methods" ? (of course with some text repetition).

## Section 3.1

`Regardless of whether the notification is received,` may be I am mis-reading this, but why would the responder send the notification if the initiator does not care anyway ?

## Section 3.2

While the readers may guess some details, but let's be clear in a proposed standard I-D:

1) `Notification Data field` does not appear in figure 4
2) role of C flag and its value
3) value of Protocol ID
4) saying that reserved field must be set to 0 by sender and ignored on the receiver

## Section 3.2.1

Let's be crisp and specify that the length is in octets. 

Is there a registry for authentication method ? or should this specification be updated for every new authentication method ?

# NITS (non-blocking / cosmetic)

## Section 1

The last sentence of the 2nd paragraph is rather long and I think that "that" should be used in `the peer which supports wider range of`.

## Section 3.2.1

Missing closing parenthesis in the last paragraph.