Hi Ilari,
Thanks for your comments, see our responses inline:

-----邮件原件-----
发件人: ilariliusva...@welho.com <ilariliusva...@welho.com> 
发送时间: 2024年11月25日 17:20
收件人: acme@ietf.org
主题: [Acme] Re: Introducting a new draft about adding a new ACME challenge type: 
public key challgenge

On Mon, Nov 25, 2024 at 03:11:21AM +0000, Xialiang(Frank, IP Security Standard) 
wrote:
> Hi ACME experts,
> We submitted and presented a new ACME paper at the IETF 121st meeting 
> -- https://datatracker.ietf.org/doc/draft-geng-acme-public-key/.
> 
> This draft is about ACME Extension for Public Key Challenges:
> basically, we think the current identity validation mechanism of ACME 
> check the ACME applicant’s control over the requested identity)needs
> to consider some necessary extension in some specific use case (The 
> ACME proxy or ACME applicant itself is taken over by the adversary and 
> perform the public key replacement attack, result in the replacement 
> of the public key in the final CSR message and gain the control of the 
> real applicant’s identity). So, we propose a new ACME challenge type – 
> ACME public key challenge (pk-01, 3 types of identifier can be applied
> with: pk, selfsign-cert and csr), together with IDP and known public 
> key authentication protocol (i.e., WebAuthn, Opaque/AKE, non- 
> interactive zero-knowledge (NIZK) discrete logarithm equality (DLEQ) 
> proof…). Through this extension, the public key authenticity, 
> consistency and mapping to the identity are all well checked and 
> protected.

The goal of ACME is to be automated (the A even stands for "automated").
Flows involving browser (figure 1) do not look automated.
[Frank]: Involving browsers doesn't mean not automated. For example, you can 
see ACME SSO draft 
(https://www.ietf.org/archive/id/draft-biggs-acme-sso-01.html). The main point 
here is about URL and IdP that ACME client is interacted with for the identity 
ownership validation.


Secondly, proof of possession does not seem helpful countering public key 
replacement. The attacker controls the private half of the attack key, and can 
pass any proof of possesion for it. To actually prevent attacks like that, one 
would need authorization from domain for public keys. A long time ago I had an 
idea for using CAA records for such purpose.
[Frank]: I agree that a straightforward PoP can not solve the public key 
replacement attack simply, so our propose is actually about authenticating ACME 
client's public key in the ACME challenge (with IdP) phase, and check and 
guarantee the public key in the CSR message is consistent with the previous 
phase. About CAA records mechanism, similar to your responses to Mr. Q. Misell, 
it is only for the domain name certificate issuance, not our case for the 
terminal/device certificate.


However, having an identifier type for public keys could be useful.
One could combine public key identifiers with profiles and order auto- finalize 
to simplify the protocol (parsing CSRs is not pleasant). Or to add strong key 
proof-of-possession (but that would cause problems with high-security 
environments that do not allow private key import/export).
[Frank]: It's really simpler if we directly reuse the public key in certificate 
application phase after verifying it in challenge phase, avoiding parsing the 
CSR file. But we also think it undermines ACME's existing 3-phase decoupling 
framework (RFC8555). The decoupling design brings more benefits, including 
compatibility, easy expansion, and easy deployment.

B.R.
Frank


-Ilari

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

Reply via email to