[cabfpub] CAA concerns (and potential solutions)
pzb at amzn.com
Fri Oct 28 19:19:10 UTC 2016
Sorry, I used the wrong term. “Enterprise EV Certificate” is called out in the EVGs. Upon further suggest taking inspiration from 6962bis and requiring the Enterprise EV Certificate to contain a new extension that has a flag for skipping CAA checks. If the CA wishes to issue the Enterprise EV Certificate for only the purpose of establishing the EV Enterprise RA, then they can mark this extension as critical, which will prevent relying parties from using the certificate for server authentication.
This allows a CA to call their shot so everyone is aware that CAA checking is suspended for a certain domain for that CA. Then the domain owner can complain if that is not what was intended.
> On Oct 28, 2016, at 6:03 AM, Bruce Morton <Bruce.Morton at entrustdatacard.com> wrote:
> Hi Peter,
> I’m not understanding what an “Enterprise EV RA certificate” is. My goal is to allow an Enterprise RA to request the issuance of EV/OV certificates and avoid issuance failure due to CAA.
> From: Public [mailto:public-bounces at cabforum.org <mailto:public-bounces at cabforum.org>] On Behalf Of Peter Bowen via Public
> Sent: Thursday, October 27, 2016 11:33 PM
> To: CABFPub <public at cabforum.org <mailto:public at cabforum.org>>
> Cc: Peter Bowen <pzb at amzn.com <mailto:pzb at amzn.com>>
> Subject: [cabfpub] CAA concerns (and potential solutions)
> From the discussion at the F2F last week and the call today, it seems there are two major concerns about CAA.
> The first concern is that a large organization may have internal miscommunication or disconnects and valid authorized certificate requesters may be blocked from getting certificates. This primarily is a concern for CAs that offer contracts for persistent issuance capability, frequently combined with the CA delegating authority to the organization to act as RA for FQDNs and Wildcard DNs falling within pre-validated domains (“Enterprise RA”).
> In this case, it is very possible that there are three independent portions of the organization: one handling domain registration, one managing DNS, and one managing certificates. These different portions may have little routine interaction and action by one (DNS) could unintentionally negatively impact another (certificates).
> I propose that this be mitigated by adoption a two prong rule for CAA:
> 1) By default CAs must treat the presence of CAA records which do not include them as “hard fail” and not issue
> 2) However, if the CA has issued an Enterprise EV RA certificate containing a valid authorization domain, logged it in at least <n> public CT logs, the CA may treat CAA for those FQDNs and Wildcard DNs matching the authorization domain as “soft fail” and issue even if the CAA record specifies otherwise.
> The CA must internally log any certs that are issued after a “soft fail” and report such via any iodef in the CAA record.
> Additionally, browsers may implement further reporting requirements, such as: CAs MUST send a report at least once every 90 days to <a to be designated location> that lists the number of base domains they issued for after getting a soft-fail. Such reports shall cover a period that begins with the end of the period of the prior report and concludes not more than 7 days prior to the date of the report.
> The second concern is around issuance latency. If a certificate has dozens of subject alternative names or a CA is issuing massive number of certificates the full CAA checking algorithm can be slow, especially if there are no CAA records as each label must be checked back to the root. In order to allow for optimization, I propose the following variances and extensions to the CAA spec:
> 1) a new parameter tag for issue and issuewild properties: “skipsubdomaincheck" which can be “true” or “false”. The default value is “false”. If true, it indicates that a CA may skip checks for more specific subdomains.
> 2) extending the “domain” definition to be (label *("." label)) / “*”; a “*” is an explicit declaration that there is no CA restriction (the opposite of an empty domain name)
> 3) CAs may choose to check starting at the TLD and working their way down the tree of labels rather than starting with all labels and working towards the root. If they choose this option they must use the most specific CAA record found unless they find a record with skipsubdomaincheck=true. If they find such a record, they may use that record and not check any further labels.
> This should allow customers who have a need for massive issuance rates of unique hostnames to enter a CAA record at the common suffix label allowing the CA to have a near 100% cache hit rate on DNS look ups.
> For example, if a customer requests ten million certificates all in the form <some label>.things.example.com <http://things.example.com/>, they can enter a CAA record:
> things.example.com <http://things.example.com/>. IN CAA 0 issue “*"; skipsubdomaincheck=true
> This would indicate any CA may issue and allow the CA to only do the following checks:
> com. IN CAA
> example.com <http://example.com/>. IN CAA
> things.example.com <http://things.example.com/>. IN CAA
> I think that these proposals provide reasonable mitigations for the concerns raised while still allowing CAA to provide significant benefit.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Public