[Last-Call] Re: draft-ietf-emu-bootstrapped-tls-08 ietf last call Artart review

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> Le 27 août 2025 à 16:42, Owen Friel (ofriel) <ofriel@xxxxxxxxx> a écrit :
> 
> Hi Marc,
> 
> See inline. I will point you to some github PRs for you to peek at before we release draft-09.
> 
> There are two inline comments where we would appreciate some mailer feedback.

Again, I'm no security expert, so I'll let you/wg decide what is best. 

Regards, Marc.

> 
> Thanks for the review.
> 
> Owen
> 
> -----Original Message-----
> From: Harkins, Dan <daniel.harkins@xxxxxxx> 
> Sent: Monday 14 July 2025 19:31
> To: Marc Blanchet <marc.blanchet@xxxxxxxxxxx>; art@xxxxxxxx
> Cc: draft-ietf-emu-bootstrapped-tls.all@xxxxxxxx; emu@xxxxxxxx; last-call@xxxxxxxx
> Subject: Re: draft-ietf-emu-bootstrapped-tls-08 ietf last call Artart review
> 
> 
>  Hi Marc,
> 
>  Thank you very much for your detailed review. I will discuss your comments with my co-author and we will produce a new version to address them (and others we will get in the LC).
> 
>  regards,
> 
>  Dan.
> 
> --
> "the object of life is not to be on the side of the majority, but to escape finding oneself in the ranks of the insane." – Marcus Aurelius
> 
> On 7/12/25, 2:21 PM, "Marc Blanchet via Datatracker" <noreply@xxxxxxxx> wrote:
> 
>    Document: draft-ietf-emu-bootstrapped-tls
>    Title: Bootstrapped TLS Authentication with Proof of Knowledge (TLS-POK)
>    Reviewer: Marc Blanchet
>    Review result: Ready with Nits
> 
>    Hello,
>     I've been asked to provide a review of draft-ietf-emu-bootstrapped-tls
>    From the ART directorate. I'm no security expert. During that review,
>    I did not follow the references, nor verified the test vectors.
> 
>    ---------------------------
>    ---------------------------
>    Substantive comments
> 
>    - I'm no security expert, so the following comment may be irrelevant.
>    Section 3.1 says to use SHA-256 hash algo: "of the BSK public key using
>    [RFC5869] with the SHA-256 hash algorithm
>       [sha2]" ...
>     I did not see a way to specify another hash algorithm
>    for crypto algorithm agility. It may not be relevant here,
>    But should the hash algorithm be specified somewhere so that
>    It could be replaced another one later. Or maybe I missed it.
>    Just asking.
> 
> [ofriel] Dan and I went back and forth on this one. We came up with 3 different options here:
> 
> 1. Always use SHA256
> 2. Use a SHA length that depends on the BSK prime key length
> 3. Use a SHA length that matches the target_kdf"
> 
> For simplicity we went with 1, but maybe we should have gone with 2. We are open to suggestions from the mailer.
> 
> 
> 
> 
>    - Figure 1 handshake description contains the last line as "Application Data".
>                {Finished}                 -------->
>                [Application Data]         <------->    [Application Data]
> 
>    Maybe it is obvious for people in the field, but I thought from reading that
>    after the authentication handshake, nothing else will happen with the server
>    and the client as the client now has access to the network. Therefore, I'm not
>    sure what would be the application data between the client and server after
>    the handshake. Maybe it is obvious. If it is not, then maybe either remove
>    or explain a bit more what that application data is, since it is not defined
>    or referenced anywhere else in the draft.
> 
> [ofriel] Updated in https://github.com/upros/tls-pok/pull/24
> 
> 
>    - again, I'm no security expert, so the following comment may be irrelevant.
>    In section 7. Security Considerations, I was expecting (and even within the
>    draft Itself) some discussion on DOS on the server by sending a lot of queries
>    by one or Many devices on the network. Should rate-limiting be used, and if
>    yes, what is the Right values, and maybe by device identified by their mac
>    addresss?
> 
> [ofriel] Again, I'd look for some guidance from the mailer here. There are no statements made about DOS protection in any of RFC3748, RFC5216 or RFC9190. So Dan and I decided to follow the precedence of those 3 EAP RFCs and not include any specific statements about DOS. Should there be errata raised against those RFCs? Should we add something about DOS to our draft?
> 
> 
>    Moreover, I was expecting some discussion or recommendation that the device
>    manufacturers should not use the same keypair for all (or more than one)
>    device. That may look obvious to a security person, but given manufacturing
>    context, it creates more work, so costs, so unwillingness to have specific
>    keypairs for each device.
> 
> [ofriel] Updated in https://github.com/upros/tls-pok/pull/24 
> 
> 
>    ---------------------------
>    ---------------------------
>    English/nits/improvements
> 
> [ofriel] The majority of these nits have been addressed in https://github.com/upros/tls-pok/pull/22. There were some suggestions where we believe the existing text is better.
> 
> 
> 
>    caveat: English is not my first language,
>    so maybe some comments related to language are actually not right.
> 
>    - general comment: there is a bit of repetition about the general
>    description of the mechanism in too many sections (abstract, intro, section 2,
>    ... Some could be cut to make the draft smaller and to the point.
> 
>    - "knows the private key.  The mechanism leverages existing DPP and TLS"
>    s/knows/has|owns|possesses/ ?
>      In my book, knows does not mean it has it.
> 
>    - "On-boarding of devices with no, or limited, user interface can be
>    s/On-boarding of devices/On-boarding devices/
> 
>    - "difficult.  Typically, a credential is needed to access the network,"
>    I find "Typically" here too strong. At least, that is not my personal
>    Experience in the context of this draft (aka EAP/...).
>    S/Typically/Sometimes/
> 
>    - "Thus, the intention is that DPP is the
>       RECOMMENDED mechanism for bootstrapping against Wi-Fi networks, and
>       TLS-POK is the RECOMMENDED mechanism for bootstrapping against wired
>       networks."
>    s/.../Thus, DPP SHOULD be used for bootstrapping against Wi-Fi networks, and
>       TLS-POK SHOULD be used for bootstrapping against wired
>       networks
> 
>    - "The following terminology is used throughout this document."
>    Suggestion: add "NAI" as it is not expanded but used later.
> 
>    - "into a Certification Authority to allow them to authenticate using"
>    s/into/with/ ?
> 
>    - "This document defines a boostrapping mechanism that results in a"
>    S/boostrapping mechanism that results/booTstrapping mechanism resulting/
> 
>    - "subsequent network access.  Therefore, an EAP method that supports"
>    S/that supports/supporting the/
> 
>    - "used with TEAP, including defining a suitable NAI."
>    Either expand here (on first use) or put it in the terminology section,
>    As suggested above.
> 
>    - "If future EAP methods are defined that support certificate"
>    s/that support/supporting/
> 
>    - "provisioning, then TLS-POK could potentially be used with those"
>    s/could potentially be used/may be used/
> 
>    - "The mechanism for on-boarding of devices defined in this document"
>    s/on-boarding of devices/device on-boarding/
> 
>    - "The definition of the BSK public key aligns with that given in [DPP].
>    s/that given in//
> 
>    - "A performance versus storage tradeoff a server can choose is to
>       precompute the identity of every bootstrapped key with every hash"
> 
>    I find this sentence a bit difficult to parse. It took me to repeat
>    it two times until I got it.
>    Maybe: s/.../A server can choose a tradeoff between performance and storage
>    by precomputing the .../
> 
>    - "algorithm that it uses in TLS and use that to quickly lookup the"
>    s/that is uses in/used/
>    s/use that to quickly/use it/
> 
>    - "handshake with an alert.  If the server found the matching BSK public"
>    s/found/finds/
> 
>    - "ServerHello and verified the TLS key schedule.  The PSK proof has
>       completed at this stage,"
>    a/has completed/is completed/
> 
>    - "When the server processes the client's Certificate it MUST ensure"
>    s/Certificate/Certificate,/
> 
>    - "An attack on the bootstrapping method which substitutes the public
>       key of a corrupted device for the public key of an honest device can
>       result in the TLS sever on-boarding and trusting the corrupted
>       device."
> 
>    Is "corrupted" the right word here? Corrupted means to me that the device
>    Internal filesystem is broken for example.
>    S/corrupted/tampered/?
> 
> 
> 
> 
> 

-- 
last-call mailing list -- last-call@xxxxxxxx
To unsubscribe send an email to last-call-leave@xxxxxxxx




[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux