RFC 9734

X.509 Certificate Extended Key Usage (EKU) for Instant Messaging URIs

πŸ“… published February 2025, from ietf

X.509 Certificate Extended Key Usage (EKU) for Instant Messaging URIs πŸ’–

Okay bestie, this one is a Standards Track doc from February 2025, written by R. Mahy (Rohan Mahy Consulting Services), and it's published under ISSN 2070-1721 πŸŽ€. The header doesn't list anything it obsoletes or updates, so it's standing on its own. It's an IETF document, so it has the IETF community's consensus behind it πŸ‘‘.

Abstract ✨

RFC 5280 defines a bunch of extended key purpose identifiers (KeyPurposeIds) for X.509 certificates. This doc adds an Instant Messaging (IM) identity KeyPurposeId that goes in the Extended Key Usage (EKU) extension of X.509 v3 public key certificates πŸ¦‹

Status of This Memo 🌸

This is an Internet Standards Track document.

It's a product of the Internet Engineering Task Force (IETF) and represents the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). For more on Internet Standards, check Section 2 of RFC 7841.

Info about the current status of this doc, any errata, and how to send feedback lives at https://www.rfc-editor.org/info/rfc9734 πŸ’…

Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please read these carefully, because they spell out your rights and restrictions for this doc. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Revised BSD License πŸ™ˆ

Table of Contents πŸ“

1.  Introduction
2.  Conventions and Definitions
3.  The IM URI EKU
4.  Security Considerations
5.  IANA Considerations
6.  References
  6.1.  Normative References
  6.2.  Informative References
Appendix A.  ASN.1 Module
Acknowledgments
Author's Address

1. Introduction πŸ¦‹

Okay so, Instant Messaging (IM) systems that use the Messaging Layer Security (MLS) [RFC9420] protocol can have per-client identity certificate credentials. A subjectAltName in these certs can be an IM URI [RFC3860] or an Extensible Messaging and Presence Protocol (XMPP) URI [RFC6121], for example ✨

Orgs might not want to issue certs for an IM client using a general KeyPurposeId like id-kp-serverAuth or id-kp-clientAuth. Why? Because those certs could get abused in a cross-protocol attack 😭

MLS credentials as they apply to IM are explained in [E2E-IDENTITY]. The More Instant Messaging Interoperability (MIMI) Working Group is expected to use these credentials a LOT πŸ”₯

2. Conventions and Definitions πŸ’œ

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. πŸŽ€

3. The IM URI EKU πŸ‘‘

This spec defines the KeyPurposeId id-kp-imUri, which may be included in certs used to prove the identity of an IM client. This EKU extension MAY, at the option of the certificate issuer, be either critical or non-critical. Issuer's choice, periodt πŸ’…

The OID arc and the id-kp-imUri value look like this:

id-kp  OBJECT IDENTIFIER  ::= {
  iso(1) identified-organization(3) dod(6) internet(1)
  security(5) mechanisms(5) pkix(7) kp(3) }

id-kp-imUri OBJECT IDENTIFIER ::= { id-kp 40 }

4. Security Considerations πŸ”₯

This one is serious, bestie, so listen up πŸ₯Ή

The security considerations of [RFC5280] apply to this document. The id-kp-imUri extended key purpose does not add new security risks. Instead, it reduces existing ones, because it gives you a way to tell whether a cert was generated to sign IM identity credentials. That's the whole glow-up πŸ¦‹

Issuers SHOULD NOT set the id-kp-imUri extended key purpose and an id-kp-clientAuth or id-kp-serverAuth extended key purpose together. Doing that would defeat the improved specificity you get from having an id-kp-imUri extended key purpose. Don't ruin your own bestie's security πŸ’€

5. IANA Considerations 🌈

IANA has registered the following OID in the "SMI Security for PKIX Extended Key Purpose" registry (1.3.6.1.5.5.7.3). This OID is defined in Section 3.

+=========+=============+============+
| Decimal | Description | References |
+=========+=============+============+
| 40      | id-kp-imUri | RFC 9734   |
+---------+-------------+------------+

                 Table 1

IANA has also registered the following ASN.1 [ITU.X690.2021] module OID in the "SMI Security for PKIX Module Identifier" registry (1.3.6.1.5.5.7.0). This OID is defined in Appendix A. 🧚

+=========+===============+============+
| Decimal | Description   | References |
+=========+===============+============+
| 113     | id-mod-im-eku | RFC 9734   |
+---------+---------------+------------+

                 Table 2

6. References πŸ“š

6.1. Normative References

[ITU.X680.2021] ITU-T, "Information Technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation", ITU-T Recommendation X.680, ISO/IEC 8824-1:2021, February 2021, https://www.itu.int/rec/T-REC-X.680.

[ITU.X690.2021] ITU-T, "Information Technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)", ITU-T Recommendation X.690, ISO/IEC 8825-1-2021, February 2021, https://www.itu.int/rec/T-REC-X.690.

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, https://www.rfc-editor.org/info/rfc2119.

[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R., and W. Polk, "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, https://www.rfc-editor.org/info/rfc5280.

[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, https://www.rfc-editor.org/info/rfc8174.

6.2. Informative References

[E2E-IDENTITY] Barnes, R. and R. Mahy, "Identity for E2E-Secure Communications", Work in Progress, Internet-Draft, draft-barnes-mimi-identity-arch-02, 4 February 2025, https://datatracker.ietf.org/doc/html/draft-barnes-mimi-identity-arch-02.

[RFC3860] Peterson, J., "Common Profile for Instant Messaging (CPIM)", RFC 3860, DOI 10.17487/RFC3860, August 2004, https://www.rfc-editor.org/info/rfc3860.

[RFC6121] Saint-Andre, P., "Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence", RFC 6121, DOI 10.17487/RFC6121, March 2011, https://www.rfc-editor.org/info/rfc6121.

[RFC9420] Barnes, R., Beurdouche, B., Robert, R., Millican, J., Omara, E., and K. Cohn-Gordon, "The Messaging Layer Security (MLS) Protocol", RFC 9420, DOI 10.17487/RFC9420, July 2023, https://www.rfc-editor.org/info/rfc9420.

Appendix A. ASN.1 Module πŸ§šβ€β™€οΈ

The following module follows the ASN.1 specs in [ITU.X680.2021] and [ITU.X690.2021]. Here it is, verbatim:

<CODE BEGINS>

IM-EKU
  { iso(1) identified-organization(3) dod(6) internet(1)
  security(5) mechanisms(5) pkix(7) id-mod(0)
  id-mod-im-eku (113) }

DEFINITIONS IMPLICIT TAGS ::=
BEGIN

-- OID Arc

id-kp OBJECT IDENTIFIER ::=
  { iso(1) identified-organization(3) dod(6) internet(1)
    security(5) mechanisms(5) pkix(7) kp(3) }

-- Extended Key Usage Values

id-kp-imUri OBJECT IDENTIFIER ::= { id-kp 40 }

END

<CODE ENDS>

Acknowledgments 🫢

Thanks to Sean Turner and Russ Housley for reviews, suggestions, corrections, and encouragement. Main character energy from both of them 🌸

Author's Address πŸ’–

Rohan Mahy Rohan Mahy Consulting Services Email: rohan.ietf@gmail.com

πŸ“¦ where this page comes from