ehn-dcc-development / eu-dcc-hcert-spec

Electronic Health Certificates Specification
363 stars 40 forks source link

Is the spec defining a Universal Public Certificate resolver? #70

Closed vitorpamplona closed 3 years ago

vitorpamplona commented 3 years ago

In other words, can a verifier unpack a new HC1 payload realize the signature is unknown and call a resolver to automatically find, download, and install the referenced certificate chain and use it to verify the payload?

dirkx commented 3 years ago

In other words, can a verifier unpack an HC1 payload,

Yes. find and download and install the referenced certificate chain and use it to verify the payload?

Yes if it has this hardcoded in its software -and- that country gives access to this (the Netherlands will do so - it will be on a public CDN).

Most countries will highly optimise this - e.g. see the payload on https://dgc.idsec.se/tp/ and https://github.com/DIGGSweden/dgc-trust/blob/main/specifications/trust-list.md for an example.

Dw.

vitorpamplona commented 3 years ago

But my question is, would there be a single resolver to figure out which country the HC1 comes from and then download the key automatically so that verifiers don't need to know which country is doing what?

vitorpamplona commented 3 years ago

In other words, how do verifiers know that if they have a Sweden certificate, they need to download public keys from https://dgc.idsec.se/tp/trust-list?

Manually hardcode each country's download info?

vitorpamplona commented 3 years ago

On a regular Verifiable Credential, this is generally solved with a Universal DID resolver (such as https://dev.uniresolver.io/), or a DNS Resolver if the key is on a record whose direct link was signed inside the payload.

asitplus-pteufl commented 3 years ago

so we have two components, (1) the EU trust gateway, which is not publicly available, but contains all DSCs and CSCAs for all member states (2) a national trust list.

how the national backend distributes this information to its verification apps is up to the national backend. here is the austrian overview:

so there is no defined place where an arbitrary app can go to and download the DSCs, but in theory (from a technical point of view) some publicly available national trust lists could be used.

asitplus-pteufl commented 3 years ago

so to answer your previous question, e.g. a German validation app will not need to go the Swedish trust list, but just take the information from its national trust list that contains all the DSCs.

vitorpamplona commented 3 years ago

Ok, should we start creating a Universal Public Certificate resolver, then?

Because, as an independent verifier, not attached to any state, I need a place to get a single new key that follows the same format for all HC1 and that I can make sure all keys using HC1 are there.

vitorpamplona commented 3 years ago

Something like hc1resolve.io/<KID>

asitplus-pteufl commented 3 years ago

a careful answer, since I do not know to much details on the gateway (from a legal perspective): I think that only the member states would get direct access to the gateway, since there is an upfront manual registration process which registers the client TLS certificates that are required for access. If it is legally fine, you could probably also take a national trust list which is offered publicly.