Hi,

I have several remarks regarding the current draft. These are primarily
minor issues, so you may choose to address them or disregard them and
proceed with the document.

One observation that I believe holds greater significance is that, in my
view, the ongoing validation of the certificate throughout an extended TLS
session is not a function of TLS itself, but rather a requirement of the
application. I think the text should be clearer on this point.

Additionally, I am curious about the necessity of presenting the complete
chain in a TLS exchange. Generally, I am questioning whether it would be
feasible to provide only the End Entity (EE) certificate and utilize
Authority Information Access (AIA) to obtain the complete chain, for
instance.

Other comments:



            TLS/DTLS 1.3 Profiles for the Internet of Things
                  draft-ietf-uta-tls13-iot-profile-17

Abstract

   RFC 7925 offers guidance to developers on using TLS/DTLS 1.2 for
   Internet of Things (IoT) devices with resource constraints. This

mglt: I am not sure we need to mention TLS 1.2

   document is a companion to RFC 7925, defining TLS/DTLS 1.3 profiles
   for IoT devices.  Additionally, it updates RFC 7925 with respect to
   the X.509 certificate profile and ciphersuite requirements.


1.  Introduction

...

   TLS 1.3 has been re-designed and several previously defined
   extensions are not applicable to the new version of TLS/DTLS anymore.
   The following features changed with the transition from TLS 1.2 to
   1.3:

   *  TLS 1.3 introduced the concept of post-handshake authentication
      messages, which partially replaced the need for the re-negotiation
      feature [RFC5746] available in earlier TLS versions.  However, the
      rekeying mechanism defined in Section 4.6.3 of [TLS13] does not
      provide post-compromise security (see Appendix E.1.5 of [TLS13]).
      Furthermore, post-handshake authentication defined in
      Section 4.6.2 of [TLS13] only offers client-to-server
      authentication.

mglt: isn't it client authentication ?

The "Exported Authenticator" specification, see
      [RFC9261], added support for mutual post-handshake authentication,
      but this requires the Certificate, CertificateVerify and the
      Finished messages to be conveyed by the application layer
      protocol, as it is exercised for HTTP/2 and HTTP/3 in
      [I-D.ietf-httpbis-secondary-server-certs].  Therefore, the
      application layer protocol must be enhanced whenever this feature
      is required.
   *  Rekeying of the application traffic secret does not lead to an
      update of the exporter secret (see Section 7.5 of [TLS13]) since
      the derived export secret is based on the exporter_master_secret
      and not on the application traffic secret.
   *  Flight #4, which was used by EAP-TLS 1.2 [RFC5216], does not exist
      in TLS 1.3.  As a consequence, EAP-TLS 1.3 [RFC9190] introduced a
      dummy message.

mglt: I think dummy is part of banned words.

   *  [RFC4279] introduced PSK-based authentication to TLS, a feature
      re-designed in TLS 1.3.  The "PSK identity hint" defined in
      [RFC4279], which is used by the server to help the client in
      selecting which PSK identity to use, is, however, not available
      anymore in TLS 1.3.
   *  Finally, ciphersuites were depreciated and the RSA-based key
      transport is not supported in TLS 1.3.  As a consequence, only a
      Diffie-Hellman-based key exchange is available for non-PSK-based
      authentication.  (For PSK-based authentication the use of Diffie-
      Hellman is optional.)

mglt: I suspect non-PSK-based means certificate based. It is my belief the
latest is clearer.

...

2.  Conventions and Terminology

...

3.  Credential Types

   TLS/DTLS allow different credential types to be used.  These include
   X.509 certificates and raw public keys, pre-shared keys (PSKs), and
   passwords.  The extensions used in TLS/DTLS differ dependencing on
   the credential types supported.

mglt: dependencing

   TLS/DTLS 1.3 supports PSK-based authentication, wherein PSKs can be
   established via session tickets from prior connections or via some
   external, out-of-band mechanism.  To distinguish the two modes, the
   former is called resumption PSK and the latter external PSK.  For
   performance reasons the support for resumption PSKs is often found in
   implementations that use X.509 certificates for authentication.

mglt: what about the external PSK ?

   A "plain" PSK-based TLS/DTLS client or server, which only implements
   support for external PSKs as its long-term credential, MUST implement
   the following extensions:

   *  Supported Versions,
   *  Cookie,
   *  Server Name Indication (SNI),
   *  Pre-Shared Key,
   *  PSK Key Exchange Modes, and
   *  Application-Layer Protocol Negotiation (ALPN).

