<div dir="ltr">While I agree with Andrew's points about how the ACME validation methods can be MITM'd, I disagree with the conclusion that this makes them equivalent to WHOIS-based methods.<div><br></div><div>When an adversary MITMs one of the ACME validation methods, they are taking control of the domain in question. By manipulating the structure of the internet (usually via BGP hijacking) they are exerting control over the content seen at that domain name by a whole section of the internet -- a section that just so happens to include the CA performing validation. However briefly, they did in fact demonstrate control over that domain.</div><div><br></div><div>When an adversary MITMs a CA's WHOIS query, the domain being validated remains untouched. The adversary has not shown any control over the domain in question, only over the CA, or over a largely-unrelated third party.</div><div><br></div><div>This is the fundamental weakness of all secret-token based methods. All that is required is that the adversary take control of <i>something other than the domain in question</i> so that they can get the secret delivered to them. If I had my personal druthers, I would limit domain control validation to only methods where the token being public knowledge is not considered a weakness of the validation protocol.</div><div><br></div><div>Aaron</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Sep 20, 2024 at 10:47 AM Dimitris Zacharopoulos (HARICA) via Servercert-wg <<a href="mailto:servercert-wg@cabforum.org">servercert-wg@cabforum.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>

  
    
  
  <div>
    Hi Mike,<br>
    <br>
    <div>On 19/9/2024 5:22 μ.μ., Mike Shaver via
      Servercert-wg wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div>Hi Dimitris,</div>
        <div><br>
        </div>
        <div>I've been thinking about your email all night, and I want
          to figure out where our reasoning about the integrity of DCV
          via WHOIS-1932 or HTTP-nonce (3.2.2.5.1) diverge. I was quite
          surprised by your statements about the properties of internet
          security, the responsibility of TLS and SCWG, and the
          limitations that should be accepted in performing DCV. I'm
          hoping that your new responsibilities as Chair
          (congratulations!) will still leave you a bit of time to point
          out where my reasoning doesn't connect. :)<br>
        </div>
      </div>
    </blockquote>
    <br>
    Thank you for that :) New officers will start their duties on
    2024-12-01 but I believe Member's contributions to the Forum are a
    lot more important when we're having these discussions, working on
    ballots and continuously improving the standards! Officers mainly
    have to do the "administrative" work and make sure the WG Charter
    and Bylaws are followed. <br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Because I'm not sure where we diverge, I'm going to walk
          through my understanding of the principles underlying the DCV
          methods used historically by CA/BF (and CAs in the dark days
          of private deals with individual browsers), and the direction
          towards which the SCWG and root programs seem to be headed in
          terms of those principles. Please, *please* do not take this
          as me implying that you don't know these things: I'm not
          trying to lecture, but to be as explicit as reasonable in
          explaining my thinking, so that it's easiest for yourself or
          others to help me correct error in it. I would be quite
          grateful for such generosity, honestly! I also apologize in
          advance for the length of this message. I lack the wisdom to
          make it smaller, perhaps.<br>
        </div>
        <div><br>
        </div>
        <div>(Some of this is entangled with "what is this even for?"
          sorts of discussion about who the web PKI should ultimately
          benefit, but I've tried to keep that separate.)<br>
        </div>
        <div><br>
        </div>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Wed, Sep 18, 2024 at
            12:18 PM Dimitris Zacharopoulos (HARICA) <<a href="mailto:dzacharo@harica.gr" target="_blank">dzacharo@harica.gr</a>>
            wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div>We don't need Domain Name Registrars to go through
              WebTrust or ETSI audits suitable for Trust Service
              Providers. These Registrars are the source of truth for
              the DNS on which all Internet connections, and the WebPKI
              relies on. It's so fundamental to the ecosystem that IMO
              it doesn't make sense to ask ourselves how this Forum can
              make them better. Other authorities should be working on
              that.<br>
            </div>
          </blockquote>
          <div><br>
          </div>
          <div>A recurring theme throughout web PKI operations has been
            that a participant in the ecosystem thinks that they are
            doing a good job, and perhaps indeed are doing a good job of
            some kind, but are not providing the guarantees or
            protections that others are assuming are in place. I don't
            mean "good job" in the sense of competence or ethics, but
            rather "meeting the requirements through actions". The
            farther that the participant is from the core of the web PKI
            ecosystem, which is to say the less likely they are to
            evaluate all their actions by the effects of those actions
            on the trustworthiness of web certificates and server
            authentication. This means, IMO, that this group and other
            stewards of the PKI should be very conservative, and very
            explicit, when depending on another participant of the
            ecosystem to maintain certain properties. Otherwise, those
            dependency-bearing organizations may not even know what is
            being expected of them.<br>
          </div>
          <div><br>
          </div>
          <div>I am not suggesting that CA/BF in any way place
            requirements on what an organization must do in order to be
            a domain registrar, and reporter of that registry. As you
            say, that is beyond both the scope and the expertise of this
            group, and this group has plenty to keep it busy! I am,
            rather, suggesting that SCWG should establish criteria
            against which it will determine if a registrar's publication
            of domain information should be considered to be reliable
            enough to accomplish DCV. Similarly, the group does not put
            any requirements forcing public DNS servers to strictly
            check DNSSEC, but if a CA is going to use a DNS server for
            checking CAA records or doing 3.2.2.4.7 "DNS Change"
            validation, then that's only acceptable if the DNS server
            enforces DNSSEC in the presence of a validation chain. (I
            think that might only be in Bugzilla and not yet captured in
            the BRs, but it's well-enough understood that failure to
            adhere to it has required reissuance.)<br>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    I see your point. In general, as you say, it is difficult for a
    group like the CA/B Forum to enforce rules and expectations placed
    upon another industry group (Domain Name Registrars/TLD Operators)
    if those other industry groups do not participate or don't even have
    knowledge about those expectations. I would be very concerned if the
    SCWG or the Forum at large, would create a set of "expectations from
    a Registrar/TLD Operator to be considered good-enough for the WebPKI
    to rely upon". I think this group would be heavily criticized for
    doing that.<br>
    <br>
    If we believe this area is so security-critical for the WebPKI, the
    best think we could do is to have members of this Forum engage with
    IANA or other ccTLD-coordinating venues to promote ideas for
    improved security, external monitoring and transparency. It feels
    similar to what Members of this Forum have done in the past when we
    bring up ideas for improving the security of our ecosystem, and
    bring those ideas to IETF (LAMPS WG or other similar venues) to
    standardize.<br>
    <br>
    I'm not opposed to adding requirements that prohibit the use of
    external information in egregious failure cases, but it's not easy
    to find the right language in a standard for this.<br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div><br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div> If a ".cookoo" TLD operator is not functioning
              properly, then the entire TLD is in jeopardy and every
              Domain owner under that TLD is at risk. Certificates are
              the least of people's problems when relying parties
              connect to websites operated under that unsafe TLD
              operator.<br>
            </div>
          </blockquote>
          <div><br>
          </div>
          <div>As above, this depends very much on exactly what form
            "not functioning properly" takes. If their systems are
            broken such that it's impossible to make changes to
            registrations, or to look up registrations, I think we would
            all agree that the TLD operator is not functioning properly,
            but that would not have as much risk to the integrity of the
            web PKI as those systems being broken such that *anyone* can
            change any TLD.</div>
          <div><br>
          </div>
          <div>For CAs to rely on email address information from
            registrars for issuance of certificates, I think it's only
            appropriate that they ensure that the information is "fit
            for purpose" and that it's managed (and accessed) in a way
            consistent with the level of trust placed in it.</div>
          <div><br>
          </div>
          <div>This means making sure that the integrity of the response
            is maintained, which is a role that WHOIS-3912 simply cannot
            perform.<br>
          </div>
          <div> <br>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
              No, the SCWG and TLS is not here to solve the unencrypted
              nature of the DNS protocol. IETF and DNSSEC is. There is a
              great number of Domain Names in the DNS without DNSSEC,
              and there is still heavy reliance on the unencrypted DNS
              protocol in almost EVERY Domain Validation under 3.2.2.4.<br>
            </blockquote>
            <div><br>
            </div>
            <div>DNS being unencrypted is not a problem, and indeed even
              DNSSEC doesn't encrypt traffic. DNS results being
              *unauthenticated* is a problem for clients who wish to be
              certain that they have been given an authorized address in
              response to their lookup, but even with DNSSEC that leaves
              the issue of ensuring that the unauthenticated IP layer
              reached the "real" home of that address (thus DANE).<br>
            </div>
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
              Even the Agreed-upon change to website method, 3.2.2.4.18,
              relies on "Authorized Ports that are offered via
              non-encrypted channels (ports 80, 25, 22).<br>
            </blockquote>
            <div><br>
            </div>
            <div>Again, encryption during validation is not necessary
              for there to be a reliable chain of trust from the browser
              to the site certificate, via CA-operated root
              certificates. We need authentication, but only
              authentication, of every step of the delegation of trust.<br>
            </div>
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
              I would go as far as to say that even the ACME methods
              connecting to https URLs are untrusted, because the
              endpoints are not protected by publicly trusted
              certificates and anyone could launch a MiTM attack.</blockquote>
          </div>
          <div><br>
          </div>
          <div> This is a part that really got stuck in my head. Are you
            saying that ALPN-1 is vulnerable to a MITM attack during
            validation? That would be a pretty shocking situation, in my
            opinion!</div>
          <div><br>
          </div>
          <div>How would the attacker get access to the key material
            needed to complete the challenge? It never leaves the
            subscriber machine from what I can tell. Similarly, the ACME
            account key is used in HTTP-01 to render MITM attacks
            ineffective.<br>
          </div>
          <div><br>
          </div>
          <div>This is how the trust in that connection is bootstrapped
            based on the trust in the connection between subscriber and
            CA when the certificate is requested. Presumably
            publicly-trusted certificates are used when the subscriber
            connects to the CA's server to make that request and obtain
            the account key!<br>
          </div>
          <div><br>
          </div>
          <div>This transitivity of trust goes to the issue with WHOIS.
            Even if the registrar is maximally diligent in their key
            ceremonies and internal processes and generating
            certificates correctly, WHOIS-3912 puts a *maximum*
            trustworthiness on the entire operation, which is that of
            unauthenticated TCP. In my opinion, that is not appropriate
            for web PKI, and is a relic of a time before this community
            took technical registration-time attacks as seriously as we
            do now.<br>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    I consider Andrew's <a href="https://lists.cabforum.org/pipermail/servercert-wg/2024-September/004883.html" target="_blank">response</a>
    a lot clearer than mine. I believe it answers your questions and how
    to MiTM the ACME TLS-ALPN-01 challenge.<br>
    <br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div><br>
          </div>
          <div>
            <blockquote> In order for the SCWG measures to be
              proportionate, we should not blame the entire WHOIS
              protocol but work on additional controls to minimize the
              risk of CAs using those problematic WHOIS libraries.<br>
              <br>
            </blockquote>
            Could you describe how a non-problematic WHOIS-3912 library
            could provide assurance of the validity of the data
            returned, equivalent to the integrity of the results from
            HTTP-01/DNS-01/ALPN-01?<br>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Assuming no MiTM, it's no different than any of those methods. The
    CA "trusts" that the information is coming from an authoritative
    source or from a source that demonstrated control of the
    Authorization Domain Name. In the HTTP-01 case, it retrieves a
    random value or request token from a designated URL that contains
    the FQDN to-be-included in the Certificate. In the WHOIS case, it
    retrieves the email address of a tech or admin contact associated
    with the registration of that Base Domain Name.<br>
    <br>
    The .mobi issue, in my understanding, is that some CAs were (still
    are?) using WHOIS libraries that were not looking for the currently
    authoritative Registrar of that TLD. If the SCWG could identify
    those insecure libraries, or if criteria were added to use libraries
    that check for the most recent authoritative source for each Base
    Domain Name Registrar, it would be a good emergency mitigation.<br>
    <br>
    We had a similar discussion when discussing the linting tools. At
    some point we need to add rules for continuous updates, taking into
    account proper testing and change management procedures.<br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div>
            <blockquote type="cite">
              <div dir="ltr">
                <div class="gmail_quote">
                  <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                    <div> Instead, we could focus on requiring
                      immediate/emergency measures for CAs to use the
                      WHOIS protocol securely</div>
                  </blockquote>
                  <div><br>
                  </div>
                </div>
              </div>
            </blockquote>
            <div dir="ltr">
              <div class="gmail_quote">
                <div>This is definitely one place that our reasoning
                  diverges: I don't see a way to use WHOIS-3912
                  securely, where by "securely" I mean "in such a way as
                  to not weaken the DCV guarantees that the web PKI
                  wishes to make".<br>
                </div>
              </div>
            </div>
            <blockquote type="cite">
              <div dir="ltr">
                <div class="gmail_quote">
                  <div> </div>
                  I disagree. We are trying to move from "http" to a
                  "trustworthy https" (note: "trustworthy https" in the
                  sense that it doesn't use untrusted certificates). At
                  some point, CAs need to rely on unencrypted
                  communication to achieve that.</div>
                <div class="gmail_quote"><br>
                </div>
              </div>
            </blockquote>
            <div dir="ltr">
              <div class="gmail_quote">Why do CAs need to rely on
                unauthenticated communication to achieve that? If we
                were establishing the very first root, someone would
                have to carry the key physically to the browser
                developer as a form of IRL authentication, but we have
                sufficient systems in place now to inductively create a
                completely authenticated chain of validation if we
                should want to.</div>
              <div class="gmail_quote"><br>
              </div>
              <div class="gmail_quote">Where is that chain impossible to
                authenticate, in your opinion?<br>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Andrew's answer covers this very clearly IMO. This is just how it
    works. There is no single source of truth or "one key to rule them
    all" that everyone trusts. The closest we have is the DNS.<br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div><br>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
              I'm confused by this statement. Is this a plea to the CAs
              to stop using what you think is an insecure method?</blockquote>
          </div>
          <div><br>
          </div>
          <div>Yes, it is exactly that. I don't know how anyone can
            seriously claim that WHOIS-3912 is a secure method,
            regardless of how high quality the data on the other side
            is.<br>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Then the second sentence of my snipped quoted statement applies:<br>
    <br>
    "Everyone is entitled to an opinion but that's why we are having
    these discussions publicly so that the SCWG members can find
    "substantial consensus" as mandated in the Bylaws. I'm sure some CAs
    are already working, or have already stopped using WHOIS,
    proactively, until this discussion comes to an end."<br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div>
            <blockquote type="cite">
              <div dir="ltr">
                <div class="gmail_quote">
                  <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Domain
                    Registries for validation of domain contacts: domain
                    registry information should, IMO, only be used at
                    *all*, independent of protocol, if the SCWG can be
                    confident that IANA or another trusted body will be
                    able to ensure that all those registries, for all
                    domains present and future, will meet the SCWG's
                    requirements for reliability.<br>
                  </blockquote>
                </div>
              </div>
            </blockquote>
            <blockquote> This is like saying that the Registrars, the
              main stewards assigned to run the DNS which is fundamental
              for how the Internet works and practically the World Wide
              Web, need to meet the SCWG requirements for reliability.</blockquote>
          </div>
          <div><br>
          </div>
          <div>As above, domain registrars do not need to meet any SCWG
            requirements. CAs need to meet the SCWG requirements, and I
            think that those requirements should include minimum
            properties that must hold of a registrar's data management
            practices, and the means of accessing it, if such data is to
            be used as authoritative proof of domain control.<br>
          </div>
          <div><br>
          </div>
          <div>An example: do registrars inform registrants that anyone
            who can receive email at the listed contact address can be
            issued a certificate for their domain? I think that the
            significance of that address as used for DCV is not
            well-understood by most registrants, and that many will send
            that email to ticket/CS lists composed of people who are
            *not* authorized to make changes to DNS, and are not assumed
            to have the same authority for requesting certificates.
            Similarly, I don't think that registrants understand that
            someone popping a domain-privacy provider not only gets
            their email and contact information, but could plausibly
            also silently have certificates issued against their domain.</div>
          <div><br>
          </div>
          <div>If these participants in the ecosystem (registrar and
            registrants) don't regard the email contact field as having
            such immense security significance, then it is unlikely that
            they will manage it with appropriate care. Given that, as
            you correctly point out, the SCWG is in no position to put
            requirements on registrars or registrants, all that we can
            do is say that CAs must not use registrar data unless it is
            managed to an appropriate standard, and accessed in an
            appropriate way. That is *well* within the mandate of the
            SCWG, and consistent with all of its other activities in
            defining validation standards.<br>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    This is a very tough sell because there is no stop to this line of
    arguments. Should CAs also monitor the behavior of Internet Service
    Providers responsible of the Internet connectivity? Should they
    monitor Telecommunication Providers for how they run the SMS GSM
    networks used by CAs to contact Applicants? Should they monitor the
    Postal Services when sending letters to Applicants?<br>
    <br>
    The publicly-trusted ecosystem (WebPKI in the SCWG) needs to rely on
    some fundamental services offered by entities outside the scope of
    the CA/Browser Forum, that are governed by their own policies and
    practices. The CABF cannot police or directly intervene with these
    fundamental services at a global level.<br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div> </div>
          <div>
            <blockquote type="cite">
              <div dir="ltr">
                <div class="gmail_quote">
                  <div> </div>
                  I believe the WHOIS deprecation could follow a similar
                  pattern but for sure the SCWG should urgently focus on
                  requiring CAs to use WHOIS libraries that query the
                  proper Registrar endpoints, IF they are using the
                  WHOIS method to query Domain Contact information</div>
                <div class="gmail_quote"><br>
                </div>
              </div>
            </blockquote>
            <div dir="ltr">
              <div class="gmail_quote">If CAs are going to continue to
                use WHOIS-3912, I think that the SCWG should require
                that the traffic be carried over an authenticated TLS
                channel, or that the response be signed. Anything less
                doesn't address the fundamental insecurity of the
                *access protocol*, whatever the truth of the data
                returned in the request. Do you feel that
                unauthenticated requests over the public internet really
                have a place in DCV?<br>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Based on Andrew's and my answers, I hope you can see that this point
    just doesn't apply.<br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div>
            <div dir="ltr">
              <div class="gmail_quote"> </div>
              <div class="gmail_quote"><br>
              </div>
              <div class="gmail_quote">Saying that the internet is
                fundamentally insecure is like saying that electricity
                is fundamentally insecure, to me. The base protocols of
                the internet, like IP, don't provide sufficient security
                properties given the importance of the modern web. But
                just as TCP provides in-order delivery over un-ordered
                IP, and TLS provides privacy and integrity over TCP
                (which features neither of those, save a trivial attempt
                at integrity aimed at signalling errors and not
                malicious interception), the web PKI can provide
                authentication of domain ownership and connection
                validity by layering appropriate protocols (computer and
                human) atop the less-capable lower layers. That to me is
                the essence of the mandate of the SCWG. We are to TLS
                what ICANN is to DNS: ICANN doesn't say that you can't
                return arbitrary nonsense in a DNS response from your
                server on a private network, but it *does* say that if
                you want to operate a DNS server on behalf of a gTLD,
                you need to meet certain requirements or ICANN simply
                won't point traffic at you. We should "stop pointing
                traffic" at certificates that were validated using
                WHOIS-3912 DCV, and I wish I'd pushed to do so multiple
                decades ago.</div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Apologies for oversimplifying, but I just want to clarify what I
    meant. The Internet was built on some principles. These principles
    included anonymity and clear-text communication. Encryption and
    authentication came later, but they were built on top of the
    anonymous/clear-text layers.<br>
    <br>
    What does "secure the Internet" mean? There are various answers to
    that statement but one answer is "the assurance that communication
    between two points (point-to-point) is authenticated and encrypted".
    For this you need cryptography but you need to solve the key
    distribution problem. One solution is the WebPKI. There are other
    solutions (DANE, VPN, etc).<br>
    <br>
    In order to validate a Domain Name and verify a binding between a
    key and a name, a CA must use some parts of the
    unauthenticated/unencrypted Internet in order to get assurance that
    it is interacting/communicating/contacting the proper and authorized
    recipient. I don't think there is a way around that.<br>
    <br>
    Dimitris.<br>
  </div>

_______________________________________________<br>
Servercert-wg mailing list<br>
<a href="mailto:Servercert-wg@cabforum.org" target="_blank">Servercert-wg@cabforum.org</a><br>
<a href="https://lists.cabforum.org/mailman/listinfo/servercert-wg" rel="noreferrer" target="_blank">https://lists.cabforum.org/mailman/listinfo/servercert-wg</a><br>
</blockquote></div>