On Fri, Aug 23, 2019 at 2:00 PM Jeremy Rowley <
jeremy...@digicert.com>
wrote:
>
>
> - Could you highlight a bit more your proposal here? My understanding
> is that, despite the Handelsregister ("Commercial Register") being
> available at a country level, it's further subdivided into a list of
> couunty or region - e.g. the Amtsgericht Herne ("Local Court Herne").
>
>
>
> - It sounds like you're still preparing to allow for manual/human
> input, and simply consistency checking. Is there a reason to not use an
> allowlist-based approach, in which your Registration Agents may only select
> from an approved list of County/Region/Locality managed by your Compliance
> Team?
>
>
>
> - That, of course, still allows for human error. Using the excellent
> example of the Handelsregister, perhaps you could describe a bit more the
> flow a Validation Specialist would go through. Are they expected to examine
> a faxed hardcopy? Or do they go to
handelsregister.de and look up via
> the registration code?
>
>
>
> - I ask, because it strikes me that this could be an example where a
> - I'm curious how well that approach generalizes, and/or what
> challenges may exist. I totally understand that for registries which solely
> use hard copies, this is a far more difficult task than it needs to be, and
> thus an element of human review. However, depending on how prevalent the
> hardcopy vs online copy is, we might be able to pursue automation for more,
> and thus increase the stringency for the exceptions that do involve
> physical copies.
>
>
>
> Right now we get the hard copies and turn them into a PDF to store in the
> audit system for review during internal and external audits. During
> validation, all documentation must be present and reviewed. Using OCR
> better, we can always at least copy and paste information instead of typing
> it.
>
I'm a little nervous about encouraging wide use of OCR. You may recall at
least one CA was bit by an issue in which their OCR system misidentified
letters -
https://bugzilla.mozilla.org/show_bug.cgi?id=1311713
That's why I was keen to suggest technical solutions which would verify and
cross-check. My main concern here would be, admittedly, to ensure the
serialNumber itself is reliably entered and detected. Extracting that from
a system, such as you could due via an Extension when looking at, say, the
Handelsregister, is a possible path to reduce both human transcription and
machine-aided transcription issues.
Of course, alternative ways of cross-checking and vetting that data may
exist. Alternatively, it may be that the solution would be to only
allowlist the use of validation sources that made their datasets machine
readable - this would/could address a host of issues in terms of quality.
I'm admittedly not sure the extent to which organizations still rely on
legacy paper trails, and I understand they're still unfortunately common in
some jurisdictions, particularly in the Asia/Pacific region, so it may not
be as viable.
> The process right now is we right a script based on things we can think of
> that might be wrong (abbreviated states, the word “some” in the state
> field, etc). We usually pull a sampling of a couple thousand certs and
> review those to see if we can find anything wrong that can help identify
> other patterns. We’re in the middle of doing that for the JOI issues. What
> would be WAY better is if we had rule sets for validation information
> (similar to cablint) that checked validation information and how it is
> stored in our system and made these rule sets run on the complete data
> every time we change something in validation. Right now, we build quick and
> dirty checks that run one time when we have an incident. That’s not great
> as it’s a lot of stuff we can’t reuse. What we should do is build something
> (that crossing my fingers we can open source and share) that will be a
> library of checks on validation information. Sure, it’ll take a lot of
> configuration to work with how other CAs store data, but one thing we’ve
> seen problems with is that changes in one system lead to un-expected
> potential non-compliances in others. Having something that works
> cross-functionally throughout the system helps.
>
Hugely, and this is exactly the kind of stuff I'm excited to see CAs
discussing and potentially sharing. I think there are some opportunities
for incremental improvements here that may be worth looking at, even before
that final stage.
I would argue a source of (some of) these problems is ambiguity that is
left to the CA's discretion. For example, is the state abbreviated or not?
Is the jurisdictional information clear? Who are the authorized registries
for a jurisdiction that a CA can use?
I can think of some incremental steps here:
- Disclosing exact detailed procedures via CP/CPS
- An emphasis should be on allowlisting. Anything not on the allowlist
*should* be an exceptional thing.
- For example, stating DigiCert will always use a State from ISO 3166-2
makes it clear, and also makes it something verifiable (i.e. someone can
implement an automated check)
- Similarly, enumerating the registries used makes it possible, in many
cases, to automatically check the serialNumber for both format and accuracy
- Modifying the CA/B Forum documents to formalize those processes, by
explicitly removing the ambiguity or CA discretion. DigiCert's done well
here in the past, removing validation methods like 3.2.2.4.1 / 3.2.2.4.5
due to their misuse and danger
- Writing automated tooling to vet/validate
The nice part is that by formalizing the rules, you can benefit a lot from
improved checking that the community may develop, and if it doesn't
materialize, contribute your own to the benefit of the community.
> A better example in some-state. We scanned for values not listed as states
> and cities that have “some”, “any”, “none”, etc. That only finds a limited
> set of the problem, and obviously missed the JOI information (not part of
> the same data set. Going forward, I want a rule set that says, is this a
> state? If so, then check this source to see if it’s a real state. Then
> check this to see if it also exists in the country specified. Then check to
> see if the locality specified exists in the state. Then see if there is a
> red flag from a map that says the org doesn’t exist. (The map check is
> coming – not there yet….) Instead of finding small one off problems people
> report, find them on a global scale with a rule we run every time something
> in the CAB forum, Mozilla policy, or our own system changes.
>
Yes, this is the expectation of all CAs.
As I understand it, following CAs' remediation of Some-State, etc, this is
exactly what members of the community went and did. This is not surprising,
since one of the clearly identified best practices from that discussion was
to look at ISO 3166-1/ISO 3166-2 for such information inconsistency.
SecureTrust, one of the illustrative good reports, did exactly that, and
that's why it's such a perfect example. It's unfortunate that a number of
other CAs didn't, which is why on the incident reports, I've continued to
push them in terms of their evaluation and disclosure.
This is the exact goal of Incident Reports: identifying not just the
incidents, but the systemic issues, devising solutions that can work, and
making sure to holistically remediate the problem.
>
> - You describe it as "validation rule" changes - and I'm not sure if
Yes, this is the goal, and I'm glad to hear some CAs are recognizing this.