mglt: my reading of teh text was that the extensions MUST be supported for
the purpose of supporting clients and server supporting external PSK
authentication. I actually believe that these options are also carried when
ECDHE or session resumption is handled. I THINK we should explicitly
mention these options can be carried by other clients.

   For use of external pre-shared keys [RFC9258] makes the following
   recommendation:





Tschofenig, et al.        Expires 21 April 2026                 [Page 5]

Internet-Draft          TLS/DTLS 1.3 IoT Profiles           October 2025


      Applications SHOULD provision separate PSKs for (D)TLS 1.3 and
      prior versions.

mglt: itemizing for a single recommendation may not be necessary. We shoudl
probably stick to external PSK.

   Where possible, the importer interface defined in [RFC9258] MUST be
   used for external PSKs.  This ensures that external PSKs used in
   (D)TLS 1.3 are bound to a specific key derivation function (KDF) and
   hash function.

   The SNI extension is discussed in this document and the justification
   for implementing and using the ALPN extension can be found in
   [RFC9325].

mglt: the paragraph does not add uch details. I believe it should simply
say ALPN is discuses in section XXX.

   An implementation supporting authentication based on certificates and
   raw public keys MUST support digital signatures with
   ecdsa_secp256r1_sha256.  A compliant implementation MUST support the
   key exchange with secp256r1 (NIST P-256) and SHOULD support key
   exchange with X25519.

mglt: I am surprised to find client ECDHE after we described PSK
authentication. I think what is missing in the begining is the mention that
IoT considers certificate and external PSK authentication. This would
clearly state which modes are considered. For now PSK + ECDHE combined is
not considered. It will also prepare the reader to get both types of
recommendations.

   For TLS/DTLS clients and servers implementing raw public keys and/or
   certificates the guidance for mandatory-to-implement extensions
   described in Section 9.2 of [RFC8446] MUST be followed.

mglt: is self signed cert considered as raw key ?

   Entities deploying IoT devices may select credential types based on
   security characteristics, operational requirements, cost, and other
   factors.  Consequently, this specification does not prescribe a
   single credential type but provides guidance on considerations
   relevant to the use of particular types.

4.  Error Handling

...

5.  Session Resumption

   TLS 1.3 has built-in support for session resumption by utilizing PSK-
   based credentials established in an earlier exchange.


mglt: The section looks very strange. I suspect the reason is that you
follow the TLS 1.2 structure. Please make it explicit.






Tschofenig, et al.        Expires 21 April 2026                 [Page 6]

Internet-Draft          TLS/DTLS 1.3 IoT Profiles           October 2025


6.   Compression

...

   With regards to the handshake itself, various strategies have been
   applied to reduce the size of the exchanged payloads.  TLS and DTLS
   1.3 use less overhead, depending on the type of key confirmations,
   when compared to previous versions of the protocol.  Additionally,
   the work on Compact TLS (cTLS) [I-D.ietf-tls-ctls] has taken
   compression of the handshake a step further by utilizing out-of-band
   knowledge between the communication parties to reduce the amount of
   data to be transmitted at each individual handshake, among applying
   other techniques.

mglt: In it current form, it is suprising to have a section to mention TLS
1.3 does not support the property.

7.   Forward Secrecy

   RFC 8446 has removed Static RSA and Static Diffie-Hellman cipher
   suites, therefore all public-key-based key exchange mechanisms
   available in TLS 1.3 provide forward secrecy.

   Pre-shared keys (PSKs) can be used with (EC)DHE key exchange to
   provide forward secrecy or can be used alone, at the cost of losing
   forward secrecy for the application data.

mglt: this section is a bit strange in the sense that there is no
recommendation on whether ECHDE shoudl be used with PSK.

8.  Authentication and Integrity-only Cipher Suites

   For a few, very specific Industrial IoT use cases [RFC9150] defines
   two cipher suites that provide data authenticity, but not data
   confidentiality.  Please review the security and privacy
   considerations about their use detailed in Section 9 of [RFC9150].

mglt: I think this document should completely differ to 9150 beyond the
section 9 - especially as I am expecting a very few number of tls libraries
to support it - but I might be wrong.

9.  Keep-Alive

   The discussion in Section 10 of [RFC7925] is applicable.

