Dear fellow X.509 aficionados,

I'd like to share some observations and an idea from a PKIX sibling of
the WebPKI used for Internet routing security. Technical innovation
should of course follow the IETF process; I'm sending this message here
to offer myself as a point of contact for further off-list discussion
with interested parties.

On Fri, Oct 07, 2022 at 10:01:35AM -0400, Andrew Ayer wrote:
> Right.  I'm not seeing any way for a client to avoid the attack
> described by Corey without making assumptions about the CA's practices
> which might not be true in all cases.
> 
> So I have to concur with Corey that there is currently a security
> issue which would allow attackers to tamper with Apple and Mozilla
> revocation systems.
> 
> A simple fix would be to require that CAs use HTTPS URLs for CRL
> shards, though this wouldn't be as strong as relying on indicators
> within the CRL itself.

The issue at hand appears to be similar to some challenges the Resource
Public Key Infrastructure (RPKI) community faced when designing the
foundation for a Secure Internet Routing architecture [RFC6480].

[ crash course: The RPKI is a constellation of Trust Anchors (root
  certs, aka unconstrained CAs), regular CAs (each more narrowly
  constrained following hierarchical IP & AS resource delegations),
  CRLs, and lots of Signed Objects (containers carrying EE certificates
  and payloads relevant to BGP routing). A key point here is that the
  distribution of RPKI data from CAs towards Relying Parties solely
  relies on object security, not transport security like HTTPS. ]

Some risks were identified at the time: (1) RPs must be able to verify
they have the complete set of files in hand the CA intended them to
have; (2) none of the files were tampered with mid-flight; (3) the RP is
not falling victim to replay attacks of previously valid data.

To mitigate the above risks, the concept of "Manifests" was introduced.
A RPKI Manifest [RFC9286] is a Cryptographic Message Syntax (CMS)
protected content type which carries as payload a monotonically
increasing value (manifestNumber) and a listing of pairs of a file name
and SHA-256 message digests calculated over the file's contents. Each
Manifest listing contains the filename of a CRL and the SHA-256 of that
CRL file.

As a certificate can list multiple CRL Distribution Point URLs (pointing
to shards), the WebPKI RP can establish there is a set of files to
consider, and for each file can verify the issuer signature; but cannot
verify whether each file within the set is the most current one, (or
whether the set of files are coherent from a versioning perspective).

On the other hand, RPKI RPs are 'better off' in this regard: they can
compare whether the newly fetched Manifest has a higher manifestNumber
than the (previously fetched, locally cached) Manifest, and each
manifestNumber corresponds to a list of SHA-256 hashes; making for a
great mechanism to robustly deal with distribution bundles of files.

Perhaps a bit of glue is missing in this ecosystem if there are concerns
about replay attacks (or more innocently phrased 'caching decoherence'),
and CRL sharding? Maybe researchers & auditors would benefit from a
RPKI-Manifest-like extension to the products generated by the likes of
Boulder?

I'm happy to share what I know (having authored a few internet-drafts
and some experience implementing RPKI RP software). Perhaps there is an
opportunity here to do better than 'just put the files on HTTPS'! :-)

Kind regards,

Job

-- 
You received this message because you are subscribed to the Google Groups 
"dev-security-policy@mozilla.org" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dev-security-policy+unsubscr...@mozilla.org.
To view this discussion on the web visit 
https://groups.google.com/a/mozilla.org/d/msgid/dev-security-policy/Y0BlqjqWwjhgC/A3%40snel.
  • CRL partitioning and I... 'Corey Bonnell' via dev-security-policy@mozilla.org
    • Re: CRL partition... 'Aaron Gable' via dev-security-policy@mozilla.org
      • Re: CRL parti... Andrew Ayer
        • Re: CRL p... 'Aaron Gable' via dev-security-policy@mozilla.org
          • Re: C... Andrew Ayer
            • ... 'Aaron Gable' via dev-security-policy@mozilla.org
              • ... Andrew Ayer
                • ... 'Rob Stradling' via dev-security-policy@mozilla.org
                • ... 'Aaron Gable' via dev-security-policy@mozilla.org
                • ... 'Rob Stradling' via dev-security-policy@mozilla.org
                • ... 'Job Snijders' via dev-security-policy@mozilla.org
                • ... 'Corey Bonnell' via dev-security-policy@mozilla.org
                • ... 'Clint Wilson' via dev-security-policy@mozilla.org
                • ... 'Aaron Gable' via dev-security-policy@mozilla.org
                • ... 'Corey Bonnell' via dev-security-policy@mozilla.org
                • ... 'Aaron Gable' via dev-security-policy@mozilla.org
                • ... 'Aaron Gable' via dev-security-policy@mozilla.org
                • ... 'Clint Wilson' via dev-security-policy@mozilla.org
                • ... 'Tim Hollebeek' via dev-security-policy@mozilla.org
                • ... 'Aaron Gable' via dev-security-policy@mozilla.org
                • ... 'Tim Hollebeek' via dev-security-policy@mozilla.org

Reply via email to