Hi Aaron,
Thank you very much for your comments, see inline:
----------------------------------------------------------------------------
2024年11月26日 22:54,Aaron Gable <aa...@letsencrypt.org> 写道:
Hi all

I agree that it would be beneficial for the ACME protocol to have a pubKey
identifier type, and to have challenges which can be used to prove control
over the corresponding private key. However, it seems that I believe this
would be useful for entirely different reasons than the authors here, and I
am currently unconvinced by the motivations presented here.

I believe that a pubKey identifier type is useful for two reasons:
1) it allows the CSR to be removed from the finalize request, as it will no
longer be carrying any information that is not already found in other parts
of the ACME protocol; and
  [wupanyu] We also recognize the possibility of streamlining the CSR
application process and do not deny and oppose the possible beneficial
benefits that would result. However, it is also recognized that this might
break the decoupled structure of ACME and introduce a lot of compatibility
issues, which of course is well worth the ongoing discussion that can take
place.

 2) proof-of-possession allows the ACME server to respect keyCompromise
revocation requests which are signed by the Subscriber key instead of only
accepting those which are signed by the certificate key.
  [wupanyu] Thanks for your perspective. Proof-of-possession can indeed be
used to determine whether a subscriber possesses the subscriber’s private
key when revoking a certificate, thus accomplishing a more reliable
revocation. This is a very useful point~

It seems that this draft is arguing for the inclusion of a pubKey type and
corresponding challenges from a security perspective: that an adversary
might replace the CSR in the finalize request and thereby get issuance of a
certificate containing a malicious key. I must admit I do not understand
this threat model.

If the adversary is simply a network adversary between the legitimate
Client and Server, then they cannot replace the CSR: the finalize request
is signed by the ACME client key and cannot be tampered with without
invalidating that signature. If the adversary is on the ACME client host,
and has access to the ACME client key, then the game is already lost --
that adversary *is* the Subscriber for all intents and purposes, and has
significant latitude: they can change the ACME client key to one the victim
doesn't control, they can (generally, based on the architecture of most
clients) complete HTTP-01 and DNS-01 challenges, and they can prove
possession of any private key they like.
  [wupanyu] For security threat modeling, we are currently considering the
latter as you say. The main focus is on proxy scenarios where the adversary
is on the ACME client and has access to the CSR file of another person's
public key, but does not possess the private key corresponding to the
public key of the certificate. Due to these risks, our proposed draft
requires that the challenge needs to be completed at the final applicant
and that the consistency between that submitted public key and the
challenge interrogation phase be verified at the certificate application
phase. The adversary has the client's key and the CSR file for someone
else's certificate, but the one who passes the validation in the challenge
interrogation phase is not the applicant who applied for the public key
arbitrarily in the final phase, and thus the certificate cannot be issued
for him or her. I hope my description is clear enough~

So I think that this document needs to be overhauled in two ways:
- more clearly motivating the threat model: what exactly is the security
issue being solved, and why is it import that it be solved; and
- more clearly motivating the solution space: how do proof-of-possession
challenges mitigate the threat, and why are this particular set of proposed
challenges the best way to do so.

Aaron
_______________________________________________
Acme mailing list -- acme@ietf.org
To unsubscribe send an email to acme-le...@ietf.org

Reply via email to