10.  Timers and ACKs

   Compared to DTLS 1.2 timeout-based whole flight retransmission, DTLS
   1.3 ACKs sensibly decrease the risk of congestion collapse which was
   the basis for the very conservative recommendations given in
   Section 11 of [RFC7925].

   In general, the recommendations in Section 7.3 of [DTLS13] regarding
   ACKs apply.  In particular, "(w)hen DTLS 1.3 is used in deployments

mglt: Do you mean applies for TLS 1.3 AND DTLS 1.3. If so, I beleiev this
should be made explicit.

   with lossy networks, such as low-power, long-range radio networks as


...

   Due to the vast range of network technologies used in IoT
   deployments, from wired LAN to GSM-SMS, it's not possible to provide
   a universal recommendation for an initial timeout.  Therefore, it is
   RECOMMENDED that DTLS 1.3 implementations allow developers to
   explicitly set the initial timer value.  Developers SHOULD set the
   initial timeout to be twice the expected round-trip time (RTT), but
   no less than 1000ms.  For specific application/network combinations,

mglt: it would be good to explain where that 1000 ms comes from.

   a sub-second initial timeout MAY be set.  In cases where no RTT
   estimates are available, a 1000ms initial timeout is suitable for the
   general Internet.

   For RRC, the recommendations in Section 7.5 of
   [I-D.ietf-tls-dtls-rrc] apply.  Just like the handshake initial
   timers, it is RECOMMENDED that DTLS 1.2 and 1.3 implementations offer
   an option for their developers to explicitly set the RRC timer.

11.   Random Number Generation
...

12.  Server Name Indication

   This specification mandates the implementation of the Server Name
   Indication (SNI) extension.  Where privacy requirements require it,

mglt: I do nto see why SNI is mandated. I believe this is too strong. I
would prefer a SHOULD with the explanation to why this is recommended. I
suspect this is is to interact with services hosted in the cloud.

   the ECH (Encrypted Client Hello) extension [I-D.ietf-tls-esni]
   prevents an on-path attacker to determine the domain name the client
   is trying to connect to.

...

13.   Maximum Fragment Length Negotiation

   The Maximum Fragment Length Negotiation (MFL) extension has been
   superseded by the Record Size Limit (RSL) extension [RFC8449].
   Implementations in compliance with this specification MUST implement
   the RSL extension and SHOULD use it to indicate their RAM
   limitations.

mglt: I think RAM limitation is only one example. What came immediately to
my mind is that the device MUST ensure large packets are discarded.

14.  Crypto Agility
...

15.  Key Length Recommendations

...

16.  0-RTT Data

   Appendix E.5 of [TLS13] establishes that:

      Application protocols MUST NOT use 0-RTT data without a profile
      that defines its use.  That profile needs to identify which
      messages or interactions are safe to use with 0-RTT and how to
      handle the situation when the server rejects 0-RTT and falls back
      to 1-RTT.

   At the time of writing, no such profile has been defined for CoAP
   [CoAP].  Therefore, 0-RTT MUST NOT be used by CoAP applications.

mglt: this sounds for other non-CoAP as a SHOULD NOT unless....

17.  Certificate Profile

...

   IDevIDs are primarily used with device onboarding or bootstrapping
   protocols, such as the Bootstrapping Remote Secure Key Infrastructure
   (BRSKI) protocol [RFC8995] or by LwM2M Bootstrap [LwM2M-T] [LwM2M-C].
   Hence, the use of IDevIDs is limited on purpose even though they have
   a long lifetime, or do not expire at all.

mglt: I think the purpose needs to be specified. In general any certificate
has a purpose.

   While some bootstrapping
   protocols use TLS (and therefore make use of the IDevID as part of
   client authentication) there are other bootstrapping protocols that
   do not use TLS/DTLS for client authentication, such as FIDO Device
   Onboarding (FDO) [FDO].  In many cases, a profile for the certificate
   content is provided by those specifications.  For these reasons, this
   specification focuses on the description of LDevIDs.

mglt: The last sentence is unclear to me. I think the "certificate content"
should be replaced by IDevIDs.

   This document uses the terminology and some of the rules for
   populating certificate content defined in IEEE 802.1AR.  However,
   this specification does not claim conformance to IEEE 802.1AR. since
   such a compliance statement goes beyond the use of the terminology
   and the certificate content and would include the use of management
   protocols, fulfillment of certain hardware security requirements, and
   interfaces to access these hardware security modules.  Placing these
   requirements on network equipment like routers may be appropriate but
   designers of constrained IoT devices have opted for different
   protocols and hardware security choices.

