Skip to main content

X.509 Certificate Extended Key Usage (EKU) for 5G Network Functions
draft-ietf-lamps-nf-eku-05

Yes

Roman Danyliw

No Objection

Erik Kline
Jim Guichard
(Andrew Alston)
(Francesca Palombini)
(John Scudder)
(Robert Wilton)
(Warren Kumari)

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

Paul Wouters
Yes
Comment (2023-09-18 for -03) Sent
        In addition, the IANA repository "SMI Security for PKIX Extended Key Purpose"

You mean Registry, not repository?

        It's important to note that using the anyExtendedKeyUsage
        KeyPurposeId, as defined in Section 4.2.1.12 of [RFC5280], is
        generally considered a poor practice. This is especially true for
        publicly trusted certificates, whether they are multi-purpose
        or single-purpose, within the context of 5G systems and the 5G
        Core Service Based Architecture.

Why is it important to note? I would likely either remove the paragraph
or just reword it much simpler:

        KeyPurposeId properties are meant to limit the applicability of
        the certificate. The use of the anyExtendedKeyUsage KeyPurposeId
        would remove the use of this additional security property.

But if you are only trying to say "we obviously dont want to use
anyExtendedKeyUsage", then I think that is quite obvious and the entire
paragraph can be cut.  If this property is currently used because there
is no other KeyPurposeId that can be used and that's why it is currently
being used, perhaps that should be stated explicitly, eg "this document
defines new KeyPurposeId values that allow 5G systems to no longer need
to rely on the less secure anyExtendedKeyUsage KeyPurposeId".

       If the purpose of the issued certificates is not restricted, i.e.,
        the type of operations for which a public key contained in the
        certificate can be used are not specified, those certificates
        could be used for another purpose than intended, violating the
        CA policies, and increasing the risk of cross-protocol attacks.

I would remove "violating the CA policies" because if the CA signed without
specifying restrictions, you are not really violating their policies.

        Another example, if the purpose of the certificate is for the
        NF service consumer is to use it as a client certificate, the
        NF with this client certificate and corresponding private key
        must not be allowed to sign the CCA.

Doesn't the lack of X509v3 Basic Constraints CA:TRUE deal with this use
case already? So maybe this is not the best example, or if it is, perhaps
explain why the Basic Constraints CA: in itself isn't enough?

        Vendor-defined KeyPurposeIds used within a PKI governed
        by the vendor or a group of vendors typically do not pose
        interoperability concerns, as non-critical extensions can be
        safely ignored if unrecognized. However, using or misusing
        KeyPurposeIds outside of their intended vendor-controlled
        environment can lead to interoperability issues. Therefore, it is
        advisable not to rely on vendor-defined KeyPurposeIds. Instead,
        the specification defines standard KeyPurposeIds to ensure
        interoperability across various implementations.

I think this paragraph can be safely deleted. It is stating things that
are very obvious (there are multiple vendors in the telecom industry)
       This specification defines the KeyPurposeIds id-kp-jwt,
        id-kp-httpContentEncrypt, id-kp-oauthAccessTokenSigning for
        respectively [...]

I think you want to say:

        This specification defines the KeyPurposeIds id-kp-jwt,
        id-kp-httpContentEncrypt, id-kp-oauthAccessTokenSigning and
        uses these for respectively [...]

That makes it clear that these KeyPurposeIds are not just for 5G equipment.

        Applications verifying the signature of a Client Credentials
        Assertion (CCA) represented as JWT, decrypting JSON objects in
        HTTP messages between Security Edge Protection Proxies (SEPPs)
        using JWE or verifying the signature of an OAuth 2.0 access
        tokens for service authorization to grant temporary access
        to resources provided by NF producers using JWS MAY require
        corresponding KeyPurposeIds be specified by the EKU extension.

This is pretty unreadable. How about:

        Applications verifying the KeyPurposeIds id-kp-jwt, id-kp-httpContentEncrypt
        and id-kp-oauthAccessTokenSigning MAY require corresponding KeyPurposeIds
        be specified by the EKU extension.

The "MAY" here is also rather weak, and undoing the gains of using
these new KeyPurposeIds. Maybe "SHOULD" is better? Or perhaps some
additional text about greenfield deployments could say something like
"if the application knows clients are required to use these KeyPurposeIds,
it MUST require them being set".
Roman Danyliw
Yes
Erik Kline
No Objection
Jim Guichard
No Objection
Éric Vyncke
No Objection
Comment (2023-09-12 for -03) Sent
# Éric Vyncke, INT AD, comments for draft-ietf-lamps-nf-eku-03

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 one nit.

Special thanks to Russ Housley for the shepherd's detailed write-up including the WG consensus *but it lacks* the justification of the intended status. 

I hope that this review helps to improve the document,

Regards,

-éric

# COMMENTS

## 3GPP Liaison

While it does not seem that this draft specifies anything for the 3GPP (it is more like an IETF extension to an IETF specification used by 3GPP), I am curious to check whether an official review by 3GPP has been done via liaison statements (the shepherd only says `People that participate in the 3GPP have indicated that this document  will be referenced by future 3GPP standards.`)

## Abstract & Section 1

Is "5G System" a well-defined term ? Even if most readers would guess what it is. Should there be some explanation or a reference ? 

Is it limited to 3GPP use cases ? NF could have a broader scope that 3GPP.

## Section 1

Most probably because I am not an expert in this field, but the introduction does not seem to explain what this document is about. It provides the context though.

# NITS

## Section 3

CCA has already been expanded.
Andrew Alston Former IESG member
No Objection
No Objection (for -04) Not sent

                            
Francesca Palombini Former IESG member
No Objection
No Objection (for -03) Not sent

                            
John Scudder Former IESG member
No Objection
No Objection (for -03) Not sent

                            
Lars Eggert Former IESG member
No Objection
No Objection (2023-09-20 for -04) Sent
# GEN AD review of draft-ietf-lamps-nf-eku-04

CC @larseggert

Thanks to Elwyn Davies for the General Area Review Team (Gen-ART) review
(https://mailarchive.ietf.org/arch/msg/gen-art/MQz148ST9nIOc_fa4bQSjywrIPM).

## 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.

### Outdated references

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

### Grammar/style

#### Section 5, paragraph 1
```
poseId and Permitted KeyPurposeId by an relying party to permit or prohibit
                                     ^^
```
Use "a" instead of "an" if the following word doesn't start with a vowel sound,
e.g. "a sentence", "a university".

#### Section 5, paragraph 1
```
d and Permitted KeyPurposeId by an relying party to permit or prohibit combin
                                   ^^^^^^^
```
The verb "rely" requires the preposition "on" (or "upon").

## 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
Murray Kucherawy Former IESG member
No Objection
No Objection (2023-09-20 for -04) Sent
Question 11 of the shepherd writeup is incomplete.  (See Eric V.'s comment.)

The SHOULD in Section 3 is bare.  What's the interoperability or security impact if I don't do what it says?  Apart from that, it seems to me that you could almost get away with not even using BCP 14 in this document.

In Section 4, bullet 3, "Ku" should be "KU".
Robert Wilton Former IESG member
No Objection
No Objection (for -03) Not sent

                            
Warren Kumari Former IESG member
No Objection
No Objection (for -04) Not sent

                            
Zaheduzzaman Sarker Former IESG member
No Objection
No Objection (2023-09-20 for -03) Not sent
Thanks for working on this specification.