[cabf_netsec] SC28 - improvements?
Neil Dunbar
ndunbar at trustcorsystems.com
Wed Dec 16 12:26:43 UTC 2020
All,
As Ryan properly captured during the last SCWG meeting, the "simple"
reduction of 7 -> 2 years for section 5.5.2 actually does have some
potential interplay with other sections.
Specifically, sections 1.3.2 (which deals with Delegated Third Parties)
and section 4.1.1 (dealing with who can apply for a certificate).
My take is this: an _archive_ is not a live database, and any attempt to
force it to have such characteristics is simply an abuse of the term. An
_audit log_ (to my mind) is something which a CA should be able to
access on a near instant basis to determine what event or set of events
have happened in the recent-ish past. An _archive_ is something which is
retained to perform deep dive investigation to determine systemic issues
which might be affecting the CA.
So my suggestion is to call out exactly what is being required to be
stored and impose retention timelines based on that specific data,
rather than use 5.5.2 as a "catch all".
1.3.2 - Registration Authorities
1.3.2 simply says that before any CA allows an DTP to act on its behalf,
it must (amongst other things) retain records per section 5.5.2. There
is an argument to say that 2-3 years worth of issuance records isn't
really enough to make a solid judgment about whether an DTP is up to the
job. But, rather than referencing 5.5.2, it might be worth explicitly
stating in 1.3.2(2) that an external DTP should retain
issuance/authentication/validation/revocation records for longer than
the {certificate life}+2 years. It's quite possible that an DTP
operating entity is performing this function on behalf of more than one
CA, so the consequences of misbehaviour by that RA contaminate more than
the heirarchies operated by a single CA. If I were wanting an RA to act
on my behalf, I think that only having a 2 year record retention policy
would give me pause. In other words, an RA has a higher duty of
retention than a CA, because it operates at "arms length" from the CA.
Suggested text:
"1.3.2 Registration Authorities
...
2. Retain all documentation pertaining to certificate requests,
verification of certificate requests, issuance of Certificates and
revocation of Certificates. If a certificate request does not result in
the issuance of a Certificate, the request related documentation shall
be retained for at least seven years. If a request results in the
issuance of a Certificate, the documentation shall be retained for at
least seven years after the Certificate ceases to be valid."
4.1.1 - Who can submit a certificate application
For 4.1.1, the position of 5.5.2 is even shakier, IMO. Currently it
imposes a duty on CAs to maintain a database of certificates revoked,
and certificate requests denied, on the basis of phishing or other fraud
related activities. A _database_ is quite clearly a live, queriable
object. An archive is simply a dump of documents, whether structured or
not.
[Note: It's not at all clear if all CAs actually _do_ operate a database
for the purpose of identification of suspicious certificate requests -
certainly many CPS documents make no reference to it in 4.1.1. In
particular, Let's Encrypt in
https://letsencrypt.org/2015/10/29/phishing-and-malware.html state that
they no longer attempt to scan for phishing, so it's not clear if they
store such data]
It's also important to note that no duty is imposed on a CA to block
entities who have been identified as suspicious. In other words, you
must attempt to identify whether a certificate request is dodgy, but you
don't actually need to do anything about it!
Would this not make more sense to explicitly require a timescale in
4.1.1? Something like:
"The CA SHALL maintain an internal database of all previously revoked
Certificates and previously rejected certificate requests, where the
revocation or rejection was caused by suspected phishing or other
fraudulent usage or concerns. The CA SHALL use this information to
identify subsequent suspicious certificate requests. This information
shall be retained for a minimum of seven years after the revocation of
Certificates stored within, or seven years after the request was rejected"
The reason is this: this is probably a small set of data to be
maintained; it also seems clear to me that storing certificate requests
and certificates is pretty useless without the customer information
which goes with it. But record archival in general is a huge chunk of
data. So extending the retention needs for all data just for the sake of
that small data set of rejected requests seems silly.
I would like to impose an actual duty to _use_ this information, but
that's going beyond the purpose of SC28.
What those changes would do is break the link from 1.3.2 and 4.1.1 to
5.5.2, which I don't believe to be well founded. 5.5.2 imposes a duty on
_the CA_, but 1.3.2 imposes a duty on the CA to validate the record
keeping of the RA. 4.1.1 creates the need for a database and links to
5.5.2 to say how long that data should be retained, but 5.5.2 is about
how long data should be archived, rather than maintained in a queriable
form.
If that link were broken, the archive retention time could be brought
down to 2 years after certificate validity as per the original text.
I'd really welcome team thoughts here.
Neil
More information about the Netsec
mailing list