mglt: I think we need to explain why we do not refer simply to 802.1AR. It
seems we are defining a profile that look s like 802.1AR but still
different. The question becomes why should we add another standard as
opposed to using 802.1AR.

17.1.  All Certificates

mglt: we probably need to explain why we have "All Certificates". The
profile as I understand is limited to the certificate that represents the
IoT device. This means that if an IoT device contact a Web Server. The IoT
device will have the certificate in this document while the Web Server will
have the CABF.

   To avoid repetition, this section outlines requirements on X.509
   certificates applicable to all PKI entities.





Tschofenig, et al.        Expires 21 April 2026                [Page 10]

Internet-Draft          TLS/DTLS 1.3 IoT Profiles           October 2025


17.1.1.  Version

   Certificates MUST be of type X.509 v3.

mglt: and v3 = 2 ;-). The text below is in my opinion not related to the
version section and could be moved to the intro of the certificate section
17.

   Note that TLS 1.3 allows to
   convey payloads other than X.509 certificates in the Certificate
   message.  The description in this section only focuses on X.509 v3
   certificates and leaves the description of other formats to other
   sections or even other specifications.

17.1.2.  Serial Number

   CAs MUST generate non-sequential serial numbers greater than or equal
   to eight (8) octets from a cryptographically secure pseudo-random
   number generator.  [RFC5280] limits this field to a maximum of 20
   octets.  The serial number MUST be unique for each certificate issued
   by a given CA (i.e., the issuer name and the serial number uniquely
   identify a certificate).

   This requirement is aligned with [RFC5280].

mglt: not CABF provides additional requirement on the randome generator.

17.1.3.  Signature

   The signature MUST be ecdsa-with-SHA256 or stronger [RFC5758].

   Note: In contrast to IEEE 802.1AR this specification does not require
   end entity certificates, subordinate CA certificates, and CA
   certificates to use the same signature algorithm.  Furthermore, this
   specification does not utilize RSA for use with constrained IoT
   devices and networks.

mglt: using different signatures requires the IoT device to support all
these signature scheme. It makes sense for certificates verified by IoT
devices to have a single signature.

17.1.4.  Issuer

   The issuer field MUST contain a non-empty distinguished name (DN) of
   the entity that has signed and issued the certificate in accordance
   with [RFC5280].

17.1.5.   Validity

   Vendors must determine the expected lifespan of their IoT devices.
   This decision directly affects how long firmware and software updates
   are provided for, as well as the level of maintenance that customers
   can expect.  It also affects the maximum validity period of
   certificates.

   In most IoT deployments, IDevIDs are provisioned with an unlimited
   lifetime as per [IEEE-802.1AR].  For this purpose, a special value
   for the notAfter date field, the GeneralizedTime value of
   99991231235959Z, is utilized.  This special value was introduced in
   Section 4.1.2.5 of [RFC5280].  When this is done, then the CA

...

mglt: The problem is that a device that is unable to determien which UTC
time it is can hardly ensure the notAfter especially as leap seconds can be
added or removed. The CABF text is quite confusing to me, but it seems the
reasonable way to do is to ignore leap seconds and define days as 8640
oseconds. This seems to me close to TAI than UTC - with non atomic clock, a
UT1 or pre-50 conception of the second, while certificates expresses time
in UTC. I think what is more important is to say that systems do not have a
precision of the second.

17.1.6.   Subject Public Key Info

   The subjectPublicKeyInfo field indicates the algorithm and any
   associated parameters for the ECC public key.  This profile uses the
   id-ecPublicKey algorithm identifier for ECDSA signature keys, as
   defined and specified in [RFC5480].  This specification assumes that
   devices supported one of the following algorithms:

   *  id-ecPublicKey with secp256r1,
   *  id-ecPublicKey with secp384r1, and
   *  id-ecPublicKey with secp521r1.

   There is no requirement to use CA certificates and certificates of
   subordinate CAs to use the same algorithm as the end entity
   certificate.  Certificates with longer lifetime may well use a
   cryptographic stronger algorithm.

mglt: we should probably recommend it when the certificate needs to be
validated by an IoT.





Tschofenig, et al.        Expires 21 April 2026                [Page 12]

Internet-Draft          TLS/DTLS 1.3 IoT Profiles           October 2025


17.1.7.  Certificate Revocation Checks

   The Certificate Revocation Lists (CRLs) distribution points extension
   has been defined in RFC 5280 to identify how CRL information is
   obtained.  The authority information access extension indicates how
   to access information like the online certificate status service
   (OCSP).  Both extensions SHOULD NOT be set.

mglt: The sentence is confusing. It might be clearer to provide the
explicit recommended combination of extensions. AIK may contains caissuer
as well which is unrelated to CRL, so I do not clearly see why these
extensions are not recommened to be used together. The coexistence might
also depends on the lifetime of the certificates.

If set, they MUST NOT be
   marked critical.

   Instead of using CRLs or OCSP this document follows the guidance in
   Section 4.4.3 of [RFC7925]: for certificate revocation, neither OCSP
   nor CRL are used by constrained IoT devices.

mglt: It is unclear if that recommendation is one step further than the
previous one or if the previous one was NEITHER extensions SHOULD be set.

   The use of device management protocols for IoT devices, which often
   include an onboarding or bootstrapping mechanism, has also seen
   considerable uptake in deployed devices.  These protocols, some of
   which are standardized, allow for the distribution and updating of
   certificates on demand.  An example of a standardized IoT device
   management protocol is the Lightweight Machine-to-Machine (LwM2M)
   [LwM2M-T] [LwM2M-C] protocol.  Device management protocols enable a
   deployment model where IoT devices utilize end entity certificates
   with shorter lifetime making certificate revocation protocols, like
   OCSP and CRLs, less relevant.

Whenever certificates are updated the
   TLS stack needs to be informed since the communication endpoints need
   to be aware of the new certificates.

mglt: this is not correct. TLS authenticates during the handshake, so new
certificates renewal does not affect the end point of the communications.
If the end points want to constantly validate the certificate, this is a
policy that is separate from TLS and in effect TLS does not permit this.
This has to be done via HTTP for example.

This is particularly important
   when long-lived TLS connections are used.  In such a case, the post-
   handshake authentication exchange is triggered when the application
   requires it.  TLS 1.3 provides client-to-server post-handshake
   authentication only.  Mutual authentication via post-handshake
   messages is available by the use of the "Exported Authenticator"
   [RFC9261] but requires the application layer protocol to carry the
   payloads.

mglt: Continuous certificate validation goes beyond TLS, and is outside the
scope of this draft in my opinion. It might be interesting information but
what needs to be added is what is the advantage over re-establishing ab
ECDHE TLS session.

   Hence, instead of performing certificate revocation checks on the IoT
   device itself this it is RECOMMENDED to delegate this task to the IoT
   device operator and to take the necessary action to allow IoT devices
   to remain operational.

mglt: we need to specify what certificate revocation checks are considered
here - continuous certificate validity versus crl/ocsp. I think the point
is more, that OCSP/CRL extension can be omitted only when the operator of a
control and managed system can ensure certificates present are up to date.


dm: It is my beleive that a specific OID policy shoudl be provide for the
profile.

mglt: I just realized the section is generic to Root CA, Subordinate and
End ENtity certificates. Some comments might only be related to EE.

17.2.  Root CA Certificate

   This section outlines the requirements for root CA certificates. We
should recommend SAN in my opinion.

17.2.1.  Subject

   [RFC5280] mandates that Root CA certificates MUST have a non-empty
   subject field.  The subject field MUST contain the commonName, the
   organizationName, and the countryName attribute and MAY contain an
   organizationalUnitName attribute.



Tschofenig, et al.        Expires 21 April 2026                [Page 13]

Internet-Draft          TLS/DTLS 1.3 IoT Profiles           October 2025


17.2.2.  Authority Key Identifier

   Section 4.2.1.1 of [RFC5280] defines the Authority Key Identifier as
   follows: "The authority key identifier extension provides a means of
   identifying the public key corresponding to the private key used to
   sign a certificate.  This extension is used where an issuer has
   multiple signing keys."

   The Authority Key Identifier extension MAY be omitted.  If it is set,
   it MUST NOT be marked critical, and MUST contain the
   subjectKeyIdentifier of this certificate.

mglt: Why not saying RECOMMENDED.

17.2.3.  Subject Key Identifier

   Section 4.2.1.2 of [RFC5280] defines the SubjectKeyIdentifier as
   follows: "The subject key identifier extension provides a means of
   identifying certificates that contain a particular public key."

   The Subject Key Identifier extension MUST be set, MUST NOT be marked
   critical, and MUST contain the key identifier of the public key
   contained in the subject public key info field.

   The subjectKeyIdentifier is used by path construction algorithms to
   identify which CA has signed a subordinate certificate.

mglt: CABF mandates it. I think we should follow CABF.

17.2.4.  Key Usage

   [RFC5280] defines the key usage field as follows: "The key usage
   extension defines the purpose (e.g., encipherment, signature,
   certificate signing) of the key contained in the certificate."

   The Key Usage extension MAY be set.  If it is set, it MUST be marked
   critical and the keyCertSign or cRLSign purposes MUST be set.

mglt: CABF mandates KU. It is my belief we should follow these
recommendations.

   Additional key usages MAY be set depending on the intended usage of
   the public key.

   [RFC5280] defines the extended key usage as follows: "This extension
   indicates one or more purposes for which the certified public key may
   be used, in addition to or in place of the basic purposes indicated
   in the key usage extension."

   This extendedKeyUsage extension MUST NOT be set in CA certificates.









Tschofenig, et al.        Expires 21 April 2026                [Page 14]

Internet-Draft          TLS/DTLS 1.3 IoT Profiles           October 2025


17.2.5.  Basic Constraints

   [RFC5280] states that "The Basic Constraints extension identifies
   whether the subject of the certificate is a CA and the maximum depth
   of valid certification paths that include this certificate.  The cA
   boolean indicates whether the certified public key may be used to
   verify certificate signatures."

   For the pathLenConstraint RFC 5280 makes further statements:

   *  "The pathLenConstraint field is meaningful only if the cA boolean
      is asserted and the key usage extension, if present, asserts the
      keyCertSign bit.  In this case, it gives the maximum number of
      non-self-issued intermediate certificates that may follow this
      certificate in a valid certification path."
   *  "A pathLenConstraint of zero indicates that no non-self-issued
      intermediate CA certificates may follow in a valid certification
      path."
   *  "Where pathLenConstraint does not appear, no limit is imposed."
   *  "Conforming CAs MUST include this extension in all CA certificates
      that contain public keys used to validate digital signatures on
      certificates and MUST mark the extension as critical in such
      certificates."

   The Basic Constraints extension MUST be set, MUST be marked critical,
   the cA flag MUST be set to true and the pathLenConstraint MUST be
   omitted.


17.3.  Subordinate CA Certificate

   This section outlines the requirements for subordinate CA
   certificates.

17.3.1.  Subject

   The subject field MUST be set and MUST contain the commonName, the
   organizationName, and the countryName attribute and MAY contain an
   organizationalUnitName attribute.

17.3.2.  Authority Key Identifier

   The Authority Key Identifier extension MUST be set, MUST NOT be
   marked critical, and MUST contain the subjectKeyIdentifier of the CA
   that issued this certificate.







Tschofenig, et al.        Expires 21 April 2026                [Page 15]

Internet-Draft          TLS/DTLS 1.3 IoT Profiles           October 2025


17.3.3.  Subject Key Identifier

   The Subject Key Identifier extension MUST be set, MUST NOT be marked
   critical, and MUST contain the key identifier of the public key
   contained in the subject public key info field.

17.3.4.  Key Usage

   The Key Usage extension MUST be set, MUST be marked critical, the
   keyCertSign or cRLSign purposes MUST be set, and the digitalSignature
   purpose SHOULD be set.

   Subordinate certification authorities SHOULD NOT have any
   extendedKeyUsage.  [RFC5280] reserves EKUs to be meaningful only in
   end entity certificates.

17.3.5.  Basic Constraints

   The Basic Constraints extension MUST be set, MUST be marked critical,
   the cA flag MUST be set to true and the pathLenConstraint SHOULD be
   omitted.

17.3.6.  CRL Distribution Point

   The CRL Distribution Point extension SHOULD NOT be set.  If it is
   set, it MUST NOT be marked critical and MUST identify the CRL
   relevant for this certificate.

17.3.7.  Authority Information Access

   The Authority Information Access extension SHOULD NOT be set.  If it
   is set, it MUST NOT be marked critical and MUST identify the location
   of the certificate of the CA that issued this certificate and the
   location it provides an online certificate status service (OCSP).

17.4.  End Entity Certificate

   This section outlines the requirements for end entity certificates.

17.4.1.  Subject

   This section describes the use of end entity certificate primarily
   for (D)TLS clients running on IoT devices.  Operating (D)TLS servers
   on IoT devices is possible but less common.







Tschofenig, et al.        Expires 21 April 2026                [Page 16]

Internet-Draft          TLS/DTLS 1.3 IoT Profiles           October 2025


   [RFC9525], Section 2 mandates that the subject field not be used to
   identify a service.  However, certain IoT applications (for example,
   [I-D.ietf-anima-constrained-voucher], [IEEE-802.1AR]) use the subject
   field to encode the device serial number.

   The requirement in Section 4.4.2 of [RFC7925] to only use EUI-64 for
   end entity certificates as a subject field is lifted.

   Two fields are typically used to encode a device identifier, namely
   the Subject and the subjectAltName fields.  Protocol specifications
   tend to offer recommendations about what identifiers to use and the
   deployment situation is fragmented.

   The subject field MAY include a unique device serial number.  If the
   serial number is included, it MUST be encoded in the X520SerialNumber
   attribute. e.g., [RFC8995] use requires a serial number in IDevID
   certificates.

mgt: my understanding is thet X520SerialNumber is defined in 5280 and that
the use of serial in the subject. I think that it would be clearer if it
were indicated the attribute is in teh subject. Now, if teh serial numbe
ris an identifier, it shoudl eb placed in teh SAN as an URI in my opinion.

   [RFC5280] defines: "The subject alternative name extension allows
   identities to be bound to the subject of the certificate.  These
   identities may be included in addition to or in place of the identity
   in the subject field of the certificate."

   The subject alternative name extension MAY be set.  If it is set, it
   MUST NOT be marked critical, except when the subject DN contains an
   empty sequence.

   If the EUI-64 format is used to identify the subject of an end entity
   certificate, it MUST be encoded as a Subject DN using the
   X520SerialNumber attribute.  The contents of the field is a string of
   the form HH-HH-HH-HH-HH-HH-HH-HH where 'H' is one of the symbols
   '0'-'9' or 'A'-'F'.

   Per [RFC9525] domain names MUST NOT be encoded in the subject
   commonName.  Instead they MUST be encoded in a subjectAltName of type
   DNS-ID.  Domain names MUST NOT contain wildcard (*) characters.  The
   subjectAltName MUST NOT contain multiple names.

   Note: The IEEE 802.1AR recommends to encode information about a
   Trusted Platform Module (TPM), if present, in the HardwareModuleName
   (Section 5 of [RFC4108]).  This specification does not follow this
   recommendation.

   Where IoT devices are accepting (D)TLS connections, i.e., they are
   acting as a server, it is unlikely that there will be a useful name
   that can go into the SNI.  In general, the use of SNI for the purpose
   of virtual hosting on constrained IoT devices is rare.  The IoT
   device cannot depend on a client providing a correct SNI, and so it



Tschofenig, et al.        Expires 21 April 2026                [Page 17]

Internet-Draft          TLS/DTLS 1.3 IoT Profiles           October 2025


   MUST ignore the extension.  This implies that IoT devices cannot do
   name-based virtual hosting of TLS connections.  In the unlikely event
   that an IoT device has multiple servers responding with different
   server certificate, then the server SHOULD use different IP addresses
   or port numbers.

mglt: In the beginning SNI was mandated in TLS.

17.4.2.  Authority Key Identifier

   The Authority Key Identifier extension MUST be set, MUST NOT be
   marked critical, and MUST contain the subjectKeyIdentifier of the CA
   that issued this certificate.

17.4.3.  Subject Key Identifier

   The Subject Key Identifier MUST NOT be included in end entity
   certificates, as it can be calculated from the public key, so it just
   takes up space.  End entity certificates are not used in path
   construction, so there is no ambiguity regarding which certificate
   chain to use, as there can be with subordinate CAs.

17.4.4.  Key Usage

   The key usage extension MUST be set and MUST be marked as critical.
   For signature verification keys the digitialSignature key usage
   purpose MUST be specified.  Other key usages are set according to the
   intended usage of the key.

   If enrollment of new certificates uses server-side key generation,
   encrypted delivery of the private key is required.  In such cases the
   key usage keyEncipherment or keyAgreement MUST be set because the
   encrypted delivery of the newly generated key involves encryption or
   agreement of a symmetric key.  On-device key generation is, however,
   the preferred approach.

   As specified in [IEEE-802.1AR], the extendedKeyUsage SHOULD NOT be
   present in IDevID certificates, as it reduces the utility of the
   IDevID.  For locally assigned LDevID certificates to be usable with
   TLS, the extendedKeyUsage MUST contain at least one of the following:
   id-kp-serverAuth or id-kp-clientAuth.

18.  Update of Trust Anchors

   Since the publication of RFC 7925 the need for firmware update
   mechanisms has been reinforced and the work on standardizing a secure
   and interoperable firmware update mechanism has made substantial
   progress, see [RFC9019].  RFC 7925 recommends to use a software /
   firmware update mechanism to provision devices with new trust
   anchors.  This approach only addresses the distribution of trust



Tschofenig, et al.        Expires 21 April 2026                [Page 18]

Internet-Draft          TLS/DTLS 1.3 IoT Profiles           October 2025


   anchors and not end entity certificates or certificates of
   subordinate CAs.

   As an alternative, certificate management protocols like CMP and EST
   have also offered ways to update trust anchors.  See, for example,
   Section 2.1 of [RFC7030] for an approach to obtaining CA certificates
   via EST.

19.  Certificate Overhead

   In a public key-based key exchange, certificates and public keys are
   a major contributor to the size of the overall handshake.  For
   example, in a regular TLS 1.3 handshake with minimal ECC certificates
   and no subordinate CA utilizing the secp256r1 curve with mutual
   authentication, around 40% of the entire handshake payload is
   consumed by the two exchanged certificates.

   Hence, it is not surprising that there is a strong desire to reduce
   the size of certificates and certificate chains.  This has led to
   various standardization efforts.  Below is a brief summary of what
   options an implementer has to reduce the bandwidth requirements of a
   public key-based key exchange.  Note that many of the standardized
   extensions are not readily available in TLS/DTLS stacks since
   optimizations typically get implemented last.

   *  Use elliptic curve cryptography (ECC) instead of RSA-based
      certificate due to the smaller certificate size.  This document
      recommends the use of elliptic curve cryptography only.
   *  Avoid deep and complex CA hierarchies to reduce the number of
      subordinate CA certificates that need to be transmitted and
      processed.  See [I-D.irtf-t2trg-taxonomy-manufacturer-anchors] for
      a discussion about CA hierarchies.  Most security requirements can
      be satisfied with a PKI depth of 3 (root CA, one subordinate CA,
      and end entity certificates).

mglt: with AIA do we really need to have the full chain as the receiver
with sufficient resources may get the chain from the CA. no ?

On Fri, Oct 31, 2025 at 11:40 AM Renzo Navas <[email protected]> wrote:

> Hi All,
>
> I am the shepherd of this document.
> Just a friendly reminder for @Daniel:
> can you take a look at the modifications for the authors?
> Do they mostly address your comments?
>
> If that is the case, (now I am speaking for the WG Chairs), we will be
> able to move forward in the procedure, right?
>
> See you in Montreal maybe (I will be attending physically)
>
> Regards,
>
> Renzo
>
>
>
> On Sat, Oct 18, 2025 at 12:24 PM Tschofenig, Hannes
> <[email protected]> wrote:
> >
> > Hi Daniel,
> >
> >
> >
> > We have just submitted a new version of the “TLS/DTLS 1.3 Profiles for
> the Internet of Things” draft.
> >
> > This specification update was in the result of your detailed review,
> Daniel.
> >
> >
> >
> > In response to the review MCR has identified more than 30 issues, which
> he captured in the Github repo at
> https://github.com/thomas-fossati/draft-tls13-iot/issues
> >
> >
> >
> > Responses are captured in the respective issues. Daniel, please have a
> look and see whether you are satisfied with the response and the updated
> text in the draft. (I copied text for most of issues into the Github issue
> page directly for easier processing).
> >
> >
> >
> > Your review has certainly improved the quality of the write-up. Thanks!
> >
> >
> >
> > Ciao
> >
> > Hannes
> >
> > (On behalf of the authors)
> >
> > _______________________________________________
> > Uta mailing list -- [email protected]
> > To unsubscribe send an email to [email protected]
>


-- 
Daniel Migault
Ericsson
_______________________________________________
Uta